Sunday, 12 June 2011

Spiral Process Model


A refined version of the spiral process model
A more refined version, the 'second generation' spiral process model, has six tasks regions, as given below.
*Roll the mouse over the bulleted points above for a brief description of each.
The task regions executed in each iteration and the degree of execution depends on the requirements of the iteration. For example, if the first iteration is developing an analysis and design model, the task region for integration support is not relevant, and therefore, will be skipped.
Customizing the spiral process model
The spiral process model can be customized according to the existing requirements of the project.
Another process model can be embedded in the engineering task region during an iteration of the spiral process model. For example, during the first iteration of a project, when the requirements are unclear, the prototyping process model may be used in the 'engineering' task region. The prototype built is the output of that iteration. In the second iteration, when the requirements are clear, the linear sequential process model can be used in the engineering task region to build the product.
The task regions of the spiral model can also be customized based on what needs visibility and management focus
The spiral process model: A cinnamon roll
In his book, 'Rapid Development', while discussing how an iteration moves the project to a larger scale, Steve McConnell refers to the spiral process model as 'the cinnamon roll'.
He says, "You roll up one layer of the cinnamon roll, check to be sure that it is what you wanted, and then you begin on the next layer."
He also points out that each iteration of the spiral can be tailored to suit the needs of the project.
Benefits of the spiral process model
The spiral process model is very flexible and can be adapted for almost any type of project and product. The model has a number of variable components that can be selected suitably for such adaptation. These are as listed below.
  • The number of iterations
  • The task region definitions
  • The tasks performed during a specific iteration
  • The work products to be produced in an iteration
  • The level of customer evaluation
  • The timeline
The spiral process model is flexible because it allows modification of plans as the work progresses and when more is known about the product requirements.
Benefits of the spiral process model: An example
Consider a situation where an organization has launched a project to develop a new software product. The project manager is planning to use the spiral process model for development and has to decide the iterations to be performed.
One possible way of executing the project is by using two iterations of the spiral model. The first iteration can be used to create the concept paper of the system and the second iteration can be used to build the actual product.
The project can also be executed using more than two iterations. For example, the project manager may decide to have four iterations with the first one producing the concept paper, the next two releasing two versions of the prototype, and the last one leading to the creation of the final product.
Drawbacks of the spiral process model
Like all process models, the spiral model also has some drawbacks.
Some managers are not comfortable with the spiral model because they feel that if the model is used it will not be possible to fix a price and schedule for a project.
You can live in your own dream world and assume that the numbers that we generate here are going to remain stable and that we are going to meet those numbers, or you can be realistic and recognize that we are going to have to adjust those numbers as we learn more, collectively, you and I, as it were. That, however, is a major cultural shift. I'm not going to deny that, and some folks will struggle with this concept, and some organizations simply will not be able to accommodate it. Just intellectually, they won't be able to accommodate it.
Planning the iterations of the spiral process model
The spiral process model is iterative in nature. If the process model is not well managed, the iterations can go on indefinitely. To prevent such a situation, it is essential to plan each iteration and define the 'cut-offs' or 'outer limits' so that work progresses according to an overall schedule for delivery. The customer must be involved throughout the process, so that the subsequent iterations can be planned based on the customer feedback.
Although the spiral process model is not suitable for projects with a fixed price and schedule, these problems can be addressed through strong management support. The model is suitable for use only if the management, the project team, and the customer are agreeable to it.