---
title: "Alternative models to waterfall"
subject: "Software Engineering"
chapter: 1
key: "semester_5/software_engineering:alternative-to-waterfall"
source: https://www.bctengineer.com/q/semester_5/software_engineering/alternative-to-waterfall
site: BCT Engineering
---

# Alternative models to waterfall

Software Engineering · Chapter 1: Software Process and requirements

- Asked in: year not given, 5 marks
- Video: [Introduction to System Development Methodologies (Waterfall, agile and others)](https://www.youtube.com/watch?v=rm6D0uNHP8A) — Isaac Vaghefi
- Answer checked by Claude Sonnet 5.5 on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/software_engineering/alternative-to-waterfall
- Whole chapter: https://www.bctengineer.com/md/semester_5/software_engineering/chapter-1

## Question

Explain alternative model for waterfall model.

## Short answer

Alternatives address waterfall's rigidity: incremental model delivers prioritized working parts early; prototyping clarifies unclear requirements via throwaway or evolutionary prototypes; spiral model adds risk-driven iterations; RAD uses component reuse and parallel teams for speed; component-based model assembles existing components; agile methods use short iterations with continuous customer involvement and change acceptance.

## Answer

The waterfall model assumes fixed requirements and a strict sequence of phases, so changes are costly and working software appears only at the end. Several **alternative process models** were developed to overcome these problems.

#### 1. Incremental model
The system is split into **increments**. Requirements are prioritised, and each increment (design, code, test) delivers a working part of the system, highest priority first.
- Customer gets useful software early.
- Changes can be put into later increments.
- Lower risk of total failure; important parts get the most testing.

```text
 Inc 1: Req -> Design -> Code -> Test -> Deliver v1
   Inc 2: Req -> Design -> Code -> Test -> Deliver v2
     Inc 3: Req -> Design -> Code -> Test -> Deliver v3
```

#### 2. Prototyping / evolutionary development
A quick prototype is built from initial requirements, shown to users and refined repeatedly.
- *Throwaway prototyping* clarifies unclear requirements, then the prototype is discarded.
- *Evolutionary prototyping* keeps refining the prototype into the final system.
- Solves waterfall's problem of users not knowing requirements at the start.

#### 3. Spiral model
A risk-driven iterative model (Boehm). Each loop: set objectives, assess and reduce risks (often with prototypes), develop and validate, plan the next loop. Good for large, high-risk projects; it can contain waterfall and prototyping as special cases.

#### 4. RAD (Rapid Application Development)
A high-speed incremental model using component reuse, 4GL/code generators and parallel teams, delivering a full system in a short time (about 60–90 days) when requirements are well understood and the system can be modularised.

#### 5. Component-based (reuse-oriented) model
The system is assembled from existing components and COTS products, reducing cost and time.

#### 6. Agile models (XP, Scrum)
Short iterations of 1–4 weeks, a working product each iteration, continuous customer involvement and acceptance of change.

| Waterfall problem | Alternative that addresses it |
|---|---|
| Unclear requirements | Prototyping |
| Late delivery of working software | Incremental, agile |
| No risk handling | Spiral |
| Long development time | RAD, component-based |
| Changing requirements | Agile, evolutionary |

## Check yourself

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

1. How does the incremental model deliver software?
   A. All at once at the end
   B. As disposable prototypes only
   C. In increments, with prioritised requirements so the highest priority function is delivered first
   D. By one long sequential phase
   Answer: C. Each increment delivers a working part, highest priority first, so customers get useful software early. (Key point: Incremental model)

2. What is the difference between throwaway and evolutionary prototyping?
   A. Throwaway is refined into the final system; evolutionary is discarded
   B. Both are always discarded
   C. Both become the final system
   D. Throwaway clarifies requirements and is then discarded; evolutionary is refined into the final system
   Answer: D. A throwaway prototype is only for understanding requirements; an evolutionary one grows into the product. (Key point: Throwaway vs evolutionary prototyping)

3. Which waterfall problem does the spiral model mainly address?
   A. No risk handling
   B. Long coding time
   C. Lack of documents
   D. Too many users
   Answer: A. Spiral analyses and reduces risk in every loop, which waterfall lacks. (Key point: Spiral addresses)

4. When is RAD suitable?
   A. Poorly understood requirements with no modules
   B. When requirements are well understood and the system can be modularised, using reuse and code generators with parallel teams
   C. For safety-critical systems with long timelines
   D. When no reuse is possible
   Answer: B. RAD is a high-speed incremental model that delivers a full system in about 60-90 days under those conditions. (Key point: RAD)

## 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
- [Waterfall model: advantages and limitations](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Awaterfall-limitations) — 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 runaways; waterfall and prototyping inside spiral](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Asoftware-runaways-spiral) — Software Engineering, chapter 1

## Related in other subjects

- [Conventional waterfall model](https://www.bctengineer.com/question.md?key=semester_7%2Fict_project_management%3Awaterfall-model) — ICT Project Management, chapter 4
- [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
- [Software reliability; waterfall vs prototyping; embedded software](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Asw-reliability-models-embedded) — Instrumentation II, chapter 9
- [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×
