Waterfall model
Summary
Contents |
The Big Idea
Description of the model in phases
The waterfall project management model is broken down into a series of consecutive stages. The classic model has six phases:
- 1- Requirements
This phase corresponds to the expression of needs [6]. First of all, the customer's requirements for the product are documented: the functions and the expected performances. The customer and the project team work together to establish a Requirement Specification Document [2].
- 2- Analysis
In some models, the analysis phase is included in the requirement phase [2]. In this second step, the requirements are analysed and the schemas and models for the product are defined.
- 3- Design
From the specifications, the functions and requirements are transformed into a feasible product. The product is specified and its architecture is designed [11].
- 4- Implementation
This step is the passage in a concrete phase of realisation of the product. While the first three phases are more about planning and mock-up, during this one, a first version of the product is developed [1].
- 5- Testing and Validation
The completed product undergoes a series of tests to compare it with the specifications and verify that it meets the requirements. During this phase, we identify the defects of the product. The quality of the final product depends largely on the efficiency of the testing phase [2]. At the end of this phase, if it passes all the requirements, the product is validated.
- 6- Release
Once a final product is approved, its commissioning is prepared. Then the product is installed and used [6].
A final maintenance phase is added, often in software development companies [11]. This seventh phase corresponds to the work of the company to make sure that the product works as expected once implemented and to intervene in the opposite case to solve problems that may arise. Like a waterfall, the different phases of this model follow each other consecutively and chronologically. One cannot move on to a new step without having validated the previous one and each step must be accompanied by solid documentation. The first person to theorise this model was W.W. Royce in 1970. In his article: Imagining the development of large software system, he represents graphically the phases of the model without using the name waterfall. In his article, Royce already criticises this model at the time [1].
Applications
Advantages of the model and when to use it
The Waterfall Model, by the triviality of its features, has many advantages that explain why it has been and still is massively used.
- Simplicity
First of all, this method is quite simplistic in its architecture, which makes it easy to understand [2] for the various stakeholders of a project. It is also easy to use by project managers [2]. The management and implementation of a Waterfall Model as a project structure presents little challenge: the structure is clear and explicit and requires few resources and management knowledge to follow the model [11].
- Consistency
In this model, the requirements analysis is rigorous and detailed. The requirements are deepened in the early stages of the project and are set in such a way that they are not modified once the requirements phase is closed [11]. This way, the basis of the requirements is solid and can be referred to continuously during the project [1]. In addition, the Waterfall Model implies the production of detailed project documentation that traces all the stages and architecture of the project and its development. This documentation is used both for the smooth running of the work and for future projects [2][6].
- Control
Finally, a project following a Waterfall Model will be easy to control for both the client and the project management team. The client can control the progress of the project through the numerous reports and the comprehensive project documentation [11]. Stages and deliverables are defined in advance and it is easy to distinguish the different phases by their deadlines [2]. In this way the project is made predictable [6]. Furthermore the structure of the Waterfall Model is such that it is possible to determine the final cost of the product and to give a date of commissioning before starting the development which is a real advantage for the customer. Moreover, the management of a project following this model is facilitated: the fact that the phases are carried out one at a time and successively allows for departmentalization between these phases [2]. Finally, iterations and changes are only made between adjacent phases, which limits changes [1].
- When to use Waterfall Model ?
Due to its characteristics and advantages, it is preferable to use a Waterfall Model under certain conditions. In Software Development Lifecycle (SDLC), the Waterfall Model is often suggested for small projects with little development [2] [11]. N. B. Ruparelia adds that the Waterfall Model is the most efficient for software development "that provides back-end functionality". However, W. van Casteren defends more generally (outside the SDLC) that in very large projects the Waterfall Model should be chosen for its advantages [8].