Spiral Model: When to Use? Advantages & 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 diagram
Spiral Model Diagram

Spiral Model Phases

Spiral Model Phases Activities performed during phase
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 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