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

d
                                                                         u
                                                                          c
                                                                       o
                                                                            i
                                                                             o
                                                                   I
                                                                    n
                                                                     t
                                                                            t
                                                                              n
                                                      C h a p t e r   1 :
                                                                      r
                                                      C  h  a  p  t  e  r     1  :     I n t r o d u c t i o n      5 5
                      observed  that  problems  tend  to  be  exacerbated  by  three  critical
                      factors, the first being a decision to outsource the implementation, the
                      second being a significant change in technology, and the third being
                      the introduction of new products (e.g., entering a market where the
                      company has minimal prior experience).
                         When a decision is made to outsource, changes must take place in
                      all processes, especially in the area of requirements engineering. The
                      implementation  may  be  done  by  staff  with  minimal  domain
                      knowledge and, because of customs, logistics, time, or distance, with
                      limited access to subject matter experts. Attempts to use the same
                      processes  and  techniques  used  for  in-house  development  for  the
                      development of specifications for subcontracting or outsourcing may
                      lead  to  significant  delays  in  delivery,  sometimes  even  resulting  in
                      project cancellation.
                         When technology changes rapidly, domain experts may no longer
                      be “experts.” Techniques and solutions that worked for many years
                      may become obsolete or irrelevant. Such technological discontinuities
                      may  require  substantial  new  training,  or  the  experts  in  the  older
                      technologies may make poor decisions for new product designs. A set
                      of  key  success  factors  for  identifying  potential  requirements
                      engineering  problems  early  has  been  developed  at  SCR  and  is
                      described in the next section.

                 1.4  Key Success Factors in Requirements Engineering
                      This section contains a checklist describing key factors for success in
                      requirements engineering. Most of the factors can be evaluated prior
                      to project initiation. Although project success cannot be guaranteed,
                      it is likely that if several of the success factors are not in place there
                      may be significant project difficulties.

                      The Project Has a Full-Time, Qualified Chief Architect
                      On many large projects the only senior technical role that spans the
                      requirements process through delivery is that of the chief architect.
                      He provides technical continuity and vision, and is responsible for
                      the management of the nonfunctional requirements (e.g., scalability,
                      quality, performance, environmental, etc.) and for the implementation
                      of  the  functional  requirements.  In  our  experience  having  an
                      experienced, full-time architect on a project contributes significantly
                      to its success [Hofmeister et al. 1999], [Paulish 2002].
                      A Qualified Full-Time Architect Manages
                      Nonfunctional Requirements
                      The architect is responsible for managing nonfunctional requirements
                      and  the  relationships  among  requirements  analysis,  development,
                      and management.
   27   28   29   30   31   32   33   34   35   36   37