Data Collection Techniques

Data gathering is the interaction between the software engineer (in this case a business analyst) and the customers (including users). There are many techniques for gathering data, including interviews, meetings, observations, questionnaires, reviewing software, reviewing internal documents, and reviewing external documents. Read this section to differentiate between them and pay attention to the main advantages and disadvantages of each one of these techniques.

2. Meetings

Meetings are gatherings of three or more people for a fixed period to discuss a small number of topics and sometimes to reach consensus decisions. Meetings can both complement and replace interviews. They complement interviews by allowing a group verification of individual interview results. They can replace interviews by providing a forum for users to collectively work out the requirements and alternatives for an application. Thus, meetings can be useful for choosing between alternatives, verifying findings, and for soliciting application ideas and requirements.

Meetings can also be a colossal waste of time (see Table 4-2). In general, the larger the meeting, the fewer the decisions and the longer they take. Therefore, before having a meeting, a meeting plan should be developed. The agenda should be defined and circulated in advance to all participants. The number of topics should be kept to between one and five. The meeting should be for a fixed period with specific checkpoints for decisions required. In general, meetings should be no longer than two hours to maintain the attention of the participants. The agenda should be followed and the meeting moved along by the project manager or SE, whoever is running the meeting. Minutes should be generated and circulated to summarize the discussion and decisions. Any follow-up items should identify the responsible person(s) and a date by which the item should be resolved.

Meetings are useful for surfacing requirements, reaching consensus, and obtaining both detailed and summary information (see Table 4-2). If decisions are desired, it is important to ask the decision makers to attend and to tell them in advance of the goals for the meeting. If the wrong people participate, time is wasted and the decisions are not made at the meeting.

Joint application development (lAD) is a special form of meeting in which users and technicians meet continuously over several days to identify application requirements (see Figure 4-3). Before a JAD session, users are trained in the techniques used to document requirements, in particular, diagrams for data and processes are taught. Then, in preparation for the JAD session, the users document their own jobs using the techniques and collecting copies of all forms, inputs, reports, memos, faxes, and so forth used in performing their job.

 TABLE 4-5 Interviewee Behaviors and Interviewer Response

Interviewee Behavior Interviewer Response
Guesses at answers rather than admit ignorance After the interview, cross-check answers
Tries to tell interviewer what she or he wants to hear rather than correct facts Avoid questions with implied answers. Cross-check answers
Gives irrelevant information Be persistent in bringing the discussion to the desired topic
Stops talking when the interviewer takes notes Do not take notes at this interview. Write notes as soon as the interview is done. Ask only the most important questions. Have more than one interview to get all information.
Rushes through the interview Suggest coming back later
Wants no change because she or he likes the current work environment Encourage elaboration of present work environment and good aspects. Use the information to define what gets kept from the current method.
Shows resentment; withholds information or answers guardedly Begin the interview with personal chitchat on a topic of interest to the interviewee. After the person starts talking, work into the interview.
Is not cooperative, refusing to give information Get the information elsewhere. Ask this person, "Would you mind verifying what someone else tells me about this topic?"

If the answer is no, do not use this person as an information source.
Gripes about the job, pay, associates, supervisors, or treatment Listen for clues. Be noncommittal in your comments. An example might be, "You seem to have lots of problems here; maybe the application proposed might solve some of the problems." Try to move the interview to the desired topic.
Acts like a techno-junkie, advocating state-of-the-art everything Listen for the information you are looking for. Do not become involved in a campaign for technology that does not fit the needs of the application.

A JAD session lasts from 3 to 8 days, and from 7 to 10 hours per day. The purpose of the sessions is to get all the interested parties in one place, to define application requirements, and to accelerate the process of development. Several studies show that JAD can compress an analysis phase from three months into about three weeks, with comparable results. The advantage of such sessions is that users' commitment is concentrated into a short period of time. The disadvantage is that users might allow interruptions to divert their attendance at JAD meetings, thus not meeting the objective. JAD is discussed in more detail in the Introduction to Part II.


FIGURE 4-3 JAD Meeting