One of the things I'm always amused/frustrated by is the relationship between technology and its customers. I've yet to see a formula that really "works", and I'm interested to hear what the community has to say on this topic. Here's a numbered list (just to make it easy to reference) of some of the ways I've seen it done at various places (no, I'm not telling how we do it where I work right now, or if it's even listed below...these are just some examples to hopefully start some conversations):
- Shared IT - all the customers share a single group of IT resources. This is good on the IT side; in theory it keeps you from having a bunch of different teams all doing the same thing, and doing "their own take" on different initiatives. Take ECM (gee, imagine that I'd choose that as my example!), for instance - in a nightmare scenario, with different IT departments for each LOB - one team uses SharePoint, one uses FileNet, one uses Documentum, and suddenly you're playing the federation or cross-repository searching game if you're lucky and the "people have to look in many different places for their documents" game, or worse "I need to migrate and integrate a bunch of disparate systems" game, if you're not. However, this approach isn't without drawbacks - customers all think they are the most important, and don't realize it's a shared pool of resources (or, they realize it, but they don't care); you can end up with a giant monolithic organization so full of bureaucracy that it can't execute even simple IT projects in a timely manner; or have a variety of other issues that I'm sure you can name!
- Each customer has their own IT - kind of the opposite of the scenario above, probably speaks for itself in terms of the pros (more agile, closer to the customer's requirements, etc.) and cons (everyone doing their own thing, no standards, etc.) ...
- Customers don't interact with IT at all - usually this involves a middleman of some sort, a "people person" (if you catch the Office Space reference). Don't even get me started on this one - not only is it overhead from a staffing point of view, but you also get horribly confused requirements and question exchanges - it's just like the classic game of "telephone" that many people played as kids...by the time it gets from one end (the customer) to the other (the IT staff), and back again, it's never right!
- Customers just do their own thing - ah, the salesman's dream! No IT involved at all, show the customers directly "how easy" it is, and they buy it, then they can't figure out how to implement it...time for professional services!! Sarcasm aside, sometimes this seems to be the best approach, and it definitely works in the small company environment where there's just one or two "IT Guys" that are really just a part of the organization. But how do you scale this?
I'm sure there are others, I'm interested in hearing how it's done where you work, or if you can't say, maybe just your own personal opinion on how you think it should (or should not) be done, as I surely don't have the answer - well, other than to reboot, that's always the answer!