Software Development Lifecycle Models: ACM SIGSOFT Software Engineering Notes May 2010
Software Development Lifecycle Models: ACM SIGSOFT Software Engineering Notes May 2010
net/publication/220631422
CITATIONS READS
113 40,399
1 author:
Nayan Ruparelia
Hewlett Packard Enterprise
3 PUBLICATIONS 126 CITATIONS
SEE PROFILE
All content following this page was uploaded by Nayan Ruparelia on 15 November 2014.
the process flow; this allowed for the stages to overlap in addition The waterfall model is the most efficient way for creating
to the preceding stage to be revisited. But Royce also felt that this software in category 1 discussed earlier. Examples for this would
arrangement could prove inadequate since the iteration may need be relational databases, compilers or secure operating systems.
to transcend the succeeding-preceding stage pair’s iteration. This
would be the case at the end of the evaluation (or testing) stage B-Model
when you may need to iterate to the design stage bypassing the In 1988, Birrell and Ould discussed an extension to the water-
development stage or at the end of the design stage where you fall model that they called the b-model [3]. By extending the op-
may need to revisit the requirements definition stage bypassing erational life-cycle (denoted as the maintenance cycle) and then
the analysis stage. That way, the design and the requirements, attaching it to the waterfall model, they devised the b-model as
respectively, are redefined should the testing or the design war- shown in Figure 2. This was done to ensure that constant im-
rant. This is illustrated in Figure 1 by the dashed arrows that show provement of the software or system would become part of the
a more complex feedback loop. Further, Royce suggested that a development stages. Also, they felt that an alternative to obsoles-
preliminary design stage could be inserted between the require- cence needed to be captured so that enhanced or even newer sys-
ments and analysis stages. He felt that this would address the cen- tems could be developed as spin-offs from the initial system.
tral role that the design phase plays in minimizing risks by being
re-visited several times as the complex feedback loop of Figure 1
shows.
The main strengths of this model are: the spiral model adds user involvement during its risk reduction
i. Feedback from earlier iterations can be incorporated in activities whereas the v and the waterfall models incorporate it
the current iteration. during the initial requirements definition phase. Additionally, the
ii. Stakeholders can be involved through the iterations, and risks and opportunities feature of the vee+ mean that certain stag-
so helps to identify architectural risks earlier. es of the v at the lower decomposition levels could be truncated in
iii. Facilitates delivery of the product with early, incremental order to integrate COTS (commercial, off-the-shelf software)
releases that evolve to a complete feature-set with each packages [6]. This means that varying levels of products, at dif-
iteration. ferent levels of decomposition, can be added to the life cycle in a
iv. Incremental implementation enables changes to be seamless manner.
monitored, and issues to be isolated and resolved to Another variation of the v-model is the vee++ model [6] that
mitigate risks. adds intersecting processes to the vee+ model; a decomposition
analysis and resolution process is added to the left leg of the v
V-Model shape, and a verification analysis and decomposition process is
The v-model, also known as the vee model, first presented at added to the right one.
the 1991 NCOSE symposium in Chattanooga, Tennessee [4], was Like the waterfall, the v-model is more suited to category 1
developed by NASA. The model is a variation of the waterfall systems; the creators modified the model to the vee+ for catego-
model in a V shape folded in half at the lowest level of decompo- ries 1 and 3, and thereafter created the vee++ model for all cate-
sition, as Figure 3 shows. The left leg of the V shape represents gories. However, a key strength of the v-model is that it can be
the evolution of user requirements into ever smaller components used in very large projects where a number of different contrac-
through the process of decomposition and definition; the right leg tors, sub-contractors and teams are involved; decomposition, in-
represents the integration and verification of the system compo- tegration and verification at each stage with all the parties
nents into successive levels of implementation and assembly. The involved is made possible by the v-model prior to progressing to
vertical axis depicts the level of decomposition from the system the next stage. This factor is acknowledged by the time parameter
level, at the top, to the lowest level of detail at component level atbeing represented by the y and z axes of the model. Thus, a large
the bottom. Thus, the more complex a system is the deeper the V number of parties and stakeholders in a very large project become
shape with correspondingly larger number of stages. The v- inherently integrated using a requirements-driven approach.
model, being three-dimensional, also has an axis that is normal to
the plane, the z-axis. This represents components associated with Spiral Model
multiple deliveries. Time is therefore represented by two axes: Boehm modified the waterfall model in 1986 [7] by introduc-
from left to right and into the plane. ing several iterations that spiral out from small beginnings. An
oft- quoted idiom describing the philosophy underlying the spiral
method is start small, think big.
fall’s specification driven approach to a risk-driven one. Each management, quite flexible contract mechanisms between the
cycle traverses four quadrants, as illustrated by Figure 4. These stakeholders and between each cycle of the spiral, and it relies
are: heavily on the systems designers’ ability to identify risks correct-
i. Determine objectives. ly for the forthcoming cycle.
ii. Evaluate alternatives, and identify and resolve risks.
iii. Develop and test. Wheel-and-spoke Model
iv. Plan the next iteration. The wheel-and-spoke model is based on the spiral model and
As each cycle within the spiral progresses, a prototype is built, is designed to work with smaller teams initially, which then scale
verified against its requirements and validated through testing. up to build value faster. It is a bottom-up approach that retains
Prior to this, risks are identified and analyzed in order to manage most of the elements of the spiral model by comprising of mul-
them. The risks are then categorized as performance (or user- tiple iterations.
interface) related risks or development risks. If development risks First, system requirements are established and a preliminary
predominate, then the next step follows the incremental waterfall design is created. Thereafter, a prototype is created during the
approach. On the other hand, if performance risks predominate, implementation stage. This is then verified against the require-
then the next step is to follow the spiral through to the next evolu- ments to form the first spoke of the model. Feedback is propagat-
tionary development. This ensures that the prototype produced in ed back to the development cycle and the next stage adds value to
the second quadrant has minimal risks associated with it. create a more refined prototype. This is evaluated against the re-
Risk management is used to determine the amount of time and quirements and feedback is propagated back to the cycle; this
effort to be expended for all activities during the cycle, such as forms the second spoke. Each successive stage goes through a
planning, project management, configuration management, quali- similar verification process to form a spoke. The wheel represents
ty assurance, formal verification and testing. Hence, risk man- the iteration of the development cycle.
agement is used as a tool to control the costs of each cycle. The wheel-and-spoke model has many uses. It can be used to
An important feature of the spiral model is the review that create a set of programs that are related by a common API. The
takes place as part of the y-axis of Figure 4. This process occurs common API then forms the center of the model with each pro-
at the completion of each cycle and covers all of the products and gram verifying its conformance to the API (this in essence forms
artifacts produced during the previous cycle including the plans a common set of requirements) at each spoke. Another applica-
for the next cycle as well as the resources required for it. A pri- tion of this model is with the Architecture Development Method
mary objective of the review process is to ensure that stakehold- (ADM) of The Open Group Architecture Framework (TOGAF)
ers are committed to the approach to be taken during the next [9] where the spokes are used to validate the requirements during
cycle. the development of the architecture, as Figure 5 shows.
A set of fundamental questions arise about the spiral model: Like the spiral, it is more amenable to category 1 and 2 use
i. How does the spiral get started? cases.
ii. How and when do you get off the spiral?
iii. How does system enhancement or maintenance occur?
Boehm’s response to these questions was to use a complemen-
tary model that he called the Mission Opportunity Model (MOM)
[7]. Using the MOM as a central pivot, the operational mission is
assessed at key junctures as to whether further development or
effort should be expended. This is done by testing the spiral
against a set of hypotheses (requirements) at any given time; fail-
ure to meet those hypotheses leads to the spiral being terminated.
To initiate the spiral, however, the same process is followed using
the MOM.
In 1987, Iivari suggested a modification to the spiral model in
the January issue of this publication [8] that he called the hierar-
chical spiral model. He proposed to sub-divide each quadrant of
the spiral into two parts to allow for sub-phases. With this ap-
proach, he provisioned for baselines and milestones to be created
for each cycle in order to have greater control for that cycle. Also,
he suggested that the main phases be risk-driven, as with the spir-
al, but the sub-phases should be specification or process driven as
in the case of the waterfall. This combination of the risk-
specification paradigms would make the hierarchical spiral model
cost conscious (like the spiral) as well as disciplined (like the wa-
terfall).
A key benefit of the spiral model is that it attempts to contain
project risks and costs at the outset. Its key application is for the
category 1 use case. However, sufficient control of the cycles
could make it adoptable for the other categories as well. The main
difficulty of the spiral is that it requires very adaptive project Figure 5: TOGAF's ADM as a wheel-and-spoke model.
ACM SIGSOFT Software Engineering Notes Page 12 May 2010 Volume 35 Number 3