Tuesday, July 25, 2006
Why IT in large enterprises can never be agile...
If you have read my blog for any extended period of time, you may have noticed that I think the phrase IT should align with the business is bullshit. How can you ever hope to align if you outsource the whole damn IT staff to suboptimal locations such as India or China? Shouldn't alignment help business users get higher quality working software instead of making it even more difficult for the business to communicate with IT?
Maybe alignment is today's secret codeword for increase risk, don't be patriotic and of course make delivery of high quality valuable working software less important than project plans, methodologies, maturity models and governance practices? We all understand intuitively that direct communication has a dramatic effect on reducing risk on any undertaking but lets ignore this for a moment and consider best practices of outsourcing. Direct communication no longer matters when we can have onsite liasons who communicate on our behalf to offsite liasons.
In modern IT development in most corporations, developers usually never get the opportunity to talk to real world customers. At least they were three or so degrees of separation between them. As IT further aligns itself with the business, we have ensured that developers now have a minimum of two additional folks (degrees) between them and the customer.
Some will think it is unfair for me to attack outsourcing and their practices. There may be some truth to this. Maybe the real problem isn't with outsourcing firms in India and China (not really) but more of the problem resides in the IT executives that made this decision in the first place. If you have the tolerance to attend any industry analyst conferences targeted at CIOs and can endure the ardous buzzword laden presentations, one theme resonates in the hallways that is somehow managed to be the new drug that CIOs smoke (most won't admit to inhaling) is the believe that it takes a long time to develop IT applications.
I wonder why in the dot.com days, a team of individuals was able to within six months time build an entire online bank from scratch yet nowadays we cannot even outsource production support for an existing stable application to folks in India and China within a year's time? Does your CIO have the aptitude to learn from the work effort of others or are they busy throwing daggers when others are more productive than them?
Awhile back the Ruby community at some level attacked me when I said that productivity of an individual no longer matters but at another level others chimed in and agreed. I wonder CIOs could learn something from the likes of Martin Fowler, Scott Ambler, Chris Petrilli, James Robertson, Nick Malik and others or will they simply continue to choose a convenient stereotype that suits their own personal needs but not the needs of their busineess?
Anyway, the biggest problem I see with IT aligning with the business is the sage wisdom held by many CIO's that get it twisted and think that developers lack the ability to communicate with the business. Someone needs to kidnap these fools. This in my humble opinion is the one thought process that needs to be taken out and shot along with those who oft repeat it in order to enable agility. Sadly, the problem will continue to fester as most enterprise architects who are the only ones that have the potential of doing something about it are asleep at the helm...