Monday, December 11, 2006

Agile vs waterfall

A nice description of agile software development for the lay person: Another sideways look at Agile, passing Waterfalls on the way The reason waterfall fails is that the world changes. With agile you get usable pieces of software on your way to the barn. When the location of the barn keeps changing your mistakes aren‘t so catastrophic. You have to accept up-front that the location of the barn is going to change. It always does, because our ability as humans to see the future is somewhat limited.

Agile does not mean short-term, in fact it is the opposite. It creates sustainable incremental value. Waterfall, on the other hand, seems to be long-term, but is actually about the worst form of lock-in. A design lock-in before you have enough information, just to prevent you from having kittens right now. Is there anything more short-term than that?
I used to be more tolerant in the past, and used to accept that Agile and Waterfall are different horses for different courses. I now realise that’s a lie, an invidious one. Why? Because I accepted the theory that some projects were large, didn’t change much, could be planned in real detail in advance, had everything known about them, and didn’t need Agile. Now I have a better word for such projects. Failures. Expensive ones.

This relates to Jason‘s post of yesterday: Whew, That’s some park, that park jurassic which is a good read on project management.

No comments: