are here: Freetutes.com
Analysis and Design
The Spiral Life Cycle Model
This is a recent model that has been proposed by Boehm. As the name suggests,
the activities in this model can be organized like a spiral. The spiral has many
cycles. The radial dimension represents the cumulative cost incurred in accomplishing
the steps dome so far and the angular dimension represents the progress made in
completing each cycle of the spiral. The structure of the spiral model is shown
in the figure given below. Each cycle in the spiral begins with the identification
of objectives for that cycle and the different alternatives are possible for achieving
the objectives and the imposed constraints.
The next step in the spiral life cycle model is to evaluate these different
alternatives based on the objectives and constraints. This will also involve identifying
uncertainties and risks involved. The next step is to develop strategies that
resolve the uncertainties and risks. This step may involve activities such as
simulation and prototyping. Next, the software is developed by keeping in mind
the risks. Finally the next stage is planned.
The next step is determined by remaining risks. For example, its performance
or user-interface risks are considered more important than the program development
risks. The next step may be evolutionary development that involves developing
a more detailed prototype for resolving the risks. On the other hand, if the program
development risks dominate and previous prototypes have resolved all the user-interface
and performance risks; the next step will follow the basic waterfall approach.
The risk driven nature of the spiral model allows it to accommodate any mixture
of specification-oriented, prototype-oriented, simulation-oriented or some other
approach. An important feature of the model is that each cycle of the spiral is
completed by a review, which covers all the products developed during that cycle,
including plans for the next cycle. The spiral model works for developed as well
as enhancement projects.
Spiral Model Description
The development spiral consists of four quadrants as shown in the figure above
Quadrant 1: Determine objectives, alternatives, and constraints.
Quadrant 2: Evaluate alternatives, identify, resolve risks.
Quadrant 3: Develop, verify, next-level product.
Quadrant 4: Plan next phases.
Although the spiral, as depicted, is oriented toward software development,
the concept is equally applicable to systems, hardware, and training, for example.
To better understand the scope of each spiral development quadrant, let’s
briefly address each one.
Quadrant 1: Determine Objectives, Alternatives, and Constraints
Activities performed in this quadrant include:
Establish an understanding of the system or product objectives—namely
performance, functionality, and ability to accommodate change.
Investigate implementation alternatives—namely design, reuse, procure,
and procure/ modify
Investigate constraints imposed on the alternatives—namely technology,
cost, schedule, support, and risk. Once the system or product’s objectives,
alternatives, and constraints are understood, Quadrant 2 (Evaluate alternatives,
identify, and resolve risks) is performed.
Quadrant 2: Evaluate Alternatives, Identify, Resolve Risks
Engineering activities performed in this quadrant select an alternative approach
that best satisfies technical, technology, cost, schedule, support, and risk constraints.
The focus here is on risk mitigation. Each alternative is investigated and prototyped
to reduce the risk associated with the development decisions. Boehm describes
these activities as follows:
. . . This may involve prototyping, simulation, benchmarking, reference checking,
questionnaires, analytic modeling, or combinations of these and other risk resolution
The outcome of the evaluation determines the next course of action. If critical
operational and/or technical issues (COIs/CTIs) such as performance and interoperability
(i.e., external and internal) risks remain, more detailed prototyping may need
to be added before progressing to the next quadrant. Dr. Boehm notes that if the
alternative chosen is “operationally useful and robust enough to serve as
a low-risk base for future product evolution, the subsequent risk-driven steps
would be the evolving series of evolutionary prototypes going toward the right
(hand side of the graphic) . . . the option of writing specifications would be
addressed but not exercised.” This brings us to Quadrant 3.
Quadrant 3: Develop, Verify, Next-Level Product
If a determination is made that the previous prototyping efforts have resolved
the COIs/CTIs, activities to develop, verify, next-level product are performed.
As a result, the basic “waterfall” approach may be employed—meaning
concept of operations, design, development, integration, and test of the next
system or product iteration. If appropriate, incremental development approaches
may also be applicable.
Quadrant 4: Plan Next Phases
The spiral development model has one characteristic that is common to all models—the
need for advanced technical planning and multidisciplinary reviews at critical
staging or control points. Each cycle of the model culminates with a technical
review that assesses the status, progress, maturity, merits, risk, of development
efforts to date; resolves critical operational and/or technical issues (COIs/CTIs);
and reviews plans and identifies COIs/CTIs to be resolved for the next iteration
of the spiral.
Subsequent implementations of the spiral may involve lower level spirals that
follow the same quadrant paths and decision considerations.
Other Software/System Development Life Cycles
Previous Page | Contents
| Next Page >>