Before starting the Spiral Model in Software Development Life Cycle, I would suggest you check this post “Software Development Life Cycle”
You could see different types of Software Development Methodologies in that post. I have mentioned the Spiral Model as one of the Software Development Methodologies over there.
I would also suggest you read about the “Software Testing Life Cycle”
Let’s see what is the Spiral Model in SDLC and it’s advantages and disadvantages in detail.
Spiral Model was first described by Barry W. Boehm (American Software Engineer) in 1986.
The spiral model works in an iterative nature. It is a combination of both the Prototype development process and the Linear development process (waterfall model). This model places more emphasis on risk analysis. Mostly this model adapts to large and complicated projects where risk is high. Every Iteration starts with planning and ends with the product evaluation by the client.
Let’s take an example of a product development team (like Microsoft). They know that there will be high risk and they face lots of difficulties in the journey of developing and releasing the product
and also they know that they will release the next version of the product when the current version is in existence. They prefer the Spiral Model to develop the product in an iterative nature. They could release one version of the product to the end-user and start developing the next version which includes new enhancements and improvements on the previous version (based on the issues faced by the user in the previous version). Microsoft released Windows 8 and improved it based on user feedback and released the next version (Windows 8.1).
Spiral Model undergoes 4 phases.
Planning Phase – Requirement Gathering, Cost Estimation, Resource Allocation
Risk Analysis Phase – Strengths and weaknesses of the project
Design Phase – Coding, Internal Testing and deployment
Evaluation Phase – Client Evaluation (Client-side Testing) to get the feedback
- It allows requirement changes
- Suitable for large and complicated projects
- It allows better risk analysis
- Cost effective due to good risk management
- Not suitable for small projects
- The success of the project depends on the risk analysis phase
- Have to hire more experienced resource especially for risk analysis