The waterfall method uses a linear approach to software development. The project is divided into a sequence of tasks, and the highest level grouping is called phases.
This methodology is a formal process in which each phase comprises a list of detailed tasks with accompanying documentation and exit criteria. Thus, progress flows steadily towards completion (like a waterfall) through the phases: analysis, design, development, testing...
The goal of the Waterfall method is to eliminate most project risks through detailed investigation. Some of the advantages of the waterfall methodology are:
-
It is easy to manage as each phase has specific deliverables and a review process.
-
Improves resource utilization because tasks can be split to work in parallel or grouped to leverage resource skills.
-
Phases do not overlap.
-
Requirements are completed early in the project, allowing the team to define the full scope of the project, create a complete schedule, and design the overall application.
-
The status of the project is more easily measured based on a schedule.