The spiral model is a systems development methodology used in developing area. It combines the features of the prototyping model and the waterfall model which means a combination of linear and iterative frameworks. Focus is on risk assessment. “Each cycle involves a progression through the same sequence of steps, for each portion of the product and for each of its levels of elaboration, from an overall concept-of-operation document down to the coding of each individual program.” (Barry, 1986) Four phases of spiral model are,
- Determine objectives and alternatives
- Identify and resolve risks
- Development and test
- Plan the next iteration
“Begin each cycle with an identification of stakeholders and their own win conditions, and end each cycle with review and commitment.” (Boehm,2000) Thorough analysis and design will be done before implementing the system.
- High amount of risk analysis hence, avoidance of risk is enhanced properly.
- Good for larger and mission-critical software projects.
- Strong project approval and documentation control which supports the future developers.
- Additional functionality can be added at a later date.
- Useful in helping to select the best methodology to follow for development of a given software iteration, based on project risk.
- Can incorporate waterfall, prototyping and incremental methodologies as special cases in the framework.
- Highly customized to each project.
- A skilled project manager is required to determine how to apply it to any given project.
- There are no established controls for moving from one cycle to another cycle.
- There are no firm deadlines.
- Possibility exists that project ends up implemented following a waterfall framework.
- Quite complex because there are several iterations.
- Experienced project manager is required.
- Cycles continue with no clear termination condition.
Situations where most appropriate
- Large projects since iterations help continuous improvement.
- Expensive projects.
- Complicated projects.
- Real time systems.
- Risk avoidance is a high priority.
- Minimizing resource consumption is not an absolute priority.
- Project manager is highly skilled.
- Requirement exists for strong approval.
- Project might benefit from a mix of other development methodologies.
- A high degree of accuracy is essential.
- Implementation has priority over functionality.
- Safety critical systems.
- Project manager is experienced.
- Documentation control.
Situations where least appropriate
- Risk avoidance is a less priority.
- A high degree of accuracy is not important.
- Functionality of the software has a higher priority over implementation of the software.
- Minimizing resource consumption is a priority because this methodology uses a huge amount of resources.
I Answer 4 U, (2017). Spiral Model – Advantages and Disadvantages. [image] Available at: https://follownuwi.files.wordpress.com/2017/02/40129-spiral_model.jpg [Accessed 8 Feb. 2017].
Barry, B. (1986). A Spiral Model of Software Development and Enhancement. 1st ed. [ebook] p.8. Available at: http://csse.usc.edu/TECHRPTS/1988/usccse88-500/usccse88-500.pdf [Accessed 7 Feb. 2017].
SELECTING A DEVELOPMENT APPROACH. (2005). 3rd ed. [ebook] Centers for Medicare and Medicaid Services, pp.1-10. Available at: https://www.cms.gov/Research-Statistics-Data-and-Systems/CMS-Information-Technology/XLC/Downloads/SelectingDevelopmentApproach.pdf [Accessed 6 Feb. 2017].