Thursday, February 7, 2008

7 Things CIOs Should Know About Agile Development

Nice article on CIO about management consequences of adopting Agile methodologies. My favourite "thing to know" is #6:

6. Agile Isn't a Silver Bullet

I have long been a proponent of Agile methodologies, particularly eXtreme Programming. And the thing I like most about them is how they build upon the notion that there is no silver bullet.

For Agile methodologies, there is no magical interview process that will flawlessly capture the system's requirements; the only way to be sure of what clients want is to ask them, ask early and ask often. There is no magical coding process that will yield quality code; the only way to avoid bugs is test the code, test early and test often. There is no magical documentation that will perfectly describe the system's inner works; the only way to preserve programmers' knowledge is share it, share early and... You get the idea.

For some years now, fragments of Agile methodologies have been pouring into the mainstream, particularly in coding tools: refactoring and automated testing, for example, are now an integral part of widely used IDE's such as Eclipse. But there is still a long way to go before their most important contribution – the conclusion that processes don't drive themselves, and people are the most important asset of any project – truly becomes a part of our industry's culture.