Spiral model is also known as the spiral lifecycle model. This development of model combines the features of the prototyping model and the waterfall model. In spiral model, we can easily adjust the software development with the required changes. The prototypes which are created in every stage enable us to roll back only a few steps. This model is favored for large, expensive, and complicated projects. It is a circular view of the software lifecycle.
Spiral model was first defined in an article by Barry Boehm in 1986. This spiral model is based on experience with large government software projects. The goal was to provide a model with greater flexibility that could better serve these types of projects.
Spiral-Model Software Development Life Cycle
In this cycle, each passes through the spiral model consists of Planning, Risk analysis, Engineering, and Evaluation phase.
Planning: In this phase, the new system requirements are gathered and defined after a comprehensive system study of the various business processes. This usually involves interviewing internal and external users, preparation of detailed flow diagrams showing the process or processes for which going to be developed, the inputs and outputs in terms of how the data is to be recorded/ entered and the form in which the results are to be presented.
Risk Analysis Phase: In this phase to identify risk and alternate solutions, a process is followed. The process includes addressing the factors that may risk the successful completion of the entire project development including alternative strategies and constraints. The issues pertaining to the possibility of the development if not meeting, for example, user requirements, reporting requirements or the capability of the development team or the compatibility and functionality of the hardware with software. To undertake development, the Risk analysis and suggested solutions to mitigate and eliminate the Risks would thus become a part of the finalized strategy. A prototype is produced at the end of the risk analysis phase.
Engineering Phase: In this phase, software is produced along with coding and testing at the end of the phase. After preparation of prototype tested against benchmarks based on customer expectations and evaluated risks to verify the various aspects of the development. Until customer satisfaction is achieved before development of the next phase of the product, refinements and rectifications of the prototype are undertaken.
Evaluation phase: In this phase, the final system is thoroughly evaluated and tested based on the refined prototype. Evaluation phase allows the customer to evaluate the output of the project to date before the project continues to the next spiral. Routine maintenance is carried out on a continuing basis to prevent large scale failures and to minimize downtime.
Advantages of Spiral Model
• It is a good model for large and complex projects.
• It reduces problems at all levels with direct consideration of risks.
• In this phase, software is produced early in the software life cycle.
Disadvantage of Spiral Model
• It can be a costly model to use.
• When the risk analysis is carried out, it needs highly specific expertise which may not be available all the time.
• The project success is highly dependent on the risk analysis phase.
• It is applicable only to large scale systems and doesn’t work well for smaller projects because of the cost of evaluating risk.