- 2067 Ashadh (old course) · 11 marks
Waterfall versus spiral; user participation
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.
Compare between waterfall model and spiral model of software development process. What is the role of user participation in selection of life cycle model?
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.
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.
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:
- 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.
- 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.
- User experience with computers and the domain: inexperienced users benefit from prototypes and incremental releases; experienced users can review written specifications.
- Need for early delivery: if users want some functions quickly, incremental delivery is chosen, and users help prioritise increments.
- 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.
- 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.
✓ Answer checked by Claude Sonnet 5.5
Related questions
- Software runaways; waterfall and prototyping inside spiral · Software Engineering, chapter 1
- Current process models; why waterfall is not accurate · Software Engineering, chapter 1
- Spiral model, advantages and disadvantages · Software Engineering, chapter 1
- Waterfall model: advantages and limitations · Software Engineering, chapter 1
- Why software development is complex; man-month myth · Software Engineering, chapter 1
- Book store process model · Software Engineering, chapter 2
- Spiral model of embedded software life cycle · Embedded System, chapter 3
- Spiral model of software development · Instrumentation II, chapter 9 · asked 3×
- Compare software models; propose a fourth model · Instrumentation II, chapter 9
- Multimedia application development life cycle · Multimedia System, chapter 1 · asked 4×