Page 109 -
P. 109

After an initial set of interviews, a requirements analyst should follow up with meetings to
                          verify his or her notes and to gather any new information that the interviewees may have
                          come up with. These meetings may consist of additional interviews, ad-hoc meetings with
                          one or more people, brainstorming sessions, or other kinds of interactions.

                                    NOTE
                                    More information on interviews can be found in Managing Software
                                    Requirements: A Use Case Approach by Dean Leffingwell and Don Widrig
                                    (Addison Wesley, 2003).


                          Observe Users at Work
                          Observing a user’s workflow in the context of his or her environment allows a require-
                          ments analyst to see problems that the user encounters with the current system and to
                          identify ways to enhance and streamline the behavior of the software. Watching users at
                          work provides a more accurate understanding of their activities than simply asking them
                          to communicate the steps involved in performing their tasks. Often there are many details
                          that someone familiar with a task might not think to mention, but that are very important
                          for the requirements analyst to fully understand the task.
                          Most software is built to help users with a job that they already do. Many software projects
                          have a goal of automating or augmenting existing manual processes, providing new capa-
                          bilities to existing people in an organization, or replacing and extending legacy software
                          programs. In all of these cases, there are already people in the organization who are doing
                          work that is relevant to the behavior of the software.
                          Once the requirements analyst has identified people who will use the software and whose
                          day-to-day work is relevant to the behavior of the software, it is useful to observe those
                          people at their jobs.
                          There are a few guidelines that may be useful:
                          • Many software projects are started because people who are doing work face tedious or
                            difficult tasks that could be automated. Those people are often happy to open up and

                            talk about the problems that need to be solved.
                          • Some people may feel self-conscious being observed. It is important that they know that
                            the goal of the requirements analyst is to understand their needs in order to build soft-
                            ware to help them. It is also important that they understand that the software is not
                            being built to replace them, but to help make their jobs easier.
                          • Many organizations have training programs for new employees. If a training program
                            exists for the job being observed, the requirements analyst should attend it. This will
                            often yield more insight into the work, especially if there are training materials that can
                            be used as part of the requirements gathering process.
                          • If possible, the requirements analyst should try to participate in the work being
                            observed. This is often an effective way to understand the perspective of the users of the
                            software.

                                                                                   SOFTWARE REQUIREMENTS  101
   104   105   106   107   108   109   110   111   112   113   114