Page 128 -
P. 128

4.7   Requirements management  111



                                                        Initial                 Changed
                                                    Understanding             Understanding
                                                      of Problem               of Problem



                                                        Initial                     Changed
                     Figure 4.17                     Requirements                 Requirements
                     Requirements
                     evolution                                                            Time

                                         There are a number of requirements validation techniques that can be used
                                       individually or in conjunction with one another:

                                       1.  Requirements reviews The requirements are analyzed systematically by a team
                                          of reviewers who check for errors and inconsistencies.
                                       2.  Prototyping In this approach to validation, an executable model of the system in
                                          question is demonstrated to end-users and customers. They can experiment with
                                          this model to see if it meets their real needs.

                                       3.  Test-case  generation Requirements  should  be  testable.  If  the  tests  for  the
                                          requirements are devised as part of the validation process, this often reveals
                                          requirements problems. If a test is difficult or impossible to design, this usually
                                          means that the requirements will be difficult to implement and should be recon-
                                          sidered. Developing tests from the user requirements before any code is written
                                          is an integral part of extreme programming.


                                         You should not underestimate the problems involved in requirements validation.
                                       Ultimately, it is difficult to show that a set of requirements does in fact meet a user’s
                                       needs. Users need to picture the system in operation and imagine how that system
                                       would fit into their work. It is hard even for skilled computer professionals to per-
                                       form this type of abstract analysis and harder still for system users. As a result, you
                                       rarely find all requirements problems during the requirements validation process. It
                                       is inevitable that there will be further requirements changes to correct omissions and
                                       misunderstandings after the requirements document has been agreed upon.





                                 4.7 Requirements management


                                       The requirements for large software systems are always changing. One reason for this is
                                       that these systems are usually developed to address ‘wicked’ problems—problems that
                                       cannot be completely defined. Because the problem cannot be fully defined, the soft-
                                       ware requirements are bound to be incomplete. During the software process, the stake-
                                       holders’ understanding of the problem is constantly changing (Figure 4.17). The system
                                       requirements must then also evolve to reflect this changed problem view.
   123   124   125   126   127   128   129   130   131   132   133