- Year not given · 2+6 marks
Software runaways; waterfall and prototyping inside spiral
Short answer
Software runaways stem from unclear requirements, poor estimation, weak management, unmanaged risks, and new technology. In the spiral model, prototyping is used in early loops to clarify requirements and reduce risk, while the waterfall sequence is applied in later loops once risks are low, with each phase completed sequentially.
What are the reasons for software runaways? Explain how both waterfall model and prototyping model can be accommodated in spiral model.
Reasons for software runaways
A software runaway is a project that has gone out of control: it is far over its budget and schedule, its end is not in sight, and it often fails to deliver the planned functionality. Common reasons are:
- Unclear or unstable requirements: requirements are incomplete at the start and keep changing (scope creep).
- Poor estimation: unrealistic, often politically fixed, cost and schedule targets.
- Weak planning and project management: no milestones, poor tracking, problems noticed too late.
- Unmanaged risk: technical and business risks are not identified or reduced early.
- New or unproven technology that the team does not understand well.
- Poor user involvement and communication between customers and developers.
- Staffing problems: lack of skills, high turnover, adding people late (Brooks's law).
Accommodating waterfall and prototyping in the spiral model
Boehm's spiral model is a risk-driven meta-model. The process is a spiral; each loop is one phase and has four sectors:
Determine | Evaluate alternatives,
objectives, alternatives | identify and resolve
and constraints | risks (prototypes)
---------------------------+----------------------------
Plan the next | Develop and verify
phase (review) | the next-level product
Because the model does not fix how the product is built in the "develop and verify" sector, the team chooses, in each loop, the development approach that best reduces the dominant risk. This is how other models fit inside it.
Prototyping inside the spiral
- In the early loops the main risks are usually unclear requirements and an uncertain user interface or technical approach.
- So in the risk-analysis sector the team builds prototypes (Boehm's spiral shows Prototype 1, 2, 3 and an operational prototype in successive loops).
- Users evaluate each prototype, and the feedback is used to set the objectives of the next loop.
- Thus prototyping is used as a risk-reduction technique inside the spiral; it can be throwaway (only to learn requirements) or evolutionary (grown into the system).
Waterfall inside the spiral
- Once prototyping has removed the requirement and interface risks, the remaining risk is mainly in program development and integration.
- The final loop(s) then follow the waterfall sequence: requirements validation, detailed design, code, unit test, integration and test, acceptance test, implementation.
- Each step is completed and verified before the next, exactly as in the waterfall model.
- If requirements are well understood from the start (low requirement risk), the spiral can even reduce almost entirely to a waterfall.
Loop 1: concept of operation -> Prototype 1
Loop 2: requirements -> Prototype 2
Loop 3: design -> Operational prototype
Loop 4: detailed design -> code -> test -> deploy
(waterfall steps, risk now low)
Choice by risk
| Dominant risk in a loop | Approach used in that loop |
|---|---|
| Requirements / user interface unclear | Prototyping |
| Requirements stable, integration risk | Waterfall |
| Safety-critical parts | Formal transformation |
| Large, partly known system | Incremental delivery |
So the spiral model contains the waterfall and prototyping models as special cases: prototyping is used where uncertainty is high, and waterfall where the product is well understood. The decision is made explicitly at each loop on the basis of risk analysis.
✓ Answer checked by Claude Sonnet 5.5
Related questions
- Waterfall versus spiral; user participation · Software Engineering, chapter 1
- Spiral model, advantages and disadvantages · Software Engineering, chapter 1
- Waterfall model: advantages and limitations · Software Engineering, chapter 1
- Current process models; why waterfall is not accurate · Software Engineering, chapter 1
- Alternative models to waterfall · Software Engineering, chapter 1
- Spiral model of software development · Instrumentation II, chapter 9 · asked 3×
- Software reliability; waterfall vs prototyping; embedded software · Instrumentation II, chapter 9
- Prototyping model of software · Instrumentation II, chapter 9 · asked 3×
- Spiral model of embedded software life cycle · Embedded System, chapter 3