CSC/ECE 517 Fall 2012/ch2a 2w3 jm
Spiral Model
A spiral life-cycle model provides incremental development, using the waterfall model for each step, with aims of managing risk by ensuring client's approval on deliverables at the end of each iteration. This model was defined by Barry Boehm in his article A Spiral Model of Software Development and Enhancement<ref>Boehm, B. W.; , "A spiral model of software development and enhancement," Computer , vol.21, no.5, pp.61-72, May 1988 doi: 10.1109/2.59</ref> from 1986. This model was not the first model to discuss iteration, but it was the first model to explain why the iteration matters.The spiral model (Boehm, 1988) aims at risk reduction by any means in any phase. The spiral model is often referred to as a risk-driven model.
Why Spiral Model
Extreme Programming (XP) is a software development methodology created by Kent Beck during his work on the Chrysler Comprehensive Compensation System (C3) payroll project. Extreme Programming is intended to improve software quality and responsiveness to changing customer requirements. It is a one of the several types of agile software development processes. Extreme Programming is successful because it stresses customer satisfaction. Instead of delivering everything you could possibly want on some date far in the future this process delivers the software you need as you need it. Extreme Programming empowers developers to confidently respond to changing customer requirements, even late in the life cycle. Back to top
The Model
Goals
Advantages of Spiral Model
- Spiral Life Cycle Model is a highly flexible SDLC model as it allows changes to be implemented at several stages of the project and coping with these changes isn’t a very big headache for the project manager.
- 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. The list of concerned people not only include upper management but also the clients for which the software is being developed. As the client will be involved in the development of each segment, he would retain control over the direction and implementation of the project.
- Risk management<ref>http://istqbexamcertification.com/what-is-spiral-model-advantages-disadvantages-and-when-to-use-it/ </ref> is one of the in-built features of the model, which makes it extra attractive compared to other models.
- Project estimates<ref>http://www.sqa.org.uk/e-learning/SDM01CD/page_10.htm </ref> in terms of schedule, cost etc become more and more realistic as the project moves forward and loops in spiral get completed as the process of building up large systems in small segments makes it easier to derive correct metrics for these calculations.
- Project deliverables are generated at a very early stage of the project.
- It is suitable for high risk projects, where business needs may be unstable.
Disadvantages of Spiral Model
1) Cost<ref>http://newton.cs.concordia.ca/~paquet/wiki/index.php/Spiral_model </ref> involved in this model is usually high as no of deliverables to be provided increases with an added cost of risk assessment. 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.
Keep Reading : http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#ixzz29upoqg5d
Comparison with traditional waterfall model
Research Conclusion
References
<references/>
External Links
http://ieeexplore.ieee.org.prox.lib.ncsu.edu/stamp/stamp.jsp?tp=&arnumber=59&isnumber=6