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

64   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



                 3.5   Managing the Customer Relationship
                      Managing  the  customer  relationship  is  important  during  the  entire
                      project  or  product  life  cycle,  and  it  is  crucial  during  the  elicitation
                      process. Both the consumer and the supplier need to have an ongoing
                      understanding  of  the  product.  It  may  be  necessary  to  continually
                      interact  with  the  customer  to  maintain  good  relations  and  keep  the
                      customer informed; e.g., bring them bad news early rather than later.
                      Project management should never go into denial over issues such as
                      delivery  dates.  Rather,  open  and  frequent  communication  with  the
                      client can usually prevent more severe difficulties from occurring later.
                         Furthermore, it may be necessary to secure customer cooperation
                      in order to get access to domain expertise. If, for example, a project is
                      on a fixed schedule and relations with the client are not managed
                      properly,  access  to  the  client’s  domain  experts  may  be  restricted,
                      resulting in late delivery.
                         It is our experience that constant communication with the customer
                      is essential for a positive outcome. There may be a tendency on some
                      projects to elicit the requirements and then forget about the customer
                      until the factory acceptance test. Doing so is a mistake, as the potential
                      for misunderstandings widens significantly as a project progresses.
                      Keeping the customer up-to-date on progress, demonstrating features
                      (e.g.,  for  prototypes,  see  Chapter  9),  and  eliciting  comments  or
                      suggestions are both ethically correct and good business.


                 3.6   Managing Requirements Elicitation
                      Requirements elicitation is like any other project activity. It must be
                      planned,  it  must  be  managed  properly,  and  speedy  follow-up  on
                      open issues is essential. While every organization or group has its
                      own way of doing things, we have found that certain activities are
                      essential to achieving a positive outcome.

                      Planning Elicitation Sessions
                      In order for elicitation sessions to be successful, they must be planned.
                      Planning  includes  setting  up  the  framework  for  conducting  the
                      sessions,  managing  the  output  of  the  sessions,  and  defining
                      completion. We offer these suggestions:

                           1.  Set up a schedule of elicitation sessions. Since diverse domain
                             expertise  may  be  needed,  sessions  need  to  be  defined  for
                             capturing  needs  based  on  the  expertise  needed  for  each
                             domain that is in scope. For example, in sessions to define a
                             new insurance system, it might be necessary to capture the
                             needs of marketing, sales, underwriting, accounting, etc. Since
                             the people who would be participating are usually critical to
                             the operation of an organization and access to them may be
                             limited, the schedule may need to be carefully defined.
   89   90   91   92   93   94   95   96   97   98   99