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

n
                                                                   I
                                                      C h a p t e r   1 :
                                                                       o
                                                                      r
                                                                     t
                                                                              n
                                                                          c
                                                                         u
                                                                        d
                                                                             o
                                                                            i
                                                                            t
                                                      C  h  a  p  t  e  r     1  :     I n t r o d u c t i o n      13 13
                      was that “the developers will finish writing the requirements.” But
                      when  doing  a  risk  analysis,  it  was  nearly  always  quite  clear  that
                      having  the  developers  complete  the  requirements  was  not  an
                      appropriate process, due to
                          •  Limited access to subject matter experts
                          •  Lack of experience or bias when defining product requirements
                         At the back end of the project, the failure to properly define the
                      requirements almost always caused a greater delay than would have
                      happened by allowing the requirements specification to be completed
                      with the appropriate level of detail up front.
                      Traceable
                      Requirements traceability is the ability to describe and follow the life
                      of a requirement, in both a forward and backward direction, i.e., from
                      its  origins,  through  its  development  and  specification,  to  its
                      subsequent  deployment  and  use,  and  through  periods  of  ongoing
                      refinement and iteration in any of these phases” [Gotel et al. 1994].
                      Traceability  is  required  for  proper  requirements  management  and
                      project tracking.
                         A requirement is traceable if the source of the requirement can be
                      identified, any product components that implement the requirement
                      can  easily  be  identified,  and  any  test  cases  for  checking  that  the
                      requirement has been implemented can easily be identified.
                         Tracing is sometimes mandated by a regulatory body such as the
                      Federal  Aviation  Administration  (FAA)  or  Food  and  Drug
                      Administration  (FDA)  for  product  safety.  Furthermore,  there  are
                      some  rare  situations  where  failure  to  create  the  appropriate  traces
                      between requirements can have legal repercussions. Traceability is
                      discussed in more detail in Chapter 7.


                      Other Project- or Product-Specific Characteristics
                      Occasionally, the requirements for a specific project or product have
                      characteristics that do not apply to all the projects or products. While
                      it can be argued that an attribute that crosscuts all other requirements
                      is just another requirement, when treated as a characteristic it is more
                      likely that the requirement will be fulfilled. For example, if a new
                      system  is  being  built  that  must  be  downward  compatible  with  an
                      older  system,  it  could  be  argued  that  the  need  for  downward
                      compatibility is just a nonfunctional requirement. However, we have
                      found that having such all-encompassing requirements converted to
                      characteristics makes it more likely that the completed system will be
   35   36   37   38   39   40   41   42   43   44   45