2. Requirements Elicitation
• Elicit means to gather, acquire, extract, obtain, or
discover etc.
• Requirements elicitation means gathering requirements
or discovering requirements
• Elicitation is the process of discovering the
requirements for a system by communication with
customers, system users and others who have a
stake in the system development.
• Activities involved in discovering the requirements for the
system require
• Knowledge Acquisition
• Reading
• Interviewing
• Listening
• Asking
• Observing etc.
3. Requirements Elicitation
• Requirement elicitation is the most difficult, most
critical, most error prone and communicative
intensive activity. It focuses on following aspects:
• Elicitation objectives
• Exploring use cases
• Validating market data
• Elicitation strategies
• Some combination of surveys, workshops, customer visits,
individual interviews, and other techniques
4. Components of Requirements Elicitation
Business
Context
Stakeholder
Needs and
Constraints
Application
Domain
Problem to be
Solved
5. A General Requirements Elicitation Process
Establish
Objectives
Understand
Background
Organize
Knowledge
Collect
Requirements
Business
goals
Problem to
be solved
System
constraints
Organizational
structure
Application
domain
Existing
systems
Stakeholder
identification
Goal
prioritization
Domain
knowledge
filtering
Stakeholder
requirements
Domain
requirements
Organizational
requirements
6. Specific Elicitation Techniques
• Interviews
• Questionnaires
• Requirements elicitation workshops
• Scenarios
• Written materials
• Observations and social analysis
• Requirements reuse
• Prototyping etc.
7. Interviews
• The requirements engineer or analyst discusses the
system with different stakeholders and builds up an
understanding of their requirements
• Kinds of information sought :
• Tacit knowledge as well as hard facts , opinions, feelings,
goals
• DOs:
• Planning ahead of time ( like experienced journalists)
• DONTs:
• Need mastery of skills
• Use Buzzwords/acronyms to impress
• Use unusual body language (facial expressions, accents, dress,
voice etc )
8. Types of Interviews
• Structured:
• The Structured interviews allows for interview with multiple
interviewees.
• The data collected is more closed to the population –oriented and
is easier to analyze.
• The interviewer has more control over interview by asking the
questions in a specific order
9. Semi-Structured Interview
• Interviewer usually asks some predefined questions and also other
spontaneous questions to find out the interests of the respondent
• The pre-set questions set guidelines for an interview.
• Quantitative data can still be collected using pre-set questions.
• great care has to be taken that where the spontaneous question should be
asked.
10. Unstructured interviews
• Informal and with no restriction about the scope and
context of the topics called.
• There are no predefined questions prior to interview.
• Unstructured interviews make the interview more
conversational in style.
• Limited control over the interview.
• The data collected is totally qualitative and is difficult to
replicate.
• Unstructured interviewing can be a time consuming way to
generate data.
• There is greater potential for interviewer bias using this
type of interview.
11. Interviewing Essentials
• Interview must be planned and scheduled
• Can ask open ended questions
• Interviewers must be open-minded and should not
approach the interview with pre-conceived notions
about what is required
• Stakeholders must be given a starting point for
discussion. This can be a question, a requirements
proposal or an existing system
• Interviewers must be aware of organizational politics.
many real requirements may not be discussed
because of their political implications
12. Read background material
(meetings, scheduling meetings, mtg schedule
systems)
Establish Interviewing Objectives
(What are you trying to get out of this interview?)
Decide whom to interview?
(people are busy, choose the right one)
Prepare for Interview
(Call people ahead of time to prepare ; tell the
purpose , duration, possible questions types)
Hold the interview
Review in-line notes ->disseminate -> difference
recording and resolution
13. • Advantages:
• Collecting the rich and detailed data
• Collecting information to design a survey or other usability
activity
• Getting a holistic view of the whole system
• Disadvantages:
• Collecting data from large samples or people
• Collecting data very rapidly is not feasible
14. Surveys
• The surveys are used to conduct the RE over a large population of
interest. This technique covers the whole geographical region to get
the large set of requirements. Mostly appropriate for general purpose
software development.
15. Advantages:
• Collect information from a large number of users
simultaneously.
• If designed correctly, it can be quick & easy to analyze the
data.
• Relatively cheap.
• Disadvantages:
• Rich data collection is not possible
• Does not provide the holistic view of a system
16. Questionnaires
• Kinds of Information sought: attitudes, beliefs,
behavior
• Not normally found through sampling(hard data) or
interviews
• But if not anonymous , customers may be reluctant to
answer questions.
• Have your used any meeting schedule system before? Y, N
• If yes, are you satisfied with it? 1 2 3 4 5
• If no, would you try a meeting schedule system when available? Y, N
• Avoid open ended questions
• Do you think a new meeting scheduler will succeed?
• Do you believe a meeting scheduler can drastically change our daily
lives?
• Questionnaires should be short.
17. Questionnaires
• used when we want to gather requirements from
peoples who are far away and large in number
• Can quickly collect info from large numbers of people
• Success depends on the return rate
• Administer the questionnaire using simple rules:
• Scoring Scheme : e.g a range from 1 to 5
• Group Interrelated questions :
• E.g Q 1 3 4 represent customer satisfaction with current systems
• Q 2 5 6 represent customer willingness to try a new one.
18. Questionnaire Structure
• What
• Usually leads to facts
• What is problem of client
• How
• Usually leads to a discussion of process, not structure
• Why
• Usually leads to deeper motivations, information on
structure
• When
• When does the problem occur
• Could
• Maximally open, might lead to no data
20. Scenarios
• Scenarios are stories which explain how a
system might be used. They include
• A description of the system state before entering the
scenario
• The normal flow of events in the scenario
• Exceptions to the normal flow of events
• Information about concurrent activities
• A description of the system state at the end of the
scenario
• Scenarios are examples of interaction sessions
which describe how a user interacts with a
system
21. Brainstorming
• Brainstorming involves both idea generation and idea
reduction
• Stakeholders come up with creative ideas or new
approaches to a problem
• The most creative, innovative ideas often result from
combining, seemingly unrelated ideas
• Generate as many ideas as possible, combine ideas,
reduce ideas and prioritize ideas
• Various voting techniques may be used to prioritize
the ideas created
22. Brain Storming
• Advantages:
• Brainstorming are mostly used for the innovative sort of projects where each
participant provides his or her own ideas after their personal research about
the project to be started.
• This technique is often used make the key decisions about the requirements
of the project.
• It promotes free thinking and expression of ideas.
• Brainstorming provides the innovative ideas about the project to be
developed.
• Disadvantages:
• Brain storming is seriously affected by exploring the critique ideas.
• Brainstorming is not used to resolve the major issues.
23. Joint Application Development (JAD)
• Joint Application Development (JAD) is a combined business
analysis approach that solves a problem in which large
numbers of stakeholders are interested. This approach is most
used for Agile development in which the quick amounts of
requirements are elicited.
• Joint Requirements Planning (JRP)
• Usually for high level managers
• Identify and examine business goals , problems , critical success factors
, strategic opportunities
• Joint Application Design
• Identify and examine the end users’ needs
24. Advantages
• JAD provides the rapid decision making about the problem and also the
solution of the problem.
• JAD handles the rapid changeability in requirements.
• JAD provides the well formatted structured approach.
• JAD provides the direct communication between all stakeholders of the
project.
25. Disadvantages
• As JAD should provide the rapid solution, hence sometime this
technique is un-able to provide the exhaustive validation in so least
amount of time.
• JAD team requires huge experience and expertise in the problem
domain.
26. Requirements Workshops
• Requirements workshop is a collection of different types of meeting
conducted by the stakeholder to elicit the requirements of the project
to be developed.
27. Advantages
• This technique provides a complete set of requirements as compared
to brainstorming and group meetings.
• Requirements are mostly unchanged whenever elicited with this type
of method.
• This technique is feasible for the large and complex solution.
28. Disadvantages
• It’s a very costly technique in terms of time and money.
• Requirements workshop is unfeasible for small projects
• It provides slow requirements elicitation.
29. Observation (Ethnomethodology)
• It is one of the ethnographic techniques in which the requirements
engineer visits and observes the environment of the customer where
the software has to perform the services.
• This technique is often used with the conjunction of other
requirements engineering techniques like interview and task analysis.
31. Advantages
• Observations are highly authentic requirements engineering tool
because the requirement engineer by himself goes there and
observes the whole environment of the customer.
• Observations are mostly used in order to validate and verify the
requirements.
32. Disadvantages
• Observations are very much expensive to be performed because of
the travelling costs.
• Sometimes observations are wrong as customers adjust themselves
being conscious of the observation.
• Ethical, legal implications , if video taping without notification
• Can be too time consuming to analyze the recording
33. Prototyping
• A prototype is an initial version of a system which may be used
for experimentation
• Prototype may be a quick rough version of the system
• Prototypes are valuable for requirements elicitation because
users can experiment with the system and point out its
strengths and weaknesses. They have something concrete to
criticize
34. Advantages
• Prototyping provides the detail information by investing each and
every prototype by the customer.
• Prototypes are mostly used in conjunction with other elicitation
techniques such as interviews and JAD.
• Prototypes useful when developing human computer GUI interfaces.
• Prototypes provide a good chance to the stakeholders an effective
rule and to be involved in the requirements engineering.
• The technique is extremely helpful developing new systems for
entirely new applications.
35. Disadvantages
• In many cases prototypes are expensive to produce in terms of time
and cost.
• A great problem for prototyping is that the user often resists making
changes if once they get experienced.
Editor's Notes
All the questions are closed ended and the respondent is not allowed to speak beyond the context and scope of the project. The responses are predefined here. This type of interview is preferred for the collection of quantitative data