Spiral Model - A New Approach Towards Software Development

Techspirited Staff Sep 29, 2018
The spiral model was designed in order to overcome the disadvantages of the waterfall model. We shall learn more about this software development model.
The waterfall model is one of the oldest and simplest models designed and followed for the process of software development. But it has some disadvantages, as mentioned here:

» There is no fair division of phases in the life cycle.
» This model doesn't allow one to go back a step if an error that has occurred in a previous phase is detected.
» Not all the errors/problems related to a phase are resolved during the same phase and instead, the problems related to one phase are carried over, and are needed to be resolved in the next phase, which increases the time duration for the completion of the next phase.
» Many times the clients aren't sure of their requirements initially and tend to suggest changes in the design at a later point of the development. Incorporating such changes in this model is a complicated task.
» The client isn't able to view a project until the final stage and is therefore not in a position to verify if the product being developed is in accordance with his/her requirement.The risk factor is the most important part, which affects the success rate of the software developed by following this model.
In order to overcome the cons of the waterfall model, it was necessary to develop a new software development model, which could help in ensuring the success of a software project. 
One such model was developed which incorporated the common methodologies followed in the waterfall model, while also eliminating every possible risk factors from it. This model is referred to as the "Spiral Model" or "Boehm's Model".
There are four phases in this model which are: Planning, Evaluation, Risk Analysis and Engineering. These four phases are iteratively followed one after another in order to eliminate all the problems, which were faced in the waterfall model.
Iterating the phases helps in understating the problems associated with a phase and dealing with those problems when the same phase is repeated next time, by planning and developing strategies to be followed while iterating. The phases are:

Plan

In this phase, the objectives, alternatives and constraints of the project are determined and documented. The objectives and other specifications are fixed in order to decide which strategies/approaches to follow during the project life cycle.

Risk Analysis

This phase is the most important part of spiral model. In this phase, all possible (and available) alternatives, which can help in developing a cost-effective project are analyzed and strategies are decided so as to use them.
This phase has been added specially in order to identify and resolve all the possible risks in the project development. If risks indicate any kind of uncertainty in requirements, prototyping may be used to proceed with the available data and find out a possible solution in order to deal with the potential changes in the requirements.

Engineering

In this phase, the actual development of the project is carried out. The output of this phase is passed through all the phases iteratively in order to obtain improvements in the same.

Customer Evaluation

In this phase, developed product is passed on to the customer in order to receive customer's comments and suggestions which can help in identifying and resolving potential problems/errors in the software developed. This phase is very much similar to the 'testing' phase.
The process progresses spirally and an iterative path followed. Thus progressively a more complete software is built as one goes on iterating through all four phases.
The first iteration in this model is considered to be most important, as in it, almost all possible risk factors, constraints, requirements are identified and in the next iterations, all known strategies are used to bring up a complete software system. The radical dimensions indicate evolution of the product towards a complete system.
However, the spiral model, like any other development model also suffers from a few drawbacks. As it is developed to overcome the disadvantages of the waterfall model, to follow the spiral model, highly skilled people in the area of planning, risk analysis and mitigation, development, customer relation, etc., are required.
This, along with the fact that the process needs to be iterated more than once, demands more time, making this an expensive model to implement.