Page 83 - Software and Systems Requirements Engineering in Practice
P. 83

54   S o f t w a r e   &   S y s t e m s   R e q u i r e m e n t s   E n g i n e e r i n g :   I n   P r a c t i c e


                      “Analytic  Hierarchy  Process”  (AHP),  is  where  the  stakeholder  or
                      analyst  ranking  the  requirements  looks  at  only  two  requirements,
                      compares them, and ranks them; e.g., the more important of the two is
                      placed higher in a list. This process is done iteratively until all the
                      requirements have been ranked. While the approach may work well
                      for small requirements sets, as the number of requirements N increases,
                      the  number  of  rankings  that  must  be  done  increases  quadratically
                      (N(N – 1)/2) [Sheehan et al. 2000]. Since different stakeholders may
                      rank  the  same  requirements  set  differently,  an  approach  must  be
                      formulated  to  merge  the  different  sets  of  ranked  requirements.  We
                      therefore  recommend  that  a  pairwise  ranking  prioritization  be
                      restricted to stakeholder requests or product features (near the top of
                      the pyramid), to reduce the ranking effort.
                         Another technique used to prioritize requirements is the “planning
                      game,”  or  PG,  approach,  popularized  with  extreme  programming
                      [Beck 1999]. In the PG approach, stakeholder requests, features, or
                      requirements  (depending  on  when  prioritization  takes  place)  are
                      partitioned into three sets that align with Kano qualities: “needed for
                      the system to function,” “add real value,” and “nice to have but not
                      necessary.” An informal risk analysis is done to determine the ease of
                      implementation  effort,  and  a  final  decision  is  made  as  to  which
                      features or requirements to implement.
                         Ranking cannot take place in a vacuum; e.g., the cost and risk
                      associated  with  implementation  must  be  known.  Furthermore,  in
                      some industries additional factors such as hazards (to the consumer)
                      and  technology  shifts  must  be  considered.  For  example,  a  novel
                      technique for opening and closing car windows is evaluated that uses
                      a light sensor; i.e., no physical contact with the switch is required. The
                      cost to implement is low, customers evaluate the feature very highly,
                      and it seems to have high positive emotional value. However, the
                      hazard analysis (see Chapter 11) indicates the potential for an unsafe
                      condition, as a child can be hurt or injured when the window rises
                      accidentally. As a result, the feature is not included in the next year’s
                      car model.
                         In summary, initial prioritization of stakeholder requests should
                      take  place  as  early  in  a  product  life  cycle  as  possible.  Several
                      prioritization activities may be needed, one just for the stakeholders,
                      another when the architect or designers evaluate the cost and risk of
                      implementation, and possibly additional sessions prior to the build/
                      no build decision. Prioritization should be accomplished as far up the
                      requirements pyramid as is feasible, with ranking taking place once
                      the  requirements  are  sufficiently  finalized  such  that  the  cost  and
                      resource impact of implementation is understood. Furthermore, some
                      techniques such as pairwise ranking may not be feasible with a large
                      number of requirements, e.g., rank at the feature level and not at the
                      system level. Prioritization (and the ranking of small sets of requests)
                      can  be  combined  with  the  stakeholder  review  process  where  the
   78   79   80   81   82   83   84   85   86   87   88