The waterfall Model illustrates the software development process in a linear sequential flow. This means that any phase in the development process begins only if the previous phase is complete. The waterfall approach does not define the process to go back to the previous phase to handle changes in requirement. Therefore, different projects may follow different approaches to handle such situations.
What is Waterfall methodology?
The waterfall approach is the earliest approach that was used for software development. Initially, most projects followed the waterfall approach because they did not focus on changing requirements.
Waterfall Approach Phases
1. Conception: Triggers when a problem is perceived. This phase involves identifying goals to be achieved after the problem is solved, estimating benefits in the new system over the current system, and identifying other areas that are affected by the solution. This phase also involves and developing the business case for the project. A business case provides the information that a manger needs to decide whether to support a proposed project, before resources are committed to its development.
2. Initiation: Involves a macro level study of the customer requirements. This phase also involves defining alternative solutions to the customer requirements and cost-benefit justification of these alternatives.
3. Analysis: Involves carrying out detailed study of the customer requirements and arriving at the exact requirements of the proposed system. The phase involves freezing the requirements before the design phase begins.
4. Design: Involves translating the identified requirements into a logical structure, called design that can be implemented in a programming logic.
5. Construction: Involves integrating and testing all the modules developed in the previous phase as a complete system.
6. Integration and Testing: Involves integrating and testing all the modules developed in the previous phase as a complete system.
7. Implementation and maintenance: Involves converting the new system design into operation. This may involve implementing the software system and training the operating staff before the software system is functional.
The waterfall approach assumes that requirements are stable and frozen across the project plan. However, this is usually not true in case of large projects where requirements may evolve across the development process.