What is Spiral model ?

The spiral model is similar to the incremental model, with more emphasis placed on risk analysis and it was proposed by Dr. Berry Boehm. The spiral model combines the idea of iterative development with the systematic, controlled aspects of the waterfall model. This Spiral model is a combination of iterative development process model and sequential linear development model i.e. the waterfall model with a very high emphasis on risk analysis. It allows incremental releases of the product or incremental refinement through each iteration around the spiral.

The Spiral model is best used for large projects which involves continuous enhancements. There are specific activities which 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 till the entire software is build. These activities are divided by task regions. These task regions are defined as follows :

Figure : Spiral model

1. Customer Communication : It includes the tasks which are required to establish the effective communication between the developer and the customer. The main focus is to determine objectives, alternatives of the project.

2. Planning : It is very important to plan about cost, time and the human manpower. Requirements are studied and gathered in this phase. It includes estimating the cost, schedule and resources for the spirals.  As the product matures, identification of system requirements and unit requirements are all done in this phase.

3. Risk Analysis : Risk Analysis includes identifying, estimating, and monitoring technical feasibility and management risks, such as schedule slippage and cost overrun. Once the risks are identified, risk mitigation strategy is planned and finalized.

4. Engineering : This phase refers to production of the actual software product at every spiral. Actual development and testing of the software takes place in this phase. It includes testing, coding and deploying software at the customer site. A POC (Proof of Concept) is developed in this phase to get customer feedback.

5. Construction and Release : This is the incremental step in which testing is done first.

6. Customer Evaluation : After testing the build, at the first phase, the customer evaluates the product and provides feedback. If he/she is not satisfied, then we again through spiral.

When to use Spiral model :
  • When costs and risk evaluation is important
  • For medium to high-risk projects.
  • Long-term project commitment because of potential changes to economic priorities as the requirements change with time.
  • Customer is not sure of their requirements which is usually the case.
  • Requirements are complex and need evaluation to get clarity.
  • New product line which should be released in phases to get enough customer feedback.
  • Significant changes are expected in the product during the development cycle.

Advantages of Spiral model :
  1. Cost estimation becomes easy as prototype building is done in small segments.
  2. Development can be divided into smaller parts and more risky parts can be developed earlier which helps better risk management.
  3. Development is fast and features are added in a systematic way.
  4. There is always a room for customer feedback and the changes are implemented faster.

Disadvantages of Spiral model :
  1. It works best for large projects only and could be expensive for small projects.
  2. Risk analysis is important phase so requires expert people for risk assessment.
  3. Documentation is more as it has large number of intermediate phases for its smooth operation spiral model protocol needs to be followed strictly.
  4. Not suitable for small or low risk projects and could be expensive for small projects.

Next Topic :

No comments:

Post a Comment