The Waterfall Model!
- The Waterfall methodology—also known as the Waterfall Model—is a sequential software development approach, in which the progress of software development flows steadily toward the conclusion (like a waterfall) through the phases of a project (that is, analysis, design, development,testing).
- Waterfall Model is also known as Liner Sequential Life Cycle Model.
- The goal of the Waterfall methodology follows the old adage to “measure twice, cut once.”
- A detailed investigation of the software to be built is conducted upfront, eliminating the risks involved in developing it.
- As the requirements are collected and documented during the early stage of waterfall model, estimating the time required for fulfilling each requirement of the user are more accurate, thus providing a
more predictable release date of the software being developed
Project phases of Waterfall Model
1. Analysis:
- This is the first phase of development where all the requirements
gathered and documented - In this initial stage, a team of analysts analyzes the requirements, and fully understands the problem
- The team attempts to ask questions and collect the answers they need to identify all the requirements of the customer
2. Design:
- In this stage of development, software engineers come up with technical solutions to the problems set out by the analysts
- This phase is usually accompanied by documentation for each requirement identified during the analysis phase
3. Implementation:
- Once the design phase is over, the implementation of the software begins.
- This phase must be the shortest phase because analysis and design of the software has been done in advance before implementation
4. Testing:
- Upon completion of implementation of the software, testing needs to be done before the product can be released to the customer
- The testing team will use the design documents delivered by the design team in order to create their test cases for testing the software
Characteristics of Waterfall Model:
- Waterfall model is simple to understand and easy to use.
- The development process is easy to manage in this approach due to the rigidity of the model
- Each phase of software development is carried out only once and in order. Phases do not overlap.
Limitations of Waterfall Model:
- In the Waterfall Model, change is expensive because most of the time and effort has been spent on analysis and design of the software itself.
- The nature of the Waterfall methodology insists that each phase be completed before the start of the next phase. This prevents customers from reviewing and providing feedback on a project before its release.
- Waterfall Model is very successful approach for the small projects and if the requirements are very clear.