in NOTES, Online Courses

Software Process Model: Spiral Models

In software product management, knowing what tools to use for a particular project of software development is important to be able to make the right choice in using the appropriate process. Another set of process models I’ve taken note in the Coursera course, Software Processes and Agile Practices are the spiral models, or the iterative software process models.

Iterative Software process models are the ones which allow for repeating stages of the process. These types of process models allow the development process to loop back on previous steps, and accept feedback within the process. They can be considered as the pioneer in agile practices, but also allows sequential steps.

SPIRAL MODEL

This model was introduced by Barry Boehm in 1986 where he outlines a basic process for designing and implementing a software system by revisiting phases of the process after they’ve been completed. This model basically has four (4) quadrants which stands as the phase of an iteration. An iteration is considered the duration of one full spiral or all four quadrants being completed one time. In each of these phase, there are activities and once completed, the process moves on to the next to complete one (1) iteration. Afterwards, the development team can review the product at the end of each spiral iteration.

Screenshot from the video: Spiral Model from the Coursera Course Software Processes and Agile Practices

In the Spiral model, even though the projects might differ per case basis, there are always six (6) conditions that almost always stay the same. These are called the invariants of the Spiral model, published by Barry Boehm in his follow up paper in year 2000. These invariants are:

  1. All work products of a software project should be created at the same time.
  2. All the quadrants in the model must be addressed, and there’s no skipping steps.
  3. Every project implementing the Spiral model should base the amount of time they spend on any particular activity, on the amount of risk involved in carrying that activity out.
  4. The software product manager should focus a lot on making sure that each decision is based on risk data.
  5. Each iteration of the Spiral should result in a tangible work product.
  6. The focus of the process should be on improving the process, as a whole.

DISADVANTAGES OF THE SPIRAL MODEL

Well, for this software process model, there are definitely pros and cons, and as a software product manager, one should be able to identify the disadvantages to see if it fits the project as whole. These disadvantages are the following:

  • Planning tends to be done upfront at the beginning of each Spiral.
  • Depending on the duration of the Spiral, it can be difficult to make good estimates.
  • The ability to minimize risk in a calculated fashion requires an immense amount of analytical expertise.
  • The risk assessment tasks can consume a great deal of resources in order to get it right.

As a summary, Spiral model is an iterative software process model that allows for the revision of the product in certain intervals. It has conditions to meet, and disadvantages when implemented just like the linear model. Most companies who employ the Spiral model are those who are working on large projects where the development team has lots of experience, data and technical expertise at their disposal.

References:

University of Alberta (2020). Software Processes and Agile Practices. [Coursera Course] under the Software Product Management Specialization. Taken November 2020.

Poulette, B. (2020). Spiral Model. [Video]. Embedded under the course study videos under Week 2 of the Software Processes and Agile Practices Coursera Course. Taken November 19, 2020.

Write a Comment

Comment