11 Requirements Elicitation Techniques
R. Baskaran
Interview
Interview is a simple and direct technique that can be used in nearly every situation. Communication with the stakeholders is done to determine the requirements needed for the development of the system. In this method, the requirement engineering analysts discuss with different types of stakeholders to understand the requirements of the system. Generally these interviews can either be a closed interview or open interview.
In a closed interview, the requirements engineer prepares some predefined questions and he tries to get answers for these questions from the stakeholders. It majorly comprises of closed ended questions that provides yes or no response. In open interview, there are no predefined questions and he tries to get the information from the stakeholders in an open discussion. It majorly comprises of open ended questions that provides a brief or a short answer.
When conducting an interview, one of the major goals lies in understanding the context of the interview. Interviews are helpful when we are setting up the user profile, assessing and comprehension of the problem, understanding the user environment, recap for understanding, analyst’s input on user’s problem, assessing the solution and opportunities involved, assessing reliability and support needs, wrap up and summarization of the key points.
Questionnaire
Preparing a questionnaire is another technique to determine and gather requirements from the stakeholders. Questionnaire can be manual (paper form) or electronic (soft form distributed through email). The effectiveness of the questionnaire depends on the design of the questionnaire and honesty of the respondent. Effective questionnaire can be used to decide the actual user requirements, objectives and constraints. The design of an effective questionnaire depends on the following,
- The purpose of the survey should be clearly defined.
- The sampling group (respondents of the survey) should be decided.
- Clear statement of why the respondent was selected for the questionnaire must be provided.
- Provide clear instructions on how to complete the questionnaire.
- Avoid asking two questions in one.
- Do not ask questions that gives clue to the answers
- Keep the questionnaire brief and user friendly.
- Preparing and developing the questionnaire.
- Conducting the questionnaire process.
- Gather and analyze the results.
Background Reading
Background reading comprises of gathering information about the organization, which is helpful to gain an understanding of the organization’s structure, its working and the existing system. The information may be gathered from various sources such as company reports, organization charts, policy manuals and documentation of existing systems, these sources are appropriate when the working environment is not familiar.
Introspection
Introspection is another elicitation technique where the requirement analyst “imagines” what kind of system is required for doing the required job, or by using available equipment. This technique is used when the end user is not available, not willing to answer the question or shows lack of feedback. In this technique the analyst imagines what requirement is needed by posing questions to himself (mirroring) to determine the requirements for the system.
Social Analysis
Social Analysis is an elicitation technique that gathers requirements through observation. It comprises of collecting requirements by observing the people doing normal work. Social analysis helps us to determine additional requirements needed by the user, when the user is unable to explain the expected requirements. Social Analysis is majorly of three types:
- Passive observation
- Active observation
- Explanatory observation
Passive observation
In Passive observation, the social analysis is carried out without the direct involvement of the observer in the society. The observation of the peoples work is carried out by recording using videotapes, video cameras and surveillance camera. . Some examples of passive observation are observation of people say in toll gates, hospitals etc to determine their needs, observation of people at shopping malls to determine shopping trends. The documentation of the problem and the requirements are prepared from the recorded data.
Active observation
In active observation, the social analysis is carried out with the direct involvement of the observer in the society. The observers encourage the people to work with the existing product to perform the operations on the product. The product is made available directly to the people to determine the drawbacks and shortcomings in the product in order to improvise the product efficiently. The observer provides the domain knowledge to the user and makes the report of the requirements of the people by observing their day to day work with the product.
Explanatory observation
In explanatory observation, the user explains what they are doing while using the product. The user provides a clear set of instructions on the effectiveness of the system and from the observation; the observer takes notes for analysis using the explanation given by the user.
Requirement workshop
Requirement workshop is a collaborative event in which selected groups of stakeholders work together to discover create, verify and document requirements, deliverables and work products. Requirement workshop invites many participants, fixes a facilitator who ensures the success of the discussion and a recorder to discover, discuss ideas and notions for development. Requirement workshop is a joint event that gathers all the key stakeholders together for short but strongly focused period. Requirement workshop sometimes is known as quality function deployment where the facilitator and the participant keenly understands the product, creates and discovers new ideas thereby ensuring the quality in terms of functionality.
The working of the requirement workshop involves the team members to create, review and completion of important requirements deliverables. The facilitator manages the group process and the recorder documents the group’s work as it proceeds. At the end of the discussion warm up materials are prepared which are presented to the participants and the facilitator. The warm up material encompasses project specific information like drafts of requirement documents, suggested features, copies of interviews, analyst’s reports on industry trends, bug reports from existing system etc. The warm up material also consists of out of the box thinking preparation which leads to the discovery of new ideas, notions and initiatives.
Role of a facilitator
The facilitator ensures the success of the discussion and is responsible for the following actions:
- Establishment of professional and objective tone to the meeting.
- Commencement and end the meeting on time.
- Establish and enforce the “rules” for the meeting.
- Introduce the goals and agenda for the meeting.
- Manage the meeting and keep the team on track
- Facilitate the process of decision and consensus making, but avoid participating in the content.
- Make certain that all the stakeholders participate and have their input heard.
- Control troublesome and unproductive behavior.
Some of the problems encountered in the workshop and the possible solutions to overcome the issues are as follows:
Brainstorming
Brainstorming is a group technique for generating new, productive ideas and promoting creative thinking for finding the solution to a specific issue. Different agendas are proposed in the meeting and every issue encountered is addressed actively by the members. Brainstorming session generally is comprised of 6-10 members and it is headed by the organizer, who states the issue to be discussed. Every team member is allotted certain time interval to express and explain their ideas. The best idea is decided by voting from the group and is opted as the solution to the issue discussed in the conference.
The different roles played in a brainstorming session involve:
- Leader – a person who takes up the responsibility and is a avid listener.
- Scribe – who notes downs every idea clearly
- Team members – participants who actively participate in the discussion.
Brainstorming session comprises of idea generation and idea reduction. During idea generation, all possible ideas and notions are set down. The focus is endowed on the breadth of the ideas rather than the depth of the ideas. During idea generation, the ideas are generated individually and are noted down for later piggy backing. The facilitator collects all the ideas and notion from the members and posts the ideas in the meeting room for further discussion.
During idea reduction, the ideas generated are pruned, organized based on priority, ranked, grouped and refined based on the depth of the ideas.
Story Boarding
Story board is a logical and conceptual description of system functionality for a specific scenario, including the interaction required between the users and the system. It provides an early review of the user interface of the system. When compared to the earlier techniques such as conducting the workshop, we may have to provide an executive facility for all the participants and facilitator but with story boarding, it is completely inexpensive. Storyboards are extremely user friendly, informal and interactive. It is easy to create and modify but becomes obsolete after some time leading to maintenance burden due to the lack of formal guidance and leadership.
Types of story boarding include active and passive story boarding. In passive story board, we convey a story to the user, walkthrough the system using pictures, screenshots, presentations etc. There is no active involvement of the user. In active story boarding, the user enumerates the story and it involves a great deal of interaction among the users. It provides a realistic experience to the user through simulations, throw away prototype etc.
Scripted Walkthrough
Scripted Walkthrough is an elicitation technique where each participant follows a script that defines a specific role in the “play”. The walkthrough will reveal any misunderstanding in the roles, lack of information available to an actor or lack of specific behavior needed for the actors to succeed. Walkthrough facilitates the elimination of major quantum of risk that is involved in the project. Script can be modified and repeated as many times as necessary until the actors get it right.
CRC Cards
CRC (Class Responsibility Collaboration) Card is another technique for the collection of requirements from the end users and stakeholders. When the process breaks down due to lack of information or when on entity talks to another and the collaboration is not defined, the cards can be modified and rerun again. The cards highlight the description of class, association of the class, responsibilities and the collaborations which are emphasized to the stakeholders and facilitators. The responsibility of the stakeholders is to draft such CRC cards where they mention each and every attribute or entity that is required.
Ethnography
Ethnography is an elicitation technique where we study on the people (users) in their natural settings. Assume that people are good at doing their jobs and look for non standard ways of working, they spend time getting to know people and try to establish a trusting relationship, keep detailed note on all working practices, analyze and draw conclusion from them. They in turn try to combine observation with open minded interviews; these people organize regular debriefing session where the ethnographer talks with people outside the process. By combining ethnography with other elicitation techniques, we are able to come up with fruitful methodologies. With different perspectives of ethnography, we can initially set up a new view point that describes the context and the physical location of the work, how the people use objects to carry task. Therefore in a study of help desk, this would describe the objects where the helper had to hand and organize. These ethnographic perspectives also include social and organizational perspectives, where they try to bring day to day experiments of work as seen by different people who are involved. Each individual typically sees the work differently and this view point tries to organize and integrate all the perceptions. Further ethnography also takes workflow view point; this view point presents the work from a series of work activities with information flowing from one activity to another.
Other approaches
Natural Language Descriptions – They operate instructions by writing it in natural languages. It requires a good background study but many times leads to ambiguities within the development phase. Often these descriptions are not kept up to date.
Form analysis – Analysis of any form being used to gain information about the problem. Forms provide information about domain data objects, properties and interrelations.
With the help of these elicitation techniques, we can gather the information and requirements to develop an efficient use case model using which further helps in terms analysis and design in an effective manner.
Web Links
- https://en.wikipedia.org/wiki/Requirements_engineering
- http://www.tutorialspoint.com/software_engineering/software_requirements.htm
- http://www.cs.toronto.edu/~sme/papers/2004/FoRE-chapter01-v7.pdf
Supporting & Reference Materials
- Roger S. Pressman, “Software Engineering: A Practitioner’s Approach”, Fifth Edition, McGraw Hill, 2001.
- Pankaj Jalote, “An Integrated Approach to Software Engineering”, Second Edition, Springer Verlag, 1997.
- Ian Sommerville, “Software Engineering”, Sixth Edition, Addison Wesley, 2000.