The Spiral Model | Software Engineering Tutorial | Minigranth

Spiral Model : Introduction

  • The Spiral Model is also known as “Spiral Model for Software Development and Enhancement”. It is called as the Spiral Model because of its structure like “Spiral” which is further divided into four sections where each section designates one of the stages of Software Development Life Cycle.
  • The concept of spiral model was introduced in late 1980s by Barry Boehm who incorporated the idea of “Risk Analysis” in a Software Development Life Cycle Model.
  • The spiral model gathers the traits similar to that of the “Waterfall Model” and the “Iterative Model” which are used in software development. It is an incremental risk oriented life cycle model where every spiral denotes the developed software product along with risk analysis involved in it.
  • Multiple spirals indicates the iteration of software product along with risk analysis. These iterations helps in regular testing and feedback, if project size is very large and feature requirements are ad-hoc in nature.
  • Iterations means smaller functional modules such as prototypes.

This image describes the spiral model of software development in software engineering.
SDLC Models : Spiral Model

The Spiral Model : Phases

  • The Spiral Model constitutes of four phases which are used in every iteration of the software product till the final release. Higher the number of spirals, more will be the cost of developing the software product and its risk analysis.
  • The four phases of Spiral Model for software development are:
    1. Determining Objectives : Determining objective mean gathering the requirement for the software product before the planning and implementation phase starts. Software requirement specification and product/business requirement specification are completely observed in order to get the whole knowledge about the software product.
    2. Risk Analysis & Prototype : The possible risk that can come while developing the software product are listed and their possible solution are generated in this phase. Also, tracking the risk using analytics helps in greater stability in the final development product. A prototype is generated after each spiral, and this prototype encloses the development towards the final product. This prototype help in understanding the needs and feature of the final software product along with its risk analysis.
    3. Development & Testing : Software products are developed in this phase and testing is performed on them for bugs, errors and defects.
    4. Planning Next Iteration : The development modules and output of the project after each spiral is passed on to the customer/client for feedback and the next iteration is planned accordingly. If any new changes occur, those changes are attached along in the next iteration making spiral model highly customizable in nature.
  • Once the product is developed through iterative process along with risk analysis, the final product is implemented and deployed as per client’s/customer requirement.

The Spiral Model : Advantages

  • Highly Customizable : Can be used when changes are frequent.
  • Risk analysis feature/ability.
  • Lesser chances of project failure.
  • Suitable for larger project with higher risk.
  • Easier cost estimation as, in each iteration a software module is generated/developed.

The Spiral Model : Disadvantages 

  • Complex software development model.
  • Not advisable to use with smaller scale projects.
  • Highly experienced risk analysts are required for making risk analysis.