Everything you think you know about Waterfall development is (probably) wrong

Well, according to the guy who wrote the original paper at least. What follows are some rather cheeky comments from me and some copy / paste of some diagrams from the original paper along with some text from

Waterfall Accident: The waterfall model is not what we think it is

What we today know as the waterfall model comes from a paper with the title “Managing the Development of Large Software Systems”, written in 1970 by Winston W. Royce. On page 2 it contains the famous diagram with the cascade starting at “System requirements” on the upper left, continuing on through “Program Design” and “Coding” down to “Operations” on the lower right.

riskyWaterfall

But nobody seemed to notice that Royce does not promote this model… He then goes on to promote a different process – he recommends to “do it twice” by building a throw-away “pilot model” first to explore novel elements and unknown factors.

By now you may be thinking this is some clever photo-shopping, but it’s not – I just put some text in red, the arrow, box and blew up Royce’s original text which really is written underneath the diagram. Don’t believe me? Read a PDF of the original paper. Do you think the paper is a hoax? Then try googling “Managing the Development of Large Software Systems pdf” and read any scan – they all say the same thing!

Are you in shock? Most (waterfall) people are when they are first exposed to this (I’ve literally seen people stagger backwards) because it says that the waterfall model is fatally flawed, risky and prone to failure. Yet we’ve been told the opposite throughout our education and careers: “the waterfall model is boring, a bit long winded, but safe”. But it’s not – it’s “risky and inviting failure”!

“Ah, but we’ve refined it through years of experience and it works now” you may say. I’m afraid not – report after report shows a high failure rate for large IT projects (mostly of which are implemented using Waterfall). For example a recent McKinsey / Oxford report, referred to by Gartner said

Half of IT projects with budgets of over $15 million dollars:

    • Run 45% over budget
    • Are 7% behind schedule
    • Deliver 56% less functionality than predicted

Remember, this is not your fault if you didn’t know about this. It’s been one of the biggest mistakes / cons in the software industry depending on which view you adopt. The big question is what are you going to do about it now you do know?…

Well that’s easy, just go to the next page on Royce’s paper where he outlines iterative development:

iterativeWaterfall

Yes, that’s right, Walker Royce, acknowledged as “one of the leaders in software development in the second half of the 20th century” essentially invented Iterative Development* and not Waterfall in 1970 over 40 years ago. If only people had read the paper fully and looked at the diagram after the first one.

But maybe you want to go further? There’s a whole world of Agile, Scrum, Kanban and many other things that await you. The rest of the industry has been working away…

* He refines the above to “Do it twice”. Iterative Development as outlined by the Open Unified Process is really “Do it n”

PS There’s a large lesson in effective communication too… it’s the old classic of summarising your conclusion first, lest someone interpret your first step of reasoning as the actual solution as in this case.

Advertisements

4 comments

  1. lambdaclef

    It was Winston Royce who wrote this paper. Walker Royce is his son

    Also, The paper goes a lot further than you say. Look at the diagram on the last page.

    • son123

      indeed, waterfall model is bad when implemented on big and large scale projects. everyone who have enough experience with project management knows that.

      • changearc

        Thanks for the comment son123. I’d probably add predictability which applies on all scales. I worked for a Frigate builder – very large scale and waterfall. Wasn’t a problem though as they built many of the same, just with small incremental updates. The problem as we both know is that software in general isn’t like that ;-)

  2. Pingback: Project Post-Mortem | Walden Reflections

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s