The spiral model was originally proposed by Boehm. As the name suggests, the activities in this model can be organized like a spiral that has many cycles. Using the spiral model, software is developed in a series of incremental releases. The focus of this model is based on risk perception for the project. Risk reflects the chances that some of the objectives of the project may not be met. The steps are taken to develop the strategies that resolve the uncertainties and risks.
It provides a framework for designing the software production process; guided by the risk levels in the project at hand and be viewed as a Meta model. A spiral model is divided into a number of framework activities, also called task regions.
Figure drawn above depicts a spiral model that contains six task regions :
- Customer Communication : tasks required to establish effective communication between developer and customer.
- Planning : tasks required to define resources and other projects related
- Risk Analysis : tasks required to assess both technical and management risk.
- Engineering : tasks required to build one or more representations of the
- Construction and Release : tasks required to construct, test, install and provide user support (documentation and training).
- Customer Evaluation : task required to obtain customer feedback based on evaluation of software. .
As the evolutionary process begins, the software engineering team moves around the spiral in clockwise direction, beginning at the center.
The spiral model is a realistic approach to the development of large-scale systems and software because software evolves as the process progresses; the developer and customer better understand and react to the risk at each evolutionary level.
The spiral model demands a direct consideration of technical risks at all stages of the project. It demand considerable.risk assessment expertise and relies on this expertise for success.
Advantages of Spiral Model
- The emphasis on automation and constrains supports the reuse of existing software, and the incorporation of software quality as a specific objective.
- No distinction between maintenance and development.
- It is very flexible and risk driven model.
Disadvantages of Spiral Model
- Restriction on the range of its applicability.
- May cost too much, due to the risk analysis at each spiral.
- There are no strict standards for software development.
- No particular beginning or end of particular phase.