Introduction
Spiral model is a software development methodology which is the combination of iterative model and waterfall model. It is a risk driven software development model.
Barry Bohem who is an American software engineer has introduced about the spiral model in 1986. Spiral model provides supports for risk handling. It is created in order to reduce the risk in software development. The development process in Spiral model in SDLC, starts with a small set of requirements and goes through each development phase for those set of requirements.
The spiral model has its loops which is the development phase. Spiral model is divided into different phases. Each phase gets tested and errors are tackled. Every phase of this model starts with design objectives and ends with a client review. The client can see how the system is being developed.
This model is used for large, expensive and complicated projects because proper risk assessment is essential. Users can see the system early because of rapid prototyping feature. Risk evaluation might take a longer time in the system development process. This model can be very complex for small projects. The diagram below represents the spiral model.
Spiral model development phases are divided into 4 parts
Determine objective
In this phase, the requirements are gathered from the customers. This is the first stage where alternative solutions are proposed.
Identify and resolve the risk
In this phase, risks are identified in an early stage of development. Solve the risk in the initial stage so that it does not affect further. Different alternative solutions are implemented for risk management.
Development and test
This phase is the most important because the system is developed and tested. In spiral model, testing is done in each iteration for determining if there are bugs any.
Planning the iterations
In this fourth phase, the next iteration is planned if the developed product does not satisfy the customer. This iteration iterates until the customers are satisfied. So after each iteration is completed the development team must get ready for the next iteration.
When to use spiral model?
- When prototype is required.
- When risk is medium or high.
- When the requirements are not clear.
- When customer demands an early release.
- This model need to be used if the project is large and complex.
- When customers request to add more feature in the existing system.
Advantages
- Ptototype is made in each iteration.
- High amount of risk analysis.
- Good for large and mission-critical projects.
- Strong approval and documentation control.
- Additional Functionality can be added at a later date.
- Customers feedback is accepted during development.
- Speeds up development.
- Cost estimation becomes easy.
Disadvantages
- Can be a costly model to use.
- Documentation must be done properly.
- It must be followed strictly by the team.
- Risk analysis requires highly specific expertise.
- Project’s success is highly dependent on the risk analysis phase.
- Doesn’t work well for smaller projects.
- The iteration has no limit, it can go infinitely until the product is released.
- Difficult in time management
The degree to which I admire your work is as substantial as your own enthusiasm. Your visual presentation is refined, and the material you’ve written is stylish. However, you seem apprehensive about potentially delivering something that may be viewed as questionable. I’m confident you’ll be able to address this issue promptly.