The need to gather information about customers emerges in cases when the required system is complex, the customer does not know how to define the requirements, and knowledge about the best way the computerized system can serve the customer is required. There are several ways to gather information about customers in order to assist them in defining their requirements. The tools discussed in this chapter are interviews, observations, and questionnaires. We highlight how these tools are used for gathering qualitative data (to distinguish from quantitative data), since we are interested in people s conceptions, beliefs, and needs. In practice, for the development of real systems, we need to collect both qualitative and quantitative data.
To gain different perspectives and a wide as possible view of the customer s needs, in most of the cases more than one data collection tool is used. For example, in a questionnaire, we may ask about the customer s opinion; in an observation, we can look at how the customer behaves and analyze what this behavior implies for the developed software; and, in interviews, we may ask the interviewee to elaborate and explain what was written in the questionnaires and what was observed in the observation.
There are different kinds of interviews: TV interviews, job interviews, ethnographic interviews, and others. Although they are all conducted for different aims, they all have one target: the interviewer wants to learn something about the interviewee that the interviewer doesn t already know. This something can be the interviewee s opinions , interpretations, and simple facts about work routines.
The aim of interviews conducted to gather information about a customer who asks for a software system is to learn about the features of the needed software, the anticipated user interaction with the system, and any other information that may improve the developers understanding about the customer s needs related to the developed software. In general, when we come to interview future users of the application to be developed, we should try to understand as much as possible the interviewee s point of view.
Interviews are a very useful way to get information. Interviewees may present information relevant to their work, express their opinion and estimations with respect to different aspects of the application, and articulate their feelings about their work and the expected influence of the new system on their work. Of course, the information gathered during an interview may be inaccurate, but interviews supply us with first-hand information. Still, we should not make any decision about the requirements of the developed system based only on interviews. As mentioned previously, data should be collected using other tools as well.
In the following discussion, we assume that interviews are conducted as a preparation for the development of an application that will be used by many users of different types, all in one organization. This assumption may raise interesting problems that may not emerge in cases in which an application is developed for only one person. Here are several questions that we should ask ourselves when we face such a situation: Who will be interviewed in the organization? If we know whom to interview, in what order should we interview them? What types of questions should we ask each person, and how will the interview be managed? Should we decide on the interview s structure a priori , or should we act according to how the interview proceeds? These questions are addressed in the paragraphs that follow.
Of course, there is no need to interview all the employees of the organization. We should select the key people from any sector ( group ) that will use the system. It is important to select people from different groups and levels, as they may interpret various issues differently. Furthermore, sometimes it may be informative to interview people who are not part of the organization but are in contact with people in the organization. Their input may help in creating a system that also supports the organization s connections with other parties. The decision about who to interview can also be made based on interviewing key people and observing the routine of the organization.
After the group of interviewees is selected, we should determine what questions to ask them. Before the specific formulation of the questions, we should clarify what information we want to obtain from each sector. For example, we may be interested in issues such as the way the work is managed without the software that is going to be developed and the expected influence of the new system. After we clarify the subjects of the questions, we should determine what information we need with respect to each subject. For example, are we interested in facts or in the interviewee s opinion? With these ideas in mind, we can formulate the specific questions.
Let us focus on an example. Assume that your software house is asked to develop an online system for managing bids in the construction area. The system should support the bidding process, provide information about the products that are sold, and present any other information that may be useful for anyone who enters the Web site. The company that asks for this application is a big factory, that by offering the bid service, wants to become the main arbitrator in the area.
We first answer the question, who should be interviewed? Of course, the person who will operate the business aspect of the system should be interviewed. This person will check that the system works properly, that all the procedures work legally, and that the entire process goes smoothly. This person s perspective and input are very important. Another person who should be interviewed is an expert in what happens in this industry. This person may help us understand who will use the application, what type of information these people will look for, and so forth. Of course, other groups of people should be interviewed. For example, it will be useful to interview potential users of the Web site who are not part of the organization and those who will supply the products that will be purchased from this factory online via the Web site.
Now, we focus on the questions that will be posed to the different groups. As an example, we examine the questions that may be posed to the potential users of the Web site. We may want to learn about their current problems in getting the services they need, tools that may improve their work, types of information they find difficult to get, and their opinion with respect to the proposed tool. Each of these topics can be translated into a set of questions.
Translate the aforementioned topics to specific questions to be asked in an interview. For example, the subject types of information they find difficult to get can be referred in an interview by questions such as:
The questions presented in the preceding task indicate that different types of questions can be presented; for example, open questions (which usually start with phrases like In your opinion . . . , Can you elaborate . . . , Can you describe . . . ) and closed questions (such as On a scale of . . . ). Indeed, in an interview it makes more sense to present open questions, as they invite the interviewee to express opinions that are more difficult to be expressed in a written questionnaire. Furthermore, when interviewees present their opinions with respect to a specific issue, we can ask additional questions when we want to deepen our understanding with respect to that topic. This is impossible to do in a questionnaire whose questions are determined in advance and cannot be changed after its distribution. We elaborate more on types of questions in the discussion about questionnaires.
There are opinions that suggest presenting different types of questions to people at different levels in the organization. Accordingly, these opinions suggest presenting to people in high-level positions questions about the organization s targets, problems, and budget constraints and presenting to employees in lower levels questions about the daily work routine. We would like to propose a different perspective. We believe that it is important to hear what people from different levels in the organization think about topics to which people from other levels in the organizations are more closely related. Thus, for example, we can learn a lot from listening to the perception of a junior employee about the organization s targets and main problems. Similarly, when we pose a senior manager a question about the main routines of the organization, we may learn how the manager conceives of the lower-level employees work.
An interview can be managed in different ways: structured, semi-structured, or not structured. The difference between the three types of interviews lies in the level of freedom we have to detach from the sequence of questions that we prepared prior to the interview. In a structured interview, we follow the questions in the order in which they were prepared; in a not-structured interview we allow ourselves to present new questions, to change the order of the questions, to ask for clarifications, and so forth, according to the interview progress. In a semi-structured interview, this freedom is given but is limited. Of course, the questions prepared for the interview influence the flow and the type of interview. The more closed the questions are, the more structured interview we get.
After deciding whom to interview and what to ask each interviewee, we should decide on the order of the interviews. We can simply decide that we conduct the interviews when the interviewees are available. However, we may get additional information from conducting the interviews in a specific order. As there is no unique answer to the question of order, we suggest intertwining interviews from several sectors and levels. That is, not to interview all the managers first and then all the lower-level employees, but rather, in the sequence of interviews, to move between levels of seniority .
What benefits might we gain from intertwining interviews of people from different levels of seniority?
Now that we have decided whom to interview, what to ask each of them, and in what order to conduct the interviews, we should address the interviewer-interviewee relationship. In fact, this is one of the crucial factors that may determine the success of the interview. It is very important to set a comfortable atmosphere in the interview, to eliminate as much as possible status differences, to listen very carefully to what is said, and to respond to new directions that the interviewee raises during the interview. In addition, it is very important not to guide the interviewee to answer a specific answer that we may want to hear (remember, there are no correct or incorrect opinions!).
The last issue to consider with respect to interviews is their recording. The recording may help us in later stages when we want to analyze what was said and what we heard . Ethical conventions tell us to inform the interviewees that they are being recorded and to explain the target of the recording.
Think about three customers of different sizes (e.g., a local book store, an insurance company, and an international bank). Assume that you are asked to develop a software system for managing each. You decide to start learning about these organizations by interviews. For each company, work on the following tasks :
What groups in the organizations will you interview?
What questions will you ask each group of interviewees?
How will you establish a good atmosphere in the interviews?
After finishing working on these tasks, reflect: what guidelines helped you answer the questions with respect to each of the three organizations? Are these guidelines different?
All of us fill in questionnaires in different situations. For example, we may be asked to fill in a questionnaire about a product we purchased; in college, we fill in teaching evaluation surveys. In all cases, those who answer the questionnaires are asked to express their point of view and to supply relevant facts. Similarly, questionnaires may be filled in as part of the process of defining the requirements of a software system. Naturally, in the latter case the focus is placed on the software system to be developed.
Questionnaires help us get, in relatively short time, a lot of data from many people in different places. To gain different types of data we use different types of questions. Following the brief discussion about the kinds of questions we presented in the section about interviews, we refer here to two categorizations of questions: open/closed questions and fact/opinion questions. Table 4.1 presents examples for each type of question.
On an average day, how many hours do you dedicate to e-mail?
What are the three most used features of the application? Describe how you use each.
In your opinion, what percentage of the employees would like to work with the new system?
In your opinion, how will the new application influence the workflow of each of the main players in your organization?
To get some feedback about how the questions posed in the questionnaire are understood , it is recommended to distribute it first to a small number of people, to see how they answer the questions and to check whether a particular formulation should be improved. When the real questionnaires are returned it is important to remember that if the percentage of the responses is low, we may get diversion in the results, as those who answered the questionnaires may have a specific characteristic that encouraged them to answer and return the questionnaire. This is another reason why different tools for data gathering should be used.
For one of the companies on which you worked at the end of the section about interviews, compose two questionnaires. One questionnaire uses closed questions; one questionnaire consists of open questions. Answer the following questions:
This method for data collection is borrowed from the ethnographic research arena. Its purpose is to identify people s behavioral patterns in different situations. In the case of software development, we are interested in how people may work with the software to be developed. We should be aware of the fact that there are cases in which people use (software) tools in different ways than those that were planned originally.
Observation is appropriate to be used when requirements are observable; for example, in service work. In general, observations may teach us about relationships between workers and between workers and customers, emotional responses, and so forth. Sometimes we need to observe a process, and we have to move between locations; sometimes we have to stay in one place in order to learn about a specific subject. As with questionnaires, we may use a structured observation (in which the objects to be observed are determined in advance) or unstructured observation (in which we observe what seems to be interesting and relevant even if it was not determined in advance when we planned the observation). In all cases, we should remember that those who are observed may change their behavior when we look at their activities. This fact should be taken into consideration when the observation is analyzed .