---
title: "Waterfall model: advantages and limitations"
subject: "Software Engineering"
chapter: 1
key: "semester_5/software_engineering:waterfall-limitations"
source: https://www.bctengineer.com/q/semester_5/software_engineering/waterfall-limitations
site: BCT Engineering
---

# Waterfall model: advantages and limitations

Software Engineering · Chapter 1: Software Process and requirements

- Asked in: 2068 Baishakh (old course), 10 marks
- Video: [Waterfall Model ll SDLC All Phases Explained With Advantages and disadvantages](https://www.youtube.com/watch?v=1W8ZYtCPgYY) — 5 Minutes Engineering
- Answer checked by Claude Sonnet 5.5 on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/software_engineering/waterfall-limitations
- Whole chapter: https://www.bctengineer.com/md/semester_5/software_engineering/chapter-1

## Question

What are the advantages and limitations of water fall process model? List out various models of software development. Explain the limitations of water fall model in detail.

## Short answer

The waterfall model offers simplicity, clear phases, good documentation, and suits stable requirements and fixed-price contracts. Its limitations include rigid requirements, costly changes, late working software and testing, inflexible stages, blocking states, minimal customer involvement, unsuitability for complex or changing projects, and heavy documentation. Common models are waterfall, V-model, incremental, prototyping, evolutionary, spiral, RAD, component-based, RUP, agile, and formal methods.

## Answer

The **waterfall model** is the classical linear sequential life cycle model in which the fundamental activities are carried out as separate phases, one after another, like water falling down steps. The output of each phase (a signed-off document) is the input to the next.

```text
 Requirements analysis and definition
        |
        v
 System and software design
        |
        v
 Implementation and unit testing
        |
        v
 Integration and system testing
        |
        v
 Operation and maintenance
```

#### Advantages
- **Simple and easy to understand**; easy for beginners and managers.
- **Clear phases and milestones**, so planning, scheduling and progress tracking are easy.
- **Good documentation** is produced at every phase; useful for maintenance and new staff.
- Works well when **requirements are well understood and stable**.
- Fits **fixed-price contracts** and organisations that need formal sign-offs.
- Discipline: design is done before coding, testing has a defined place.
- Suitable for large systems engineering projects where software is part of a bigger system built at several sites.

#### Various software development models
1. Waterfall (linear sequential) model
2. V-model
3. Incremental model
4. Prototyping model (throwaway and evolutionary)
5. Evolutionary development
6. Spiral model
7. RAD (Rapid Application Development) model
8. Component-based software engineering (reuse-oriented) model
9. Rational Unified Process (RUP)
10. Agile models (Extreme Programming, Scrum)
11. Formal methods (cleanroom) model

#### Limitations of the waterfall model in detail
1. **Requirements must be fixed at the start.** Customers rarely know all requirements at the beginning, and the model has no natural way to handle the uncertainty that exists at the start of most projects.

2. **Difficult to accommodate change.** Once a phase is signed off, going back is costly. A requirement change late in the project may require redoing design, code and tests. In practice, problems are often "frozen" or worked around in the code, giving a badly structured system.

3. **Working software appears late.** The customer sees a working version only near the end. If there is a misunderstanding in requirements, it is discovered very late, when correction is most expensive.

4. **Late testing; high risk.** Testing comes after all coding, so design faults and integration problems appear at the end of the project. There is no explicit risk analysis.

5. **Inflexible partitioning into stages.** Real projects do not follow a strict sequence; activities overlap and feed back into each other. Forcing a strict sequence does not reflect reality.

6. **Blocking states.** Some team members must wait for others to finish the previous phase (for example, testers wait for coding), wasting time.

7. **Little customer involvement** after requirements, so the delivered system may not match what users actually need, causing low acceptance.

8. **Not suitable** for long, complex, object-oriented or high-risk projects, or for projects where requirements are likely to change (such as new web or mobile products).

9. **Heavy documentation** effort, which can be slow and costly for small projects.

**Example:** a university decides to build an online admission system using waterfall. Requirements are frozen in month 1. In month 6, during testing, the university changes its admission rules and wants online payment added. Because design and code are already complete, these changes need major rework, and the deadline for admissions is missed.

For these reasons, waterfall is used mainly when requirements are well understood and unlikely to change; otherwise iterative models such as incremental, spiral or agile are preferred.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. In the waterfall model, what is the output of each phase?
   A. A working prototype shown to the user
   B. A signed-off document that is the input to the next phase
   C. A risk analysis report
   D. A set of test cases only
   Answer: B. Phases run sequentially, and the signed-off output of one becomes the input to the next. (Key point: Waterfall definition)

2. Which is an advantage of the waterfall model?
   A. Handles changing requirements easily
   B. Working software appears very early
   C. Includes explicit risk analysis
   D. Clear phases and milestones make planning and tracking easy, and good documentation is produced
   Answer: D. Waterfall is simple, well documented and easy to schedule when requirements are stable. (Key point: Advantages)

3. Why is change difficult in the waterfall model?
   A. Once a phase is signed off, going back is costly and a late change may require redoing design, code and tests
   B. Changes are not allowed by law
   C. Customers refuse to propose changes
   D. Changes are cheap but slow to document
   Answer: A. Late changes force rework of completed phases, which is why problems are often frozen or worked around. (Key point: Difficulty with change)

4. Why is a requirements misunderstanding especially costly in waterfall?
   A. Testers find it at the start
   B. The customer sees a working version only near the end, so errors are found when correction is most expensive
   C. Prototypes hide it
   D. It is fixed automatically in design
   Answer: B. No working software exists until late, so misunderstandings surface at the end. (Key point: Late working software)

## Related in Software Engineering

- [Current process models; why waterfall is not accurate](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Awaterfall-not-accurate) — Software Engineering, chapter 1
- [Alternative models to waterfall](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Aalternative-to-waterfall) — Software Engineering, chapter 1
- [Software runaways; waterfall and prototyping inside spiral](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Asoftware-runaways-spiral) — Software Engineering, chapter 1
- [Waterfall versus spiral; user participation](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Awaterfall-vs-spiral) — Software Engineering, chapter 1
- [Software reliability and reliability models](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Areliability-models) — Software Engineering, chapter 9, asked 2×
- [Why software development is complex; man-month myth](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Acomplex-development) — Software Engineering, chapter 1

## Related in other subjects

- [Software process models and effort estimation](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Asw-process-models) — Instrumentation II, chapter 9, asked 2×
- [Spiral model of software development](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Aspiral-model) — Instrumentation II, chapter 9, asked 3×
- [Compare software models; propose a fourth model](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Asw-models-compare-fourth) — Instrumentation II, chapter 9
- [Shortcomings of software development models](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Asw-model-shortcomings) — Instrumentation II, chapter 9
