Page 67 -
P. 67
38 PART ONE THE PRODUCT AND THE PROCESS
project” starts at the core of the spiral and will continue (multiple iterations occur
along the spiral path that bounds the central shaded region) until concept develop-
ment is complete. If the concept is to be developed into an actual product, the process
proceeds through the next cube (new product development project entry point) and
a “new development project” is initiated. The new product will evolve through a num-
ber of iterations around the spiral, following the path that bounds the region that has
somewhat lighter shading than the core. In essence, the spiral, when characterized
in this way, remains operative until the software is retired. There are times when the
process is dormant, but whenever a change is initiated, the process starts at the appro-
priate entry point (e.g., product enhancement).
The spiral model is a realistic approach to the development of large-scale systems
and software. Because software evolves as the process progresses, the developer and
customer better understand and react to risks at each evolutionary level. The spiral model
XRef uses prototyping as a risk reduction mechanism but, more important, enables the devel-
Evolutionary models, oper to apply the prototyping approach at any stage in the evolution of the product. It
such as the spiral maintains the systematic stepwise approach suggested by the classic life cycle but incor-
model, are particularly
well-suited to the porates it into an iterative framework that more realistically reflects the real world. The
development of object- spiral model demands a direct consideration of technical risks at all stages of the proj-
oriented systems. See ect and, if properly applied, should reduce risks before they become problematic.
Part Four for details.
But like other paradigms, the spiral model is not a panacea. It may be difficult to
convince customers (particularly in contract situations) that the evolutionary approach
is controllable. It demands considerable risk assessment expertise and relies on this
expertise for success. If a major risk is not uncovered and managed, problems will
undoubtedly occur. Finally, the model has not been used as widely as the linear
sequential or prototyping paradigms. It will take a number of years before efficacy of
this important paradigm can be determined with absolute certainty.
2.7.3 The WINWIN Spiral Model
The spiral model discussed in Section 2.7.2 suggests a framework activity that
addresses customer communication. The objective of this activity is to elicit project
requirements from the customer. In an ideal context, the developer simply asks the
customer what is required and the customer provides sufficient detail to proceed.
Unfortunately, this rarely happens. In reality, the customer and the developer enter
into a process of negotiation, where the customer may be asked to balance func-
tionality, performance, and other product or system characteristics against cost and
Eliciting software time to market.
requirements demands 7
negotiation. Successful The best negotiations strive for a “win-win” result. That is, the customer wins by
negotiation occurs getting the system or product that satisfies the majority of the customer’s needs and
when both sides the developer wins by working to realistic and achievable budgets and deadlines.
“win”.
7 Dozens of books have been written on negotiating skills (e.g., [FIS91], [DON96], [FAR97]). It is
one of the more important things that a young (or old) engineer or manager can learn. Read one.