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

t
                                                           t
                                                                    n
                                                                :
                                                                   I
                                                       h
                                                      C
                                                        a
                                                            e
                                                             r
                                                               1
                                                                        d
                                                                         u
                                                                       o

                                                                      r
                                                                             o
                                                                              n
                                                                            i
                                                                          c
                                                                            t
                                                         p
                                                      C h a p t e r   1 :      I n t r o d u c t i o n      15 15
                         Requirements elicitation and analysis are typically done under
                      project time constraints. Consequently, it is important to prioritize
                      and  identify  risks  when  defining  requirements.  For  example,  “If
                      this nonfunctional requirement is not completely analyzed, what
                      are  the  risks  to  the  project,  the  company,  and/or  the  user?”  By
                      doing  a  risk  analysis,  the  effort  associated  with  fully  defining  a
                      requirement set can usually be balanced against the needs of the
                      project. Techniques for doing risk analysis of high-level requirements
                      (e.g.,  balancing  effort  against  need)  will  be  discussed  further  in
                      Chapter 5.
                 1.8  Requirements and Project Failure
                      It must be remembered that most systems under development are not
                      new; i.e., only a fraction of the requirements in the product are new or
                      unique  [Jones  2007].  Yet  issues  of  requirements  maintenance  and
                      long-term  support  are  often  missing  from  project  plans;  e.g.,  the
                      project plan is created as though the requirements will be discarded
                      after project completion. When long-term requirements management
                      is  not  planned,  requirements  creep  can  cause  significant  problems
                      late in a project. Furthermore, Capers Jones reports that the defect
                      rate increases significantly in requirements that are injected late over
                      those that are created prior to the start of implementation, and the
                      most egregious defects in requirements defined or modified late in a
                      project can sometimes show up in litigation [Jones 2007].
                 1.9  Quality and Metrics in Requirements Engineering
                      As was mentioned in connection with the success factors for projects,
                      project indicators need to be defined in order to have some measure
                      of  project  transparency.  It  is  important  to  be  able  to  answer  the
                      questions “Am I making progress?” and “What is the quality of my
                      work  products?”  How  does  one,  for  example,  determine  that  a
                      requirements specification is of high quality?
                         Requirement  characteristics  or  quality  indicators  are  extremely
                      important for determining artifact quality. They can be measured by
                      inspection (metrics), and the reported metrics can then be used to
                      determine the quality of individual requirements and requirements
                      specifications.  Furthermore,  metrics  summaries  tracked  over  time
                      can be used to identify potential problems earlier to permit corrective
                      actions, and provide guidance as to what type of corrective actions to
                      take.  For  example,  a  high  level  of  ambiguity  in  a  requirement  set
                      might indicate that the analysts creating the requirements may need
                      additional training in requirements writing. Some of the chapters in
                      this book provide guidance on how to capture and use metrics to
                      improve requirements processes.
   37   38   39   40   41   42   43   44   45   46   47