Agile Supports Software Success

Dan_Head_ShotAgile posits this trade off: that creative projects, such as software development, have such huge market, technical and budget uncertainty, that we should pay the high expense of repeated regression testing, packaging, deployment, and rework, to enable us to test our market and technical theories early and often, adapting our approach as we learn more.

Here is my elevator description of Scrum: it is rhythmic experimentation to improve production.

You don’t need agile/Scrum methods if you are certain of market, process and technical perfection or near-perfection. We have nothing to learn with such certainty, so experimentation is useless.

However, the billions of dollars wasted in failed software projects (see IEEE Spectrum 2005, “Why Software Projects Fail”) at abject failure rates exceeding 50% indicate that confident waterfall engineers are dangerously arrogant. We have much to learn about making more successful software projects. It is true that there are charlatans and religious zealots in the agile crowd, and I apologize for them, but there is growing evidence that agile practices are highly correlated with successful, low-cost projects, and enormously successful startups.