SDLC - Spiral Model

Photo by Reid Zura on Unsplash

SDLC - Spiral Model

ยท

3 min read

The spiral model combines the idea of iterative development with the systematic, controlled aspects of the waterfall model, The spiral model is a combination of iterative development process model and sequential linear development model i.e. the waterfall model with a very high emphasis on risk analysis. It allows incremental releases of the product or incremental refinement through each iteration around spiral.

Spiral Model - Design

the spiral model has four phases. A software project repeatedly passes through these phases in iterations called Spirals.

Identification

This phase starts with gathering the business requirements in the baseline spiral. In the subsequent spirals as the product matures, identification of the system requirements, subsystem requirements and unit requirements are all done in this phase.

This phase also includes understanding the system requirements by continuous communication between the customer and the system analyst. At the end of the spiral, the product is deployed in the identified market.

Design

The Design phase starts with the conceptual design in the baseline spiral and involves architectural design, logical design of modules, physical product design and the final design in the subsequent spirals.

Construct or Build

The Construct phase refers to production of the actual software product at every spiral. In the baseline spiral, when the product is just thought of and the design is being developed a POC (Proof of Concept) is developed in this phase to get customer feedback.

Then in the subsequent spirals with higher clarity on requirements and design details a working model of the software called build is produced with a version number. These build are sent to the customer for feedback.

Evaluation and Risk Analysis

Risk Analysis includes indentifying, estimating and monitoring the technical feasibility and management risks, such as schedule slippage and cost overrun. After testing the build, at the end of first iteration, the customer evaluates the software and provides feedback.

Based on the customer evaluation, the software development process enters the next interation and subsequently follows the linear approach to implement the feedback suggested by the customer. The process of iterations along the spiral continues throughout the life of the software.

Spiral Model Application

The spiral Model is widely used in the software industry as it is in sync with the natural development process of any product, i.e. learning with maturity which involves minimum risk for the customer as well as the development firms.

Uses of Spiral Model

  • When there is a budget constraint and risk evaluation is important.

  • For medium to high-risk projects.

  • Long-term project commitment because of potential changes to economic priorities as the requirements change with time.

  • Customer is not sure of their requirements which is usually the case.

  • Requirements are complex and need evaluation to get clarity.

  • New product line which should be released in phases to get enough customer feedback.

  • Significant changes are expected in the product during the development cycle.

Spiral Model - Pros and Cons

The advantages of SDLC Model are -

  • Changing requirements can be accommodated.

  • Allows extensive use of prototypes.

  • Requirements can be captured more accurately.

  • Users see the system early.

  • Development can be divided into smaller parts and the risky parts can be developed earlier which helps in better risk management

The disadvantage of SDLC Model are -

  • Management is more complex

  • End of the project may not be known early.

  • Not suitable for small or low risk projects and could be expensive for small projects.

  • Process is complex.

  • Spiral may go on indefinitely.

  • Large number of intermediate stages requires excessive documentation.

Did you find this article valuable?

Support Make api calls like a pro ๐Ÿ˜Ž by becoming a sponsor. Any amount is appreciated!

ย