The problem with traditional software process models is that they do not adequately deal with uncertainty, which is inherent to software projects. Major software projects had failed because project risks were neglected, and no one was ready when something unexpected happened. Barry Böhm identified this and attempted to integrate the “project risk” factor into the life cycle model. The outcome is the spiral model proposed in 1986.
The radial dimension of the model represents the cumulative cost of the model. Each path around the spiral is a sign of increased cost. The angular dimension represents the progress made in the completion of each cycle. Each loop of the spiral from the x-axis represents a phase. One phase is roughly divided into four major sectors of significant activities:
Spiral Model design
In the Spiral model, the software project repeatedly goes through these iterations, which is called Spirals. There are four phases in the spiral model.
This phase begins with the accumulation of business needs in the initial spiral. After the product matures, the spiral determines the system requirements, subsystem requirements, and unit requirements at this stage.
This phase also involves understanding the system requirements through continuous communication between the client and the systems analyst. At the end of the spiral, the product is deployed in the market.
The design phase starts with the conceptual design of the basic spiral and involves the architectural design, the logical design of the components, the physical design of the material, and the final design of the corresponding spiral.
Construct or Build
The build phase refers to the production of real-world software products at every spiral. At the baseline spiral, when the product is conceptualized, and the design is developed, the POC (Proof of Concept) has been developed at this time to receive customer feedback.
The subsequent spiral is more clearly defined design requirements and specifications, a software package called the build is generated with a version number. These builds are sent to the end-user for feedback.
Evaluation and Risk Analysis
Risk analysis includes identifying, measuring, and monitoring technical and administrative issues such as time management and cost overruns. After testing the build, at the end of the initial iteration, the customer reviews the software and provides feedback.
Based on customer input, the implementation of the project begins the next phase of the analysis and essentially takes a strategic approach according to customer feedback. The sustainability information process continues throughout the life of the program.
The advantages of the Spiral Model are:-
- Changes in requirements can be accommodated.
- It allows widespread use of prototypes.
- Requirements can be noted down more clearly.
- Development can be broken down into smaller parts, and risk areas can be developed earlier, which helps to manage risks better.
The disadvantages of the Spiral Model are:-
- The project end may not be known soon.
- Management is more complicated.
- It is not suitable for small projects.
- The spiral may go on indefinitely.
- Excessive documentation is required for a large number of intermediate stages.