What is SDLC SPIRAL MODEL?
Spiral model is a combination of sequential and prototype model. This model is best used for large projects which involves continuous enhancements. There are specific activities which are done in one iteration (spiral) where the output is a small prototype of the large software. The same activities are then repeated for all the spirals till the entire software is build.
To explain in simpler terms, the steps involved in spiral model are:
A spiral model has 4 phases described below:
- Planning phase
- Risk analysis phase
- Engineering phase
- Evaluation phase.
Activities which are performed in the spiral model phases are shown below:
Phase Name Activities performed Deliverables / Output
-Requirements are studied and gathered.
- Feasibility study
- Reviews and walkthroughs to streamline the requirements
Requirements understanding document
Finalized list of requirements.
Requirements are studied and brain storming sessions are done to identify the potential risks
Once the risks are identified , risk mitigation strategy is planned and finalized
Document which highlights all the risks and its mitigation plans.
Actual development and testing if the software takes place in this phase
Test cases and test results
Test summary report and defect report.
Customers evaluate the software and provide their feedback and approval
Features implemented document
Different colors represent different spiral or iteration. For first iteration, represented in brown color , all the 4 activities (Planning, risk analysis, engineering and evaluation) are performed. After the evaluation phase is over for the first iteration (spiral), second iteration (spiral) starts The second iteration, which is represented in orange color, here again all the 4 activities (Planning, risk analysis, engineering and evaluation) are performed. In a similar way, third iteration is done shown in blue color and so on the process continues.
When to Use Spiral model?
Spiral model is used in the following scenarios:
- When the project is large.
- Where the software needs continuous risk evaluation.
- Requirements are a bit complicated and require continuous clarification.
- Software requires significant changes.
- Where enough time frame is their to get end user feedback.
- Where releases are required to be frequent.
Advantages of using Spiral Model:
Advantages of using Spiral model are as follows:
- Development is fast
- Larger projects / software are created and handled in a strategic way
- Risk evaluation is proper.
- Control towards all the phases of development.
- More and more features are added in a systematic way.
- Software is produced early.
- Has room for customer feedback and the changes are implemented faster.
Disadvantages of using Spiral model:
Disadvantages of Spiral model are as follows:
- Risk analysis is important phase so requires expert people.
- Is not beneficial for smaller projects.
- Spiral may go infinitely.
- Documentation is more as it has intermediate phases.
- It is costly for smaller projects.
Each spiral can be termed as a loop and each loop is a separate development process in a spiral model. The four activities (Planning, Risk analysis, engineering and evaluation) form the intermediary phases of a spiral model and is repeated again for each loop.
This model is very good to use for larger projects where you can develop and deliver smaller prototypes and can enhance it to make the larger software. The implementation of this model requires experienced resources as risk analysis is a very integral part of this model and risk analysis requires expertise and as a result this model becomes costly.