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