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.
   62   63   64   65   66   67   68   69   70   71   72