What Is the Spiral Model?
The spiral model is an evolutionary software development process model that takes into account the iterative features of rapid prototyping and the systematic and rigorous monitoring of the waterfall model. The biggest feature of the spiral model is that it introduces risk analysis that other models do not have, so that the software has the opportunity to stop when it cannot rule out major risks to reduce losses. At the same time, building a prototype at each iteration stage is a way for spiral models to reduce risk. The spiral model is more suitable for large and expensive system-level software applications. [1]
- Chinese name
- Spiral process model
- Foreign name
- Spiral Model
- The spiral model is an evolutionary software development process model that takes into account the iterative features of rapid prototyping and the systematic and rigorous monitoring of the waterfall model. The biggest feature of the spiral model is that it introduces risk analysis that other models do not have, so that the software has the opportunity to stop when it cannot rule out major risks to reduce losses. At the same time, building a prototype at each iteration stage is a way for spiral models to reduce risk. The spiral model is more suitable for large and expensive system-level software applications. [1]
- In 1988, Barry Boehm officially published the "spiral model" for software system development. It combined the waterfall model and rapid prototyping model, emphasizing the risk analysis ignored by other models, especially suitable for large and complex system.
Introduction to the Spiral Model
- The Spiral Model uses a periodic approach to system development. This led to the development of numerous intermediate versions. Using it, project managers are able to demonstrate certain concepts to clients early on. The model is a rapid prototyping method, centered on an evolutionary development approach, using a waterfall model method at each project stage. Each cycle of this model includes four phases: requirement definition, risk analysis, project realization and review, and iteratively from these four phases. With each iteration of the software development process, software development goes one level further. The software process using the spiral model is shown below:
- Software process
- The spiral model emphasizes risk analysis, so that developers and users have an understanding of the risks that occur in each evolutionary layer, and then respond accordingly. Therefore, it is particularly suitable for large, complex and high-risk systems. For these systems, risk is a negligible and potentially unfavorable factor in software development. It may damage the software development process and affect the quality of software products to varying degrees. The goal of reducing software risks is to identify and analyze the risks in a timely manner before causing harm, and decide what countermeasures to take to eliminate or reduce the damage of the risks.
Four quadrants of the spiral model
- The spiral model is iterated several times along the spiral, and the four quadrants in the figure represent the following activities:
- Four quadrants
- (2) Risk analysis: analyze and evaluate the selected plan, and consider how to identify and eliminate risks;
- (3) Implementation project: implementation of software development and verification;
- (4) Customer evaluation: evaluate the development work, propose amendments, and formulate the next plan.
- The spiral model is risk-driven, emphasizing alternatives and constraints to support software reuse, helping to integrate software quality into product development as a special goal.
Spiral Model Frequently Asked Questions
- The spiral model is largely a risk-driven approach, because risk assessments must be performed before each phase and before the recurring cycle. In practice, the spiral technique and process become simpler. Iterative methodologies tend to work more as developers / designers than as project managers. There are many variables in the spiral model, and there will be a larger increase in the future. The method system is working well. The following table shows the various problems that the spiral method can solve:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Spiral model constraints
- (1) Spiral model emphasizes risk analysis, but it is not easy for many customers to accept and trust this analysis and make relevant responses. Therefore, this model is often suitable for large-scale internal software development.
- (2) If performing risk analysis will greatly affect the profit of the project, then risk analysis is meaningless, so the spiral model is only suitable for large-scale software projects.
- (3) Software developers should be good at finding possible risks and analyzing them accurately, otherwise they will bring greater risks
- A stage is to first determine the goals of the stage, complete the selection of these goals and their constraints, and then analyze the development strategy of the scheme from a risk perspective, trying to eliminate various potential risks, sometimes by building prototypes. If certain risks cannot be ruled out, the program terminates immediately, otherwise the next development step is initiated. Finally, evaluate the results of this phase and design the next phase. [1]
Advantages and disadvantages of the spiral model
Spiral model advantages
- 1) Design flexibility, which can be changed at various stages of the project.
- 2) Build large systems with small segments, making cost calculations simple and easy.
- 3) The client is always involved in the development of each stage, ensuring that the project does not deviate from the correct direction and the controllability of the project.
- 4) As the project progresses, the client always has the latest information on the project so that he or she can effectively interact with the management.
- 5) Customers recognize the good communication and high-quality products brought by this company's internal development method.
Disadvantages of the spiral model
- It is difficult to convince users that the results of this evolutionary approach are controllable. The construction period is long, and the software technology develops relatively fast, so after the software development often occurs, there is a large gap with the current technical level, which cannot meet the current user needs.
- Items for Spiral Model apply:
- For the recent development, when the requirements are not clear, it is suitable to use the spiral model for development, which is convenient for risk control and requirements change.
Spiral Model Core
- The "Spiral Model" was initially small and gradually expanded when the project was better defined and more stable.
- The core of the "spiral model" is that you don't need to define everything clearly at the beginning. You get on the go, define the most important features, implement it, then listen to your customers before moving on to the next stage. Repeat this cycle until you get the final product you like.
- Each cycle consists of the following six steps:
- 1. Determine goals, options, and enforcement conditions.
- 2. Identify and mitigate risks.
- 3. Evaluate options.
- 4. Develop and test the current phase.
- 5. Plan for the next stage.
- 6. Identify the method steps for the next phase. [1]