In the 1980s; Boehm introduced a process model known as the spiral model. The spiral model comprises activities organized in a spiral, and has many cycles. This model combines the features of the prototyping model and waterfall model and is advantageous for large, complex, and expensive projects. It determines requirements problems in developing the prototypes. In addition, it guides and measures the need of risk management in each cycle of the spiral model. IEEE defines the spiral model as ‘a model of the software development process in which the constituent activities, typical requirements analysis, preliminary and detailed· design, coding, integration, and testing, are performed iteratively until the software is complete.
The objective of the spiral model is to emphasize management to evaluate and resolve risks in the software project. Different areas of risks in the software project are project overruns, changed requirements, loss of key project personnel, delay of necessary hardware, competition with other software developers and technological breakthroughs, which make the project obsolete.
Table Advantages and Disadvantages of Prototyping Model
The steps involved in the spiral model are listed below.
1. Each cycle of the first quadrant commences with identifying the goals for that cycle. In addition, it determines other alternatives, which are possible in accomplishing those goals.
2. The next step in the cycle evaluates alternatives based on objectives and constraints. This process identifies the areas of uncertainty and focuses on significant sources of the project risks. Risk signifies that there is a possibility that the objectives of the project cannot be accomplished. If so, the formulation of a cost-effective strategy for resolving risks is followed.
3. The development of the software depends on remaining risks. The third quadrant develops the final software while considering the risks that can occur. Risk management considers the time and effort to be devoted to each project activity such as planning, configuration management, quality assurance, verification, and testing.
4. The last quadrant plans the next step and includes planning for the next prototype and thus, comprises the requirements plan, development plan, integration plan, and test plan.
One of the key features of the spiral model is that each cycle is completed by a review conducted by the individuals or users. This includes the review of all the intermediate products, which are developed during the cycles. In addition, it includes the plan for the next cycle and the resources required for that cycle.
The spiral model is similar to the waterfall model as software requirements are understood at the early stages in both the models. However, the major risks involved with developing the final software are resolved in the spiral model. When these issues are resolved, a detailed design of the software is developed.Notethat processes in the waterfall model are followedby different cycles in the spiral model as shown in Figure.
The spiral model is also similar to the prototyping model as one of the key features of prototyping is to develop a prototype until the user requirements are accomplished. The second step of the spiral model functions similarly. The prototype is developed to clearly understand and achieve the user requirements. If the user is not satisfied with the prototype, a new prototype known as operational prototype is developed.
Various advantages and disadvantages associated with the spiral model are listed in Table.
Table Advantages and Disadvantages of Spiral Model