This is the classic model that was used in the early days of development and is still actively used today. Its principle of operation is quite simple: each subsequent stage is performed only when the previous one is completely finished. There is a clear division of stages and the development proceeds as if in a cascade, gradually descending from the first to the last.
This model of software development is quite rigid and has strict rules. It clearly defines the timing of each stage. But there is a drawback: it is very difficult to make a step back. Making changes to an existing project is very expensive and problematic. This method is only suitable for projects that are clearly scheduled, there is a complete understanding of what is created, for what purposes and what the requirements are.
You can use this approach if you have a detailed prototype or an existing similar application. In addition, the cascade model should be used when working with government agencies, where it is important to strictly submit reports, follow the schedule and not deviate from the original plan.
Advantages of “waterfall”
- It is easy to control the development. The customer always knows what the programmers are busy with at the moment, and can control the timing and cost.
- The cost of the project is determined at the initial stage. All steps are planned already at the stage of negotiating the contract, the software is written continuously “from beginning to end”.
- There is no need to hire testers with serious technical background. The testers will be able to rely on detailed technical documentation.