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
Planning
It includes estimating the cost, schedule and resources for the iteration. It also involves
understanding the system requirements for continuous communication between the system
analyst and the customer
Risk Analysis
Identification of potential risk is done while risk mitigation strategy is planned and finalized
Engineering
It includes testing, coding and deploying software at the customer site
Evaluation
Evaluation of software by the customer. Also, includes identifying and monitoring risks such as
schedule slippage and cost overrun
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
Advantages
Additional functionality or changes can be done at a later stage
Cost estimation becomes easy as the prototype building is done in small fragments
Continuous or repeated development helps in risk management
Development is fast and features are added in a systematic way in Spiral development
There is always a space for customer feedback
Disadvantages
Risk of not meeting the schedule or budget
Spiral development works best for large projects only also demands risk assessment
expertise
For its smooth operation spiral model protocol needs to be followed strictly
Documentation is more as it has intermediate phases
Spiral software development is not advisable for smaller project, it might cost them a lot