Something occurred to me today. Last year a work mate and I were talking about virtualization. This is one of those areas in I.T. where the technology isn't the focus of the decision making process, but rather, those implementing it.
So say you're wanting to consolidate all of those big noisy servers which have their own room and rack and want to instead shift it all to one big noisy server (which should save on air conditioning costs though there is something to be said about a single hardware failure bringing down a big chuck of infrastructure). So you ask around. Various IT people will have looked at different preferences for virtualization technologies.
So what do you do to research virtualization approaches? In a big data centre you're going to need someone experienced... so you're at the whims of that person unless you hire on the basis of the chosen technology. Of course, that then begs the question, how is that decision reached at? Looking at "best practise"?
But then, if we widen the scope a bit, this is true for just about any solution in computing. A few years ago I was listening to someone describing their perfect solution to their I.T. provider. It involved giving users access to files that had been assigned to them while still having the flexibility to work within the applications they chose with minimal interruption to workflow (i.e. checking files in and out should happen automatically).
I'm sitting there and thinking that I could accomplish this in Linux. It would take a hell of a lot of development but it would be brilliant! Something designed exactly how the user wanted it. And it was an opportunity - build a database on top of this work and you could have the workflow described and enforced within a system (rather than having a secretary running around trying to keep things in check).
Their provider sort of shrugged his shoulders and that was that. He was incapable of achieving it. He did lamely suggest a Microsoft solution that might or might not be able to do what was being suggested... But that was about it.
So how many people out there are being limited by the people they've got involved? Even worse, those people who might have different ways of thinking are essentially paid to sell a particular solution. We describe IT companies as being a "Microsoft Shop" or an "Apple Shop". Hell, even Linux people (real Linux people....) tend to think about things a little differently. And let's face it, out of the box solutions are cheaper (but probably lack those things that would make the solution become a differentiation point for a business).
Which all leads to the fact that technology is effectively stalled in the need to sell particular services and solutions.