Waterfall as a project management methodology was firstly(1) described through a paper written in 1970 by a computer scientist, Winston W. Royce. Interesting is that, in this paper, with the title “Managing the development of large software systems”, Royce never used the term “Waterfall”.
The term seems to be used for the first time in another paper written by T. E. Bell and T. A. Thayer, “Software Requirements: are they really a problem?”. They referred Royce and “his” methodology in the following way:
“in an excellent paper by Royce [5]; he introduced the concept of the "waterfall" of development activities. In this approach software is developed in the disciplined sequence of activities(...).”
The foundation of Waterfall came from the “step-by-step manufacturing models the United States military used during World War II” and it started to be used in computer projects in the 40s and 50s, when “computers might have thousands of physical vacuum tubes but fewer than 30 lines of programming code”. As underlined by Layton and Ostermiller (2) too, “People in the computing field adopted these step-based manufacturing processes because early computer-related projects relied heavily on hardware, with computers that filled up entire rooms. Software, by contrast, was a smaller part of computer projects”.
What Royce does in his article is to criticize the project management methodology that was used because it “is risky and invites failure”. So, we can understand that although he presents formally the Waterfall methodology, he assumes that it is not perfect and it should have some changes “that are necessary to transform a risky development process into one that will provide the desired product”.
The author presents four approaches related with the implementation steps to computer program development. All of them have “analysis” and “coding” as essential steps in common and are easily understandable through the use of many diagrams. The most important is the fourth approach, which “illustrates the problem” in regards to managing the development of large software systems.
![]() |
Royce's fourth approach |
It is impossible to be confined to successive steps, according to Royce. This means that in the “testing” phase we would need to come back to the “program design” phase and from here to the “software requirements'' phase. Typically the original idea of Waterfall is that you move to the next phase only when the prior one is complete. And, by practice, Royce concluded that it is not a real approach or vision of software development reality.
As a result, he proposed to add five steps to the used methodology in order to improve it. The first step is “program design comes first” - between “software requirements” and “analysis” -, the second one is “document the design” - to Royce “Management of software is simply impossible without a very high degree of documentation” and, for example, “during the test phase, with good documentation the manager can concentrate personnel on the mistakes in the program”, the third is “do it twice” - it is like to repeat for each step all the other steps - , the fourth is “plan, control and monitor testing” and the fifth is “involve the customer”.
![]() |
Royce's final approach with improvements to the methodology |
Despite this proposal of Royce making us remember some Agile ideas, what remained for companies about Waterfall methodology is the sequential idea of a set of steps that should be strictly followed until the conclusion of the project and its delivery to the customer.
![]() |
The main ideas of his final approach |
------
(1) However, in 1956, Herbert D. Benningtion presented a paper, “Production of Large Computer Programs,” in which he described the use of similar phases in software engineering, used and more developed later by Royce. Still before Royce and after Benington, in 1961, W.A.Hosier W.A. Hosier, wrote the paper “Pitfalls and Safeguards in Real-Time Digital Systems with Emphasis on Programming” with some approximations to the waterfall model too.
(2) (2017) Agile Project Management for Dummies
Comentários
Enviar um comentário