The spiral model is a software development model. This model iterates the phases of software development until a more complete version of the software is achieved.
It is mainly known for its risk analysis and risk handling capabilities.
Spiral Model in Software Engineering
- Define Spiral Model
- Different Phases of Spiral Model
- Risk Handling in Spiral Model
- Advantages and Disadvantages
What is Spiral Model?
Spiral Model is a software process model. The spiral model collaborates the features of two processes that we have studied earlier that are the iterative process model and the waterfall model.
Each cycle of the spiral model process begins with the design goals. And the cycle ends with the more complete versions of the software.
Different Phases of Spiral Model
The four phases of a spiral model are:
- Analyze Risks and Plan
- Analyze Requirement
Risk Analysis and Planning
Analyzing risk in the development of the software and planning according is the first stage of the spiral model. This stage includes:
- Analyzing the objectives of the software. Such as its performance, its functionalities.
- Analyzing the limitations that can affect the processing of this stage. Such as the cost of the software, deadlines, etc.
- Determine the alternative methods to implement this stage. Such as outsourcing this stage, reusing something else to implement this stage, trying some other way.
- Evaluate the identified alternative methods against the criteria set by the determined objectives and limitations.
- Identify the way to overcome the risk involved in the development of the software.
- Set a deadline to start the next stage in the development of the software.
In this phase of the spiral model, requirements are collected for performing the next stage of the model i.e., construction.
In the construction phase of the spiral model, the engineers start developing the software. This stage involves:
- Implement the requirements collected in the previous stage.
- Validating the software whether the developed software meets the user requirement or not. It is all about whether the software is constructed correctly or not.
- Verifying whether the developed software achieves the goals. And the software doesn’t have any bugs.
In the evaluation phase, it is verified that the development of the software is on the track. And all the participants whether they are a developer or user that has specified the requirement are happy with the progress of the software.
After the evaluation phase the next cycle of the model start that repeats these four stages again. This model never prescribes the number of cycles that must be performed in order to develop software. The number of cycles always depends on the nature of the software developed.
Risk Handling in Spiral Model
The best part of the spiral model is that it identifies the uncertainties that might occur while developing the software. This model handles these risks very carefully.
The uncertainties of the risks experienced while developing the software are as follow:
- After providing a precise statement about the requirements, the client may change his requirements.
- If the development of the software exceeds for a long duration. Then it may happen that the user’s requirements are ignored.
- A team member from the development team may leave. May the member be switched to another project or may the member has left the company.
- Development of one of the modules of the software may exceed the deadline.
- May the performance of the developed software be slow from the expected speed.
- The software may be heavy and occupy too much space in the main memory.
- The requirements provided by the user may be misunderstood by the software engineer.
- The developed software may demand a new hardware configuration.
- After developing the software, a new software developing tool has become available in the market.
- The competitors may have launched a similar software in the market with less price and more features.
How Spiral Model Handles Risk?
We have discussed the number of risks that are most commonly experienced by software engineers. However, the spiral model minimizes these risks by making explicit and repeated iterations of the phases of the software development process.
As in the spiral model at each cycle, the first phase is risk analysis. As the risk is recognized at each iteration the appropriate actions can be taken to control the development of the software.
The spiral error discovers the risks or the errors more frequently and they are fixed immediately. Later the errors are recognized, more effort is required to fix them.
Advantages and Disadvantages
- This model is the best software development model. Because it analyzes and handles the risk that occurs as the development of the software proceeds.
- It is usually implemented for large and complex software.
- This model makes the development of the software flexible as it accommodates the changes requested by the user at later stages.
- In this model, each cycle represents a more complete version of the software. So, the users become habitual of using the software before its completion.
- The spiral model’s flexibility in later stages increases its cost.
- It is not appropriate for small software.
- In this model, the development of the software depends on risk analysis and risk handling. So, if the experienced engineers are not present in the development team. This model may be a failure.
- The number of cycles is not precise and totally depends on the nature of the software. Thus, it is difficult to estimate the exact time is quite impossible.
Thus, we can declare that the spiral model is the most complex among all the software development life cycle models.