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

e
                                                                            n
                                                                              t
                                                                          m
                                                                       i
                                                                        r
                                                                         e
                                                                               s
                                                               n
                                                                g
                                                              i
                                                                    q

                                                                  R
                                                                   e
                                                     :
                                                    3

                                                          l
                                                            i
                                                           c
                                                           i
                                                  r
                                             h
                                           C
                                                                      u
                                              a
                                                 e
                                                t
                                               p
                                                             t
                                           C h a p t e r   3 :      E E l i c i t i n g   R e q u i r e m e n t s      41 41
                 3.2   Issues and Problems in Requirements Elicitation
                      Eliciting  requirements  from  stakeholders  can  sometimes  become  a
                      painful, drawn-out, and thankless task. Collecting requirements may
                      be viewed as an afterthought or assigned to junior staff. There may
                      even be situations where there are no documented requirements until
                      the project is nearing completion and the staff realizes that requirements
                      are necessary to create test cases, or even worse, a requirements review
                      is  necessary  for  client  acceptance  or  payment. A  difficult  task  may
                      then  begin  to  reverse-engineer  requirements  for  a  system  that  is
                      already in system test or nearing completion. When requirements are
                      reverse-engineered  from  a  product  under  construction  purely  for
                      contractual  reasons,  the  finished  system  may  not  meet  the  client’s
                      needs or be accepted. If the definition of nonfunctional requirements
                      is delayed until the end of the project, the system may turn out to be
                      inadequate for the intended purpose; e.g., it may not meet the needed
                      performance, reliability, or security goals. Typical situations that may
                      impede  or  otherwise  affect  the  requirements  elicitation  process  are
                      described  in  the  sections  that  follow,  along  with  suggestions  for
                      handling them.
                      The Missing Ignoramus
                      Elicitation should be led by senior staff members with experience and
                      training  in  requirements  elicitation  techniques.  An  elicitation  team
                      composed  of  a  mixture  of  experienced  staff  and  not-so-experienced
                      staff enables the mentoring and training of less-experienced members
                      of  the  team.  Furthermore,  it  is  usually  advisable  to  have  someone
                      involved with the elicitation process who has no domain knowledge,
                      e.g., someone who is not afraid to ask “what does that mean?” Professor
                      Dan Berry of the University of Waterloo refers to such an analyst
                      as  a  “smart ignoramus” [Berry 1995]. Without such people present,
                      situations  can  arise  where  insufficient  information  is  collected,  or
                      worse, the same term is used to mean different things. On one occasion
                      one  of  the  authors  was  the  facilitator  in  a  brainstorming  session  to
                      gather requirements for a payroll system for automobile dealerships.
                      During a discussion of contractual issues he asked the simple question
                      “what is a contract?” Several managers were dumbfounded that he
                      should ask such a question—after all, it was perfectly obvious what a
                      contract was. Yet it still took three days for the participants to agree on
                      a viable definition of contract.
                         It is beneficial to have the elicitation team ask the question “why?”
                      When a need is identified, by asking why, you may find legitimate
                      reasons for the need, or you might find out it is “feature folklore.”
                      Folklore is something that has been done on every project, but such
                      features have no value to the customer and nobody knows why they
                      are there. This can result in the elimination of an unnecessary need
                      that turns into a requirement that you implement and the customer
                      does not want.
   64   65   66   67   68   69   70   71   72   73   74