What is Spiral Model?
Spiral Model is a risk-driven software development process model. It is a combination of the waterfall model and the iterative model. Spiral Model helps to adopt software development elements of multiple process models for the software project based on unique risk patterns ensuring an efficient development process. Spiral Model is called a meta-model because it uses both Waterfall and Prototype models. But it’s highly important to understand that Spiral Model is not just a sequence of waterfall increments.
This model is best used for large projects which involve continuous enhancements. There are specific activities that 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 until the entire software is built. Each phase of spiral model in software engineering begins with a design goal and ends with the client reviewing the progress. The spiral model in software engineering was first mentioned by Barry Boehm in his 1986 paper.
Four main phases of Spiral Model are:
It has four stages or phases: The planning of objectives, risk analysis, engineering or development, and finally reviews. A project passes through all these stages repeatedly and the phases are known as a Spiral in the model.
• Determine Objectives
• Alternatives
• Constraints
• Planning Phase
Determine objectives and find alternate solutions – This phase includes requirement gathering and analysis. Based on the requirements, objectives are defined and different alternate solutions are proposed. There’s a wide range of them, from trivial to fatal. The primary task for the development team is to enumerate all the possible risks and prioritize them according to importance.
Risk Analysis and resolving – In this quadrant, all the proposed solutions are analyzed and any potential risk is identified, analyzed, and resolved. During the first spiral, when the overall requirements are not so clear, the so-called Proof of Concept (POF) is created to get the customer’s feedback.
Develop and test: This phase includes the actual implementation of the different features. All the implemented features are then verified with thorough testing.
Review and planning of the next phase – In this phase, the software is evaluated by the customer. It also includes risk identification and monitoring like cost overrun or schedule slippage and after that planning of the next phase is started.
Spiral Model – Pros and Cons
The plus point of the spiral model is that it enables components of the product to add when they are available or active. It eliminates any possibility of a conflict with any late requirements or the design. This process is compatible with approaches that have multiple software builds and releases which permits forming an orderly shift to a maintenance exercise. Another unique aspect of this approach is that the spiral model requires an early user engagement in the system development exercise.
On the other side, it takes dogmatic management to conclude such products, and there is a gamble of going the spiral in an indeterminate loop. So, the system of change and the amount of taking change requests is critical to build and deploy the software favorably.