I’ve gone back to watch Uncle Bob Martin’s presentation “Agile overview” from NDC 2010 (while you’re at it check his “The land that scrum forgot”, the man is such a storyteller!). In the presentation, Bob tells about Winston Royce’s study “Managing the development of large software systems”, from 1970. This article is the origin of the waterfall methodology, although the word waterfall does not appear in it.
Here’s Royce original waterfall diagram:
Royce saw the waterfall method as an ideal, and you maybe surprise to learn that he recognized it won’t work in practice (see the first sentence under Figure 2). Not only does he say so in this very article, he also explains why:
Royce identified the feedback loops that make agile so powerful. He noted them however as obstacles to the flow of the waterfall.
That’s all history, of course. Apparently, too many people didn’t flip to the next page, to see who the killer of billions of dollars was. What possessed so many in our industry to follow a model that even its parent says is flawed?
I don’t know the real answer (if you do, let me know!), but I do have a theory.
The waterfall model is simple, and understandable to common people. And by common I mean regular business people. It’s easier to wrap our mind around the simple (yet flawed) waterfall model, than accept and deal with the actual interruptions caused by real life.
Come to think about it, this is similar to another model that is winning the hearts of many people: Scrum. Scrum is now the agile method of choice in mainstream. Scrum is easily understandable by business people, since its based on familiar processes, and doesn’t require understanding of geeky development practices.
What do you think? Why did waterfall succeed? Is scrum destined for the same fate?