Wednesday, October 21, 2009

Agile: Fail-Fast vs Perfect

One of the benefits of Agile software development is, quite simply, that it allows you to fail fast. If you assume that most first efforts are going to be failures, this becomes a very attractive feature. Build something, get very concrete feedback that shows you why your creation is a failure, and then incorporate that feedback into version 2.

Fast-fail saves immense resources. Because in software development, perfecting, polishing and productionizing takes a TON of work. With Agile, you don't go on to make those investments in a version that is going to be thrown away. You only undertake that very heavy lifting when you have something that sticks to the wall.

An incidental benefit to this arrangement is that the results the 3Ps will be higher quality, and probably more efficiently achieved, because you are documenting something concrete and complete, as to something that is an evolving work-in-process.

No comments:

Post a Comment