Frank Hayes of ComputerWorld makes a few good points about the commoditization that is happening in the IT sector:
It's a matter of supply and demand. There are lots of programmers out there -- and with offshoring, "out there" gets bigger every day. With that much supply, programming skills can't command the extra money they once did. They're a commodity, and they're likely to keep getting cheaper.
If you're a programmer, that should make you worried.
If you're an IT manager, you should be worried, too. On the one hand, you can't afford to keep a lot of expensive commodity programmers on staff. On the other, some of those programmers know your systems -- and your business -- intimately. And that knowledge can make a huge difference in the business value your IT shop can deliver. It's an asset you can ill afford to lose.
I have some doubts about offshore development - unlike manufacturing, we don't really have well understood best practices - and it seems to me that offshoring could easily lead us back to the old "Ivory Tower" days, where business throws requirements over the wall, and N months later, the offshore staff throws an application back. With the communication difficulties imposed by timezone and culture, I rather suspect that this is a floater left in the offshoring pool that no one is talking about (yet). On the other hand, since local IT staff have been so lousy at delivering quality in a timely fashion, non-IT management may not notice - to their mind, it sucked before, so what if it sucks after? At least the suckage comes at a lower cost. The interesting part of Hayes' article comes later:
That means it's time to start redefining your programmers.
Not just renaming them all as "analysts," or prettying up their job descriptions with businessy jargon. But actually redefining what they do in the context of your business organization.
You can't afford programmers who are just good at writing code. What you want your programmers to do is to understand your business processes -- and how to use software to automate, streamline and even revolutionize those processes
That's a good point, and an excellent recommendation. There's a simple issue though - it assumes that the CIO is on board with the idea. In my experience, lots and lots of CIOs are very disconnected from business reality. They are off worrying over trivia that has nothing to do with what the business actually does. Before you can have an IT staff full of business analysts, you have to have a CIO that is a business analyst. How many outfits have that?