3.1 Overview of Requirement Gathering


Figure 3-1 shows three major activities involved during the system analysis phase. In this Lesson Three we will discuss the first activity in system analysis; requirements gathering. We will learn about determining system requirements. First, we study traditional requirements methods, including interviewing, observation, and collecting procedures and other written documents. Then, it goes to the current methods for collecting system requirements such as Joint Application Development.

Figure 3-1: Requirement Gathering Activities in the System Analysis Phase


3.1 Overview of Requirement Gathering


Before we go further on discussion types of fact-finding techniques that can be used in requirement gathering, we should know the definition of system requirements. What are system requirements? System requirements specify what the information system must do or what property or quality the system must have (Bentley et. al., 2007). During requirement gathering, the system analyst should identify and describe all system requirements. There are two types of system requirements; nonfunctional requirements and non-functional requirements. Functional requirements specify that what the system must do or what the system must have. Non-functional requirements specify that property or quality of the system must have.

Essentially, the system requirement is to correctly identify the data, process and people requirements for the users of a new system. Failure to this system requirement process may result one or more than one of the following problems:

the system may cost more than budget
the system may not be delivered on time
they system may not meet the user's requirement and that dissatisfaction
the system may be unreliable

So, because of all this possible result; we should plan a good system requirement during this phase. We must schedule and plan a good system analysis phase.

3.1 Overview of Requirement Gathering



Based on Boehm's finding, an erroneous requirement that goes undetected and unfixed until the operation phase may cost 1,000 times more than it would if it were detected and fixed in the requirements phase (Bentley et. al., 2007).

This can be time consuming and difficult process that often leads organizations to take shortcuts to save times and money. But, this action may be leads to the problems defined before. So, the best way is to conduct a good system requirement using suitable fact-finding techniques.

3.1.1 Fact finding technique

The core of system analysis is to get as much as information needed to develop the system. This information is important as a base for system development. Information about the current system must be collected to be used and what and how users want from a new system. The best way to gather all this information is by sit and talk together with the people who involved directly or indirectly with the system. In this section we discuss common types of fact-finding techniques available :

interviews,
direct observation
questionnaires
Joint application development


3.1 Overview of Requirement Gathering



Fact-finding technique is a formal process of using research, meetings, interviews, questionnaires, sampling and other techniques appropriate to collect information about system problems, requirements, and preferences. It's also referring to information gathering and data collection. An analyst applies several of this techniques during a single system project. During the requirement gathering, the analyst will identify what types of techniques will be used, what type of information will collected.

Interviews

Interviews are of the primary ways to gather information about the information system. Early in the system development project, system analyst spend most the time to interview system users and system owner. People are the most important element of an information system. Important information that need to be seek during the interviews are to understand the organization's policy, organizational direction, organizational operations and others. There are many ways to conduct effective interview. Table 1-1 shows some guidelines for effective interview.


3.1 Overview of Requirement Gathering



Table 1-1: Guidelines for effective interview

3.1 Overview of Requirement Gathering



Types of Interviews

There are two types of interview; unstructured interviews and structured interviews. Unstructured interviews involve general questions that allow the interviewee to direct the conversation. This type of interview frequently gets off track and the system analyst must be prepared to redirect the interview back to the main goals of the interviews if needed. Structured interviews involve the interviewer asking a specific questions design to obtain specific information from the interviewee. The interviewer will direct additional questions to obtain clarification depends on the interviewee's answers. Types of interview selected are related with the types of questions prepared. Normally, unstructured interviews involved with open-ended questions, meanwhile structured interviews involved with close-ended questions.

Choosing Interview Questions

During the interview, we should decide what type of questions that we'll use. We need to decide either it's open-ended questions or closed-ended questions. Open-ended questions are suitable for information that have no specific and precise answers. For example:

"What is the best way to enhance the student participation in class?".

3.1 Overview of Requirement Gathering



Open-ended question will give the interviewee to respond with their own words and opinion, but sometimes it may take a longer time to answer the question. The advantage of using open-ended questions is an interviewee did not know the exact information from the interviewee, then, the interviewer will expand the questions based on the answer given. Closed-ended questions is a type of questions that enable the interviewee to select the answer from a range of answer provided. An example of closed-ended question is :

How many subjects normally students register for each semester?
a) 4 subjects
b) 5 subjects
c) 6 subjects

Closed-ended question is suitable when we know the range of the answer and the interviewee need to decide which answer is belonging to them. Closed-ended question can have a several types such as :

i) True or false
ii) Multiple choice
iii) Rating answer using a scale
iv) Ranking items based on order

Deciding what type of question that might be used is important in order to make sure that the interview session is efficient and the interviewee feels comfortable.

3.1 Overview of Requirement Gathering



How to Conduct an Interviews

A successful interview will involve preparing good and suitable questions, conducting properly, and following up the interview. This section will elaborate how to conduct an effective interview.

1. Select an interviewee
System analyst decide what type of information should be gathered, then, the analyst will select the interviewee. System analyst should interview the end users of the information system that being studied to get as much information about it. The system analyst should be able to avoid any biases during the interviews. Once system analyst has identified who will be the interviewee, they should set an appointment with an interviewee. Normally, we'll follows the interviewee when he/she will be available to be interviewed. It's because wrong interview timing may caused the interviewee will not give a good feedback. But, an effective interview is only between half an hour.
2. Prepare for the interview
Preparation is the main key of successful interview. When setting the appointment, the interviwee should be informed about the interview; the purpose of the interview, the important of the interview, and how their involvement can give future benefits to them. Sometimes, people do not comfortable being interview, asking lots of questions, unless it'll give benefits to them. The purpose of interview is to get as much as facts, opinion not to critics. In (Bentley et. al., 2007), some guidelines when preparing an interview questions are:


3.1 Overview of Requirement Gathering



Use clear and concise language
Don't include your opinion as part of the questions
Avoid long or complex questions
Don't use you when you mean a group of people
Conduct the interview

As an interviewer, we need to respect our interviewee. The interview should be started with many thanks to the interviewee because spending their times to be interviewed. Then, interviewer need to explain the purpose and the important of the interview, highlight how information gathered from the interview will help them in a new information system development. As an interviewer, we must listen carefully about everything being said by the interviewee, observe their reactions during the session. It's important to be on time, but at the same time, try to get as much as information needed from the interviewee. End the interview session by expressing appreciation and providing answers to any questions posed by the interviewee.


3.1 Overview of Requirement Gathering



Follow up th interview
To help maintain good report and trust with the interviewee, the interviewer should send them a memo that summarizes the findings from the interview. This memo should remind them about their meaningful contributions to the information system development project and how much their contribution is appreciated. Let them know that we encourage them to participate if they have additional information.
Listening
The skills of listening is important in interviewing process. When listening to the interviewee, the interviewer should maintain the eye contact and use the a response such as head nod or "ya..ya" to acknowledge that you listen and understand what they said. Shows that we really interested with the session. It's good if the interviewer can use tape recorder instead of jotting down everything said by the interviewee, so we can pay more attention to the interviewee. Jotting down all the time sometimes make the interviewee feel not comfortable, since you are not giving your attention with what they said. But, before that, please ask the permission from the interviewee to record the conversation during the session.



3.1 Overview of Requirement Gathering



Direct Observation

Besides interview, observation is also one of the most effective data-collection techniques. Observation is a fact-finding technique wherein the system analysts either participate in or watches a person perform activities to learn about the system. Observation is a technique where system analyst either participates in or sees a person perform activities to learn about the system. Normally, this technique will be used if the system analyst feel that the questions from other methods used can be queried. So, observation is needed to see what's going on. The advantages of this technique are data gathered are reliable. During observation, system analyst can see what happen they know what is the best solution. But, the disadvantages are; some people are not feel comfortable being watched, so, it may act differently during the observation.

Guidelines for Observations

Observation can be a very useful technique where we have the ability to observe all aspect of work done by the user. The system analyst should identify when the ideal time to observe a particular aspect of the system is. For example, when observing for the needs of keeping the costumer order, so that the system should observe what was actually happened during the peak hours if they didn't implement a new system. The following guidelines are key for observation :


3.1 Overview of Requirement Gathering



determine who, what, where, why and how of the observation
obtain permission to observe from appropriate supervisors or managers
inform those who will be observed of the purpose

Questionnaire

Another fact-finding technique is conducting a survey using questionnaires. A questionnaire is a document distributed to respondents in order to get the information about anything. Questionnaires allow the system analyst to collect information from a number of respondents and normally it involves a large amount of respondents. Advantages of using questionnaire are most questionnaires can be answered quickly, and the responses from the questionnaires can be analyzed quickly. Disadvantages of using questionnaires is, the number of feedbacks are quite low because people will not send back the questionnaires, and there's no guarantee that the respondents will answer all the questions. There are two format for questionnaires; free format and fixed format. Free format questionnaires are designed to allow users to answer freely in each question. An example of free format questions is :

1. What reports do you needed and why do you need that reports?
2. Are they any problems with the current reports? If yes, please explain.
3. Do you prefer to have any other reports, so that it can help you?


3.1 Overview of Requirement Gathering



But, it is difficult to analyze this type of questions. Because more respondents participate, more answers we got, and most of answer are from various answers. So, the best thing is try to use as simple questions as possible. This type of questions is good when we require any suggestion or opinion from user when deciding the requirements. Second type of questionnaires, fixed format questions is more rigid. It requires respondents to select an answer from a predefined set of answers. Respondents need to select an answer from a set of answers given. An answer from this format is much easier to analyze. But, on the other hand, it is more static; respondents can not give their opinion or answers other than provided. There are three types of fixed-format questions :

1. Multiple choice questions
The respondents are given several answers from which to choose. The respondents should be told either to select one answer or more than one answer. Example of multiple choice questions are :


3.1 Overview of Requirement Gathering



2. Rating Questions
Respondents is given a statement and asked to use the give responses based on their opinion. Normally, rating questions are provided with an equal number of positive and negative ratings and also neutral ratings. Examples of rating questions are :


3.1 Overview of Requirement Gathering



3. Ranking Questions
The respondents are given several possible answers, which are to be ranked in order of preferences or experience. Examples of ranking questions are :


3.1 Overview of Requirement Gathering



Join Application Development

Today, many organizations use the group work session instead of interviews. An example of this group work session approach joint application development (JAD). Joint Application Development is a process whereby highly structured group meetings are conducted for the purpose of analyzing problems and defining requirements (Bentley et. al., 2007). By using this technique, it can decrease the time spent on fact-finding in one or more than one phase in system development. It has been used to obtain and gather information from the group about the problems, objectives and system requirements. During the session, they sit together to discuss and get the ideas from the participants. The JRP session should be planned and conducted effectively.