100daysofcode - Day 35
Hello friends, a new day is up and some new informations are a must. In yesterday’s post, we talked about the iterative model, its advantages, disadvantages, and when to use it.
In today’s post we will talk about the spiral model. Where we will dive together into its building blocks to learn more about how it merges the waterfall approach with the iterative one.
What is the spiral model ?
- A software process model that couples the iterative feature of prototyping with the controlled and systematic aspects of the linear sequential model. It implements the potential for rapid development of new versions of the software. Using the spiral model, the software is developed in a series of incremental releases. During the early iterations, the additional release may be a paper model or prototype. During later iterations, more and more complete versions of the engineered system are produced.
Each cycle in the spiral is divided into four parts:
- Objective setting: Each cycle in the spiral starts with the identification of purpose for that cycle, the various alternatives that are possible for achieving the targets, and the constraints that exists.
- Risk Assessment and reduction: The next phase in the cycle is to calculate these various alternatives based on the goals and constraints. The focus of evaluation in this stage is located on the risk perception for the project.
- Development and validation: The next phase is to develop strategies that resolve uncertainties and risks. This process may include activities such as benchmarking, simulation, and prototyping.
- Planning: Finally, the next step is planned. The project is reviewed, and a choice made whether to continue with a further period of the spiral. If it is determined to keep, plans are drawn up for the next step of the project.
Spiral Model Advantages
- High amount of risk analysis
- Useful for large and mission-critical projects.
Spiral Model Disadvantages
- Can be a costly model to use.
- Risk analysis needed highly particular expertise
- Doesn’t work well for smaller projects.