First published in 1970, the Waterfall model describes the software development process. It focuses on the logical progression of steps taken across the entire life cycle of a piece of software. The model is still widely used in the software development market in Vietnam today.
In this article, PMA sets out the strengths, weaknesses and applications of the Waterfall model, to help readers understand it clearly and compare it against the other models available today.

1. What the Waterfall model is
The Waterfall model is one of the most straightforward project management models in use today. It is a project management method built on a sequential, consecutive design process.
In the Waterfall model, the phases of a project are carried out one after another. A new phase begins only once the phase before it has been completed.
2. The phases of the Waterfall model
A simple Waterfall model has six phases:
- Requirements
- Design
- Implementation (development)
- Testing
- Deployment
- Maintenance
2.1 Requirement Analysis
The team gathers every requirement relating to the project.
For example:
- Identifying which business need the project will address
- The users’ requirements for the product the project will deliver
- The constraints and risks that come with it.
2.2 Design
The team produces a design for the product that satisfies every requirement, constraint and design objective. A typical design is worked out in as much detail as possible. It describes precisely how the system logic identified during analysis will be implemented.
2.3 Implementation, or Development
The product is built to match the design. Sometimes it is built as separate units that are tested and then integrated in the following phase.
2.4 Testing
The individual parts of the product are tested. Where necessary they are integrated and tested together. The system as a whole is then tested to find defects and to confirm that the design objectives have been met.
2.5 Deployment
The tested product goes into real operation. On IT projects, the product is deployed into its environment so users can start working with it. On a construction project, deployment is the point at which the building is ready for occupancy.
2.6 Maintenance
A short period of monitoring during which the project team resolves the customer’s issues. On software projects this usually means releasing patches and updates to fix problems. On other projects, adjustments are made to the environment to resolve issues — tuning the air conditioning in a new building, for instance.

3. Advantages of the Waterfall model
Although the Waterfall model has gradually given way to more flexible (Agile) models in recent years, it still delivers real benefits, particularly on large projects and in large organisations that need defined phases and completion deadlines.
It adapts well to teams with changing membership
This is not the only model with this advantage, but it does keep a whole project pointed in the same direction, with an overarching objective and design. It provides structure by drafting and automating documentation from the very first phase.
That suits large teams whose members come and go, where the core design of the project still has to hold.
It imposes a tightly structured organisation
This is both the advantage of the Waterfall model and what sustains it. It demands a rigorous, precise project organisation that adheres to the design and construction of the product. Large projects need specific processes to manage every aspect of the work, from concept and design through development, deployment and testing.
It allows design changes early on
As we all know, changing a design in the later phases is very difficult. The Waterfall approach makes changes reasonably easy to introduce in the early phases of an application, precisely because no code has been written and nothing has been deployed at that point.
It suits milestone-driven projects
The sequential structure of the Waterfall model fits organisations and teams that work well against specific milestones. With clear, well-defined time frames, team members can readily understand the schedule and work to it.
4. Disadvantages of the Waterfall model
- It is not an ideal model for a large-scale project.
- If the requirements are unclear from the outset, it is a less effective method.
- It is very hard to move back to an earlier phase to make changes.
- Testing starts only once development has finished. That carries a high risk of defects being found after the development phase, and those defects are expensive to fix.
5. When to use the Waterfall model
The Waterfall model is recommended where the team understands the project requirements thoroughly and where clarity and stability are essential:
- The development technology is well understood.
- Vague, ambiguous requirements have been eliminated.
- Development resources are plentiful and expertise is high.
- It can suit small, short-term projects.
This article has set out the basic concepts of the Waterfall model. What matters most with this model is following the phases exactly as laid out. The Waterfall model continues to work very well on small-scale, short-term projects.
Source: pma.edu.vn
Tiếng Việt