What is the Spiral Model?The Spiral Life Cycle Model is a type of iterative software development model which is generally implemented in high risk projects. It was first proposed by Boehm. In this system development method, we combine the features of both, waterfall model and prototype model. In Spiral model we can arrange all the activities in the form of a spiral.
Each loop in a spiral represents a development phase (and we can have any number of loops according to the project). Each loop has four sections or quadrants :
1. To determine the objectives, alternatives and constraints. We try to understand the product objectives, alternatives in design and constraints imposed because of cost, technology, schedule, etc.
2. Risk analysis and evaluation of alternatives. Here we try to find which other approaches can be implemented in order to fulfill the identified constraints. Operational and technical issues are addressed here. Risk mitigation is in focus in this phase. And evaluation of all these factors determines future action.
3. Execution of that phase of development. In this phase we develop the planned product. Testing is also done. In order to do development, waterfall or incremental approach can be implemented.
4. Planning the next phase. Here we review the progress and judge it considering all parameters. Issues which need to be resolved are identified in this phase and necessary steps are taken.
Subsequent loops of spiral model involve similar phases. Analysis and engineering efforts are applied in this model. Large, expensive or complicated projects use this type of life cycle. If at any point of time one feels the risk involved in the project is a lot more than anticipated, one can abort it. Reviews at different phases can be done by an in-house person or by an external client.
Why spiral model is called meta model?Spiral model is also called as meta-model because in a way it comprises of other models of SDLC. Both waterfall and prototype models are used in it. Here we do software development systematically over the loops (adhering to waterfall approach) and at the same time we make a prototype and show it to user after completion of various phase (just in case of prototype model). This way we are able to reduce risks as well as follow systematic approach.
Now let’s discuss the advantages and disadvantages of Spiral Model in detail.
|Spiral Model Diagram|
Advantages of Spiral Model1) Spiral Life Cycle Model is one of the most flexible SDLC models in place. Development phases can be determined by the project manager, according to the complexity of the project.
2) Project monitoring is very easy and effective. Each phase, as well as each loop, requires a review from concerned people. This makes the model more transparent.
3) Risk management is one of the in-built features of the model, which makes it extra attractive compared to other models.
4) Changes can be introduced later in the life cycle as well. And coping with these changes isn’t a very big headache for the project manager.
5) Project estimates in terms of schedule, cost etc become more and more realistic as the project moves forward and loops in spiral get completed.
6) It is suitable for high risk projects, where business needs may be unstable.
7) A highly customized product can be developed using this.
Disadvantages of Spiral Model1) Cost involved in this model is usually high.
2) It is a complicated approach especially for projects with a clear SRS.
3) Skills required, to evaluate and review project from time to time, need expertise.
4) Rules and protocols should be followed properly to effectively implement this model. Doing so, through-out the span of project is tough.
5) Due to various customizations allowed from the client, using the same prototype in other projects, in future, is difficult.
6) It is not suitable for low risk projects.
7) Meeting budgetary and scheduling requirements is tough if this development process is followed.
8) Amount of documentation required in intermediate stages makes management of project very complex affair.
I hope after reading the benefits(pros)and drawbacks(cons) of Spiral model, you will be a better judge to which model suits your requirements best.
Copyright © ianswer4u.com
Update : Recently a new friend of mine, Anja Skrba, translated this article for her Croation readers. We appreciate her hard work. You can check her article by clicking here(opens in new window).
Difference between Prototype Model and Waterfall Model
Prototyping Model: Advantages and Disadvantages
Advantages and Disadvantages of Waterfall Model
What is Waterfall Iterative Model?
Characteristics of a Good Software