Skip to the content.

Waterfall. The misunderstood concept in software engineering

Table of content

The wrong meaning

Managing the Development of Large Software Systems” is a paper published in 1970 by Winston W. Royce, which outlines a traditional sequential software development process that is sometimes referred to as the “Waterfall” model. The paper describes a linear approach to software development, where each phase of the development process (requirements, design, implementation, testing, and maintenance) is completed before the next phase can begin.

Royce presents this model as a response to the increasing complexity of software projects and the need for a structured, disciplined approach to software development. However, he acknowledges the limitations of this approach, particularly when it comes to dealing with changing requirements or unexpected issues.

Overall, the paper is an important historical document in the field of software engineering, as it helped to establish the Waterfall model as a widely accepted approach to software development. However, it has also been criticised for its inflexibility and its failure to account for the iterative and collaborative nature of modern software development.

The True meaning

The paper “Managing the Development of Large Software Systems” by Winston Royce is often cited as the origin of the Waterfall model, but it actually critiques the Waterfall model as being too rigid and not suitable for most software projects.

In the paper, Royce argues that a more iterative and incremental approach is needed for large software projects, which would involve feedback loops and continual reassessment and modification of requirements and design. This approach is more similar to modern agile methodologies, which emphasize adaptability and collaboration.

The paper presented a sequential, non-iterative model for software development. However, was often misunderstood to promote the idea of a rigid, inflexible, and linear development process that must be followed in a strict order. This was not the intention of the author, who actually stated that the model was risky and recommended additional feedback loops and iterations.

The waterfall model was never intended to be a prescription for software development, but rather a model to illustrate the stages that a software development project goes through. It was meant to be used as a starting point for discussions about the development process, and to help managers understand the risks associated with each stage. However, the model was often taken out of context and used as a strict set of guidelines, leading to a misunderstanding of its intended purpose. This misunderstanding contributed to the development of more flexible and iterative approaches to software development, such as Agile methodologies.

So, in summary, the paper critiques the Waterfall model and advocates for a more iterative and incremental approach, which aligns with modern agile methodologies.

Summary on the paper

This article is about managing the development of large software systems. The author, Dr. Winston W. Royce, shares his personal views and experiences on how to achieve success in this challenging field. He proposes a five-step process that he believes can reduce the risks and costs of software development. Here are the main points of his article:

References

Original paper