Sprial Model

Spiral Model includes the best features of both the prototyping and waterfall model Software is developed in a series of incremental releases in the spiral model. At the early stage/iteration, the incremental release might be a paper model or prototype. Each iteration consists of Planning, Risk Analysis, Engineering, Construction & Release & Customer Evaluation

These regions include

Customer Communication task - Tasks required to establish effective communication between developer and customer

Planning task -Tasks required to define resources, timeliness, and other project related information.

Risk Analysis task - Tasks required to assess both technical and management risks.

Engineering task - Tasks required for building one or more representatives of the application.

Construction & Release task - (Tasks required to construct, test, install and provide user support e.g., documentation and training)

Customer Evaluation task - Tasks required to obtain customer feedback based on evaluation of the software representations created during the engineering stage and implemented during the installation state

The steps in the spiral model can be generalized as follows:

• New system requirements collected by interviewing a number of external or internal users and considering other aspects of the existing system are clearly defined 

• An initial design is created for the new system.
 
• Based on the initial design a first prototype of the new system is constructed
• Second prototype is evolved by a fourfold procedure:
 
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks;
(2) defining the requirements of the second prototype;
(3) planning and designing the second prototype;
(4) constructing and testing the second prototype.
 
• Entire project can be aborted at customer’s opinion if the risk is too high. Risk factors include development cost overruns, operating-cost miscalculation, or any other factor that could result in a less-than-satisfactory final product.
 
• The existing prototype is evaluated in the same manner as was the previous prototype, and, if necessary, another prototype is developed from it according to the fourfold procedure outlined above.
 
• The above steps are iterated until the customer is satisfied. The final system is constructed, based on the refined prototype.
 
• The final system is thoroughly evaluated and tested. Regular maintenance is carried out on a continuing basis to prevent large-scale failures and to reduce downtime.

Advantages:

• Provide better risk management
• Requirements are better defined

Disadvantages:

• Requires considerable risk assessment expertise
• Increases development costs and schedule