Waterfall Model in SDLC: Advantages & Disadvantages
โก Smart Summary
Waterfall Model in SDLC is a sequential development approach that divides a project into fixed phases, each finishing before the next begins. This resource explains its phases, when to use it, and its advantages and disadvantages.

What is The Waterfall Model?
Waterfall Model is a sequential model that divides software development into pre-defined phases. Each phase must be completed before the next phase can begin, with no overlap between the phases. Each phase is designed to perform a specific activity during the SDLC. It was introduced in 1970 by Winston Royce.

Different Phases of Waterfall Model in Software Engineering
Following are the different Waterfall Model phases:
| Different phases | Activities performed in each stage |
|---|---|
| Requirement Gathering stage |
|
| Design Stage | |
| Built Stage | After the design stage comes the build stage, which is nothing but coding the software. |
| Test Stage | In this phase, you test the software to verify that it is built as per the specifications given by the client. |
| Deployment stage | Deploy the application in the respective environment. |
| Maintenance stage | Once your system is ready to use, you may later require changes to the code as per customer requests. |
When to use SDLC Waterfall Model?
The Waterfall methodology can be used when:
- Requirements are not changing frequently
- The application is not complicated and big
- The project is short
- The requirement is clear
- The environment is stable
- The technology and tools used are not dynamic and are stable
- Resources are available and trained
Advantages and Disadvantages of Waterfall Model
Here are the popular advantages of the Waterfall model in Software Engineering, along with some disadvantages:
| Advantages | Disadvantages |
|---|---|
| Before the next phase of development, each phase must be completed. | An error can be fixed only during the phase. |
| Suited for smaller projects where requirements are well defined. | It is not desirable for a complex project where requirements change frequently. |
| A quality assurance test (verification and validation) should be performed before completing each stage. | The testing period comes quite late in the development process. |
| Elaborate documentation is done at every phase of the software’s development cycle. | Documentation occupies a lot of the developers’ and testers’ time. |
| The project is completely dependent on the project team, with minimum client intervention. | The client’s valuable feedback cannot be included during the ongoing development phase. |
| Any changes to the software are made during the development process. | Small changes or errors that arise in the completed software may cause a lot of problems. |
