Following my last blog, I am now going to explain another traditional method of software development: The Spiral Model.
The software project passes through phases called “spirals” repeatedly, hence the name of the model.
There are four phases in the spiral model:
Identify: The objectives, the alternative means of implementing this portion of the product and the constraints imposed on the application of the alternatives.
2) Risk Analysis:
Evaluate: the alternatives relative to objectives and constraints and the risks involved with each of these alternatives.
Conduct a risk resolution.
Develop and verify the product. ie the software requirements specification/ the design specification etc.
Plan the next phase. Depending on what this is, this plan could be a requirements plan, an integration plan and an integration and test plan.
Strengths of the Spiral Model:
- It provides early indication of insurmountable risks.
- Users get to see the system early due to rapid prototyping tools.
- Users can be closely tied to all lifecycle steps.
- Early and frequent feedback is obtained from users.
Weaknesses of the Spiral Model:
- The time spent for evaluating risks is too large for small or low-risk projects.
- The time spent planning, resetting objectives, doing risk analysis and prototyping may be too excessive.
- The spiral model is very complex.
- Risk assessment expertise is required.
- It can be hard to define objective, verifiable milestones.
- The spiral can continue indefinitely.
When should I user the Spiral Model?
- When creation of the prototype is appropriate.
- When the cost and risk evaluation is appropriate.
- For medium to high risk projects.
- When users are unsure of their needs or when the requirements are complex.