---
title: "Waterfall versus spiral; user participation"
subject: "Software Engineering"
chapter: 1
key: "semester_5/software_engineering:waterfall-vs-spiral"
source: https://www.bctengineer.com/q/semester_5/software_engineering/waterfall-vs-spiral
site: BCT Engineering
---

# Waterfall versus spiral; user participation

Software Engineering · Chapter 1: Software Process and requirements

- Asked in: 2067 Ashadh (old course), 11 marks
- Video: [Comparison of All SDLC Models | Waterfall, Iterative, Prototype, Spiral, Increment, RAD, Agile etc.](https://www.youtube.com/watch?v=ASrMUd0p9fE) — Gate Smashers
- Answer checked by Claude Sonnet 5.5 on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/software_engineering/waterfall-vs-spiral
- Whole chapter: https://www.bctengineer.com/md/semester_5/software_engineering/chapter-1

## Question

Compare between waterfall model and spiral model of software development process. What is the role of user participation in selection of life cycle model?

## Short answer

Waterfall is linear and sequential with fixed requirements, while spiral is iterative and risk-driven, accommodating changes and involving customers at each loop. User participation influences model choice: stable, clear requirements suit waterfall; uncertain requirements and need for frequent feedback favor spiral or prototyping, and continuous user availability is essential for iterative models.

## Answer

#### Waterfall model
The **waterfall model** (Royce, 1970) is a **linear sequential** model. Development passes through separate phases, and each phase must be completed and signed off before the next starts.

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

#### Spiral model
The **spiral model** (Boehm, 1988) is an **iterative, risk-driven** model. Each loop of the spiral is a phase with four sectors: objective setting, risk assessment and reduction, development and validation, and planning the next loop. Prototypes are built to reduce risks, and the product grows with each loop.

```text
   Objectives, alternatives | Risk analysis,
   and constraints          | prototyping
   -------------------------+--------------------
   Review and plan          | Develop and test
   next loop                | next-level product
   (repeat, spiral outward with growing cost)
```

#### Comparison
| Basis | Waterfall model | Spiral model |
|---|---|---|
| Nature | Linear, sequential | Iterative, evolutionary |
| Main driver | Documents/phases | Risk |
| Risk handling | No explicit risk analysis | Risk analysed in every loop |
| Requirements | Must be fixed at start | Can be refined in each loop |
| Changes | Hard and costly | Accommodated in later loops |
| Customer involvement | Mainly at start and end | Review at end of every loop |
| Working software | Only at the end | Prototypes early, versions grow |
| Cost and complexity | Low; simple to manage | High; needs risk experts |
| Best suited for | Small, well-understood projects | Large, complex, high-risk projects |
| Estimation | Easy to plan and estimate | Hard to estimate at the start |

In short, waterfall is simple and well controlled but rigid; spiral is flexible and safer for risky projects but costly and harder to manage. Spiral can even include waterfall as the last loop once the risks are removed.

#### Role of user participation in selecting a life cycle model
Users (customers) are the source of requirements and the judges of the final product. How much, and when, they can take part strongly affects which model is suitable:

1. **Clarity of user requirements**: if users can state complete, stable requirements at the start, a **waterfall** or V-model works. If users are not sure what they want, a **prototyping** or **spiral** model is better, because they learn by seeing.
2. **Availability of users**: models such as prototyping, evolutionary development, RAD and agile need users to be **continuously available** to review and give feedback. If users can only participate at the beginning (requirements) and end (acceptance), waterfall is more realistic.
3. **User experience with computers and the domain**: inexperienced users benefit from prototypes and incremental releases; experienced users can review written specifications.
4. **Need for early delivery**: if users want some functions quickly, **incremental** delivery is chosen, and users help prioritise increments.
5. **User risk tolerance and contract type**: users who need a fixed price and fixed date prefer waterfall; those who accept evolving scope can use spiral or agile.
6. **Feedback and acceptance**: high participation reduces the risk of building the wrong system and increases user acceptance and ownership.

| User situation | Suitable model |
|---|---|
| Clear, stable needs; little time to participate | Waterfall / V-model |
| Unclear needs; willing to try versions | Prototyping |
| High-risk system; regular reviews possible | Spiral |
| Want early partial system | Incremental |
| Continuous on-site customer | Agile (XP, Scrum) |

Thus user participation is a key factor: the more uncertain the requirements, the more user participation is needed, and the more iterative the chosen life cycle model should be.

## Check yourself

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

1. How do waterfall and spiral differ in handling risk?
   A. Both analyse risk equally
   B. Waterfall analyses risk in every loop; spiral has no risk analysis
   C. Neither handles risk
   D. Waterfall has no explicit risk analysis; spiral analyses risk in every loop
   Answer: D. Spiral is risk-driven, while waterfall lacks explicit risk analysis. (Key point: Risk handling comparison)

2. Which comparison of requirements and change is correct?
   A. Waterfall needs requirements fixed at the start and changes are costly; spiral refines requirements each loop and accommodates change
   B. Both allow free changes at any time
   C. Waterfall refines requirements each loop; spiral fixes them at the start
   D. Spiral forbids changes after the first loop
   Answer: A. Waterfall is rigid about requirements; spiral allows refinement through iteration. (Key point: Requirements and changes)

3. Which project type suits waterfall rather than spiral?
   A. Large, high-risk systems with unclear needs
   B. Systems needing early prototypes
   C. Small, well-understood projects with stable requirements
   D. Projects needing review after every loop
   Answer: C. Waterfall suits small, well-understood projects; spiral suits large, complex, high-risk ones. (Key point: Suitable projects)

4. How does user availability affect model selection?
   A. Continuous user availability favours waterfall
   B. Users can only help in waterfall
   C. User availability has no effect on model choice
   D. If users can take part only at the start and end, waterfall is more realistic; prototyping, RAD and agile need continuous users
   Answer: D. Iterative models rely on continuous user feedback, while waterfall needs users mainly at the start and end. (Key point: User availability)

## Related in Software Engineering

- [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
- [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
- [Spiral model, advantages and disadvantages](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Aspiral-model) — 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
- [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
- [Book store process model](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Abook-store-process-model) — Software Engineering, chapter 2

## Related in other subjects

- [Spiral model of embedded software life cycle](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3Aspiral-model-esdlc) — Embedded System, chapter 3
- [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
- [Multimedia application development life cycle](https://www.bctengineer.com/question.md?key=semester_8%2Fmultimedia_system%3Aapp-development-life-cycle) — Multimedia System, chapter 1, asked 4×
