In software development process there was a need to maintain and follow a standard process to develop a software. people started to develop process model, winston W. Royce in the year 1970 came up with waterfall model.
The waterfall model served the purpose in the beginning but due to it’s linear design process failed to serve the purpose. In the year 1986 Barry Boehm came up with A Spiral Model of Software Development and Enhancement.
The spiral model is an iterative model for the software development process which added advantage through continuous refinement in software development phases like requirement phase, analysis phase, design phase and implementation.
Spiral model of software development establishes the transition criteria for progressing from one stage to the next with refinement on each iteration.
The radial dimension in Figure represents the cumulative cost incurred in accomplishing the steps to date; the angular dimension represents the progress made in completing each cycle of the spiral.
Each cycle of the spiral begins with the identification of goal of portion of the product being elaborated,the alternative means of implementing this portion of the product and the constraints imposed on the application of the alternatives. Frequently this process with identify areas of uncertainly that are significant sources of project risk, once the risk is evaluated- the next step is determined by the relative remaining risks of the product development.
The risk-resolution activities done in the phase1 of spiral model includes surveys and analyses, including structured interviews of software developers and managers. plan in the next phase involves a partitioning into seperate activities to address managemnet improvements, facilities development and development of the increments of a software development environment.
The key characteristic of a Spiral model is risk management at regular stages in the development cycle.
The Spiral is visualized as a process passing through some number of iterations, with the four quadrant diagram representative of the following activities:
- Formulate plans to: identify software targets, selected to implement the program, clarify the project development restrictions
- Risk analysis: an analytical assessment of selected programs, to consider how to identify and eliminate risk
- Implementation of the project: the implementation of software development and verification
Risk-driven spiral model, emphasizing the conditions of options and constraints in order to support software reuse, software quality can help as a special goal of integration into the product development. However, the spiral model has some restrictive conditions, as follows:
- The spiral model emphasizes risk analysis, and thus requires customers to accept this analysis and act on it. This requires both trust in the developer as well as the willingness to spend more to fix the issues, which is the reason why this model is often used for large-scale internal software development.
- If the implementation of risk analysis will greatly affect the profits of the project, the spiral model should not be used.
- Software developers have to actively look for possible risks, and analyze it accurately for the spiral model to work.
The first stage is to formulate a plan to achieve the objectives with these constraints, and then strive to find and remove all potential risks through careful analysis and, if necessary, by constructing a prototype. If some risks can not be ruled out, the customer has to decide whether to terminate the project or to ignore the risks and continue anyway. Finally, the results are evaluated and the design of the next phase begins.
Spiral model has helped software engineers who can get there hands in and start working on project earlier. it is more able to cope with changes that software development entails. spiral model estimates to get more realistic as work progress. spiral model adds features in phases. product that is implemented using spiral model has increased it’s productivity to a larger extent.