Monday, January 02, 2006
Certain cultures outside of the Americas can appreciate the values that SEI/CMM upholds including hierarchies, documentation, roles, stability and rules. Of course these same values do not align to the Agile Manifesto. Likewise, enterprises that embark on the journey of outsourcing over time realize that there is a difference in simply hiring coders for cheap and guiding them via heavyweight process vs those enterprises who eschew outsourcing and instead focus on hiring good developers.
Imagine a hundred person project (many enterprises seem to only outsource in the large without figuring it out in the small first), scheduled for a year, or 200,000 person hours. Of the 100 people on the project, how many are actually coders? We guess maybe 40. So there will be 80,000 programmer hours.
How much programming will these coders actually do? In a traditionally executed project,they clearly spend the bulk of their time preparing for meetings, attending meetings,writing documents, writing comments, and reading documents to figure out how to write their code and defending every decision to the folks onshore. At best, only 25% of their time is actually spending time writing code. Does anyone think that outsourcing can possibly work over the long haul if the real problems of software development haven't been addressed?
What are enterprise architects busy doing in these corporate environments? Are they busy drawing pretty cartoons (oops, meant to say architecture) such that executives can understand the grand vision? Maybe they should focus on the human aspects of technology and kidnap the folks in their enterprise that allow bad behaviors to persist?
Maybe outsourcers will start encouraging enterprises to get stronger in the practice of enterprise architecture so they can guarantee their own success. Maybe these same outsourcers would consider telling their clients that EA frameworks is simply a bad idea. While they are at it, they could provide whitepapers outlining better practices for outsourcing with EA as its core. Maybe the outsourcers themselves could start reading books such as Practical Guide to Enterprise Architecture so that they are familiar with both sides of the operation? Maybe books as these should become mandatory reading for an entire outsourcing team, not just select individuals who take their own initiative to read?