Spiral Model: When to Use? Advantages and Disadvantages
What is Spiral Model?
Spiral Model is a risk-driven software development process model. It is a combination of waterfall model and iterative model. Spiral Model helps to adopt software development elements of multiple process models for the software project based on unique risk patterns ensuring efficient development process.
Each phase of spiral model in software engineering begins with a design goal and ends with the client reviewing the progress. The spiral model in software engineering was first mentioned by Barry Boehm in his 1986 paper.
The development process in Spiral model in SDLC, starts with a small set of requirement and goes through each development phase for those set of requirements. The software engineering team adds functionality for the additional requirement in every-increasing spirals until the application is ready for the production phase. The below figure very well explain Spiral Model:
Spiral Model Phases
|Spiral Model Phases||Activities performed during phase|
When to use Spiral Model?
- A Spiral model in software engineering is used when project is large
- When releases are required to be frequent, spiral methodology is used
- When creation of a prototype is applicable
- When risk and costs evaluation is important
- Spiral methodology is useful for medium to high-risk projects
- When requirements are unclear and complex, Spiral model in SDLC is useful
- When changes may require at any time
- When long term project commitment is not feasible due to changes in economic priorities
Spiral Model Advantages and Disadvantages
|Additional functionality or changes can be done at a later stage||Risk of not meeting the schedule or budget|
|Cost estimation becomes easy as the prototype building is done in small fragments||Spiral development works best for large projects only also demands risk assessment expertise|
|Continuous or repeated development helps in risk management||For its smooth operation spiral model protocol needs to be followed strictly|
|Development is fast and features are added in a systematic way in Spiral development||Documentation is more as it has intermediate phases|
|There is always a space for customer feedback||Spiral software development is not advisable for smaller project, it might cost them a lot|