Sunday, July 17, 2005

Great comment on the waterfall methodology

In Agile Project Management with Scrum (Microsoft Professional)
In retrospect, the more we improved the practice of software engineering, the further we windened the gap between stakeholders and developers. The last step in the estrangement was the introduction of waterfall methodology, which embodies all the flaws of sequential development. Waterfall methodology gathers all the requirements, then creates the design, then writes the code, then develops and runs tests, and finally implements the system. Between each of these steps, or phases, were review meetings. Stakeholders were invited to these meetings to review the progress to date. At these meetings, developers and managers would ask customers, "Do these reuirements that we've gathered and the models that demoonstrate them constitue a full and accurate representation of what you want? Because once you say yes, it will be increasingly expensive for you to change your mind!" As you can see, this wording implies a contract between the customer and the developers. By this point, there was little in-person collaboration; in its place were contracts that said, "If you agree with what I showed you is the complete dsescription of your requirements, we will proceeed. If you don't agree, we'll continue to develope requirements until you give up!"
And that is pretty much how it works. As bad as it sounds in hindsight, it was a step forward and got us to where we are today with Agile, imo. Still - there are people that don't recognize the above and continue using it.

No comments: