Chapter 7-Requirement Elicitation
Chapter 7-Requirement Elicitation
Chapter 7
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.
Elicitation is concerned with learning and understanding of the needs of users
and project sponsors with the ultimate aim of communicating those needs to the
system developers
Activities involved in discovering the requirements for the system require
Knowledge Acquisition
Reading
Interviewing
Listening
Asking
Observing etc.
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
Sources for Requirement Elicitation
Interviews and discussions with potential users
Documents that describe current or competing products
System requirements specifications
Problem reports and enhancement requests for a current system
Marketing Survey and user questionnaires
Observing users at work
Events and responses etc.
Requirement Elicitation Problems
Requirements elicitation is a complex and imprecise process that varies
greatly for different projects
Understanding large and complex system requirements is difficult
Study by Beichter indicate that 70% of the systems errors are due to
inadequate system specification
Many technical problems are related to this process
Scope problems
Problems related to the process itself
Many problems pertaining to human nature
Requirement Elicitation Problems
Problems of Scope
Boundary of system is not well defined
Problems of understanding
Users have incomplete understanding of their needs;
analysts have poor knowledge of the problem domain
Conflicting requirements
Difficult to express
A Savant Institute study found that “56% of errors in
installed systems were due to poor communication
between user and analyst in defining requirements
Problems of volatility
Requirements evolve over time
Elicitation process should not be executed only once
Elicitation Problems
Elicitation Techniques
Traditional
Collaborative
Knowledge
Contextual
Traditional Techniques
Introspection
Requires analyst to develop requirements based on what he/she
believes the users and stakeholders want and need from the system
Starting point for other elicitation techniques
Is used when analyst is quite familiar with goals and objectives and
also expert in business processes performed by the user
Reading Existing Documents
Company reports, policy manuals, org-charts, etc.
Analyzing hard data
Facts and figures, financial information, reports used for decision
making, survey results, marketing data, etc.
Document Analysis
Document analysis entails examining any existing documentation for potential
software requirements.
The most useful documentation includes requirements specifications, business
processes, lessons-learned collections, and user manuals for existing or
similar applications.
Documents can describe corporate or industry standards that must be
followed or regulations with which the product must comply.
When replacing an existing system, past documentation can reveal
functionality that might need to be retained, as well as obsolete
functionality.
For packaged-solution implementations, the vendor documentation mentions
functionality that your users might need, but you might have to further
explore just how to implement it in the target environment.
Document Analysis
Comparative reviews point out shortcomings in other products that you could
address to gain a competitive advantage.
Problem reports and enhancement requests collected from users by help desk
and field support personnel can offer ideas for improving the system in future
releases.
Document analysis is a way to get up to speed on an existing system or a new
domain.
Doing some research and drafting some requirements beforehand reduces the
elicitation meeting time needed.
Document analysis can reveal information people don’t tell you, either
because they don’t think of it or because they aren’t aware of it.
Traditional Techniques (Interviews)
Types: The requirements engineer or analyst discusses
Structured the system with different stakeholders and
builds up an understanding of their
Open-ended (for exploration, limited requirements
domain understanding)
Planning is very important before going for
Advantages: conducting interview
Rich collection of information
Interviews are less effective for understanding
Can probe in depth and adopt follow-up the application domain and the organizational
questions issues due to terminology and political factors
Disadvantages
Interview must be planned and scheduled
Large amounts of qualitative data can
be hard to analyze Interviewers must be open-minded and should
Hard to compare different respondents
not approach the interview with pre-conceived
notions about what is required
Too much detail in some areas and
ignore others (open-ended) Stakeholders must be given a starting point for
discussion. This can be a question, a
Limit the investigation of new ideas requirements proposal or an existing system
(structured)
It is a difficult skill to master Interviewers must be aware of organizational
politics. Many real requirements may not be
Watch for: discussed because of their political
Unanswerable questions implications
Removal from context
Interviewer’s attitude may cause bias
Traditional Techniques (Surveys/Questionnaires)
used during early stages of RE and may consist of open/closed questions
Advantages:
Can quickly collect info from large number of people
Can be administered remotely
Can collect attitudes, beliefs, characteristics
Information checklist – fundamental elements are being addressed
Disadvantages
No room for users to convey their real needs
Lack the opportunity to convey new ideas
No mechanism for participants to request clarification or correct misunderstanding
Watch for:
Bias in sample selection, Bias in self selecting respondents
Small sample size, Leading or ambiguous or open-ended questions
Questionnaires are used when we want to gather requirements from peoples who are far
away and large in number
Format of questionnaire should be user friendly and comprehensible
Can quickly collect info from large numbers of people
Avoid open ended and ambiguous questions in questionnaire
Ask short, precise, rating scale, ranking scale , interactive type of questions
Success depends on the return rate
Use double envelope method
Traditional Techniques (cont..)
Meetings
Used for summarization and feedback
Meet with stakeholders towards the end of each stage
Are an important managerial tool
Used to move a system development project forward
Needto determine the objectives for the meeting:
presentation, problem solving, conflict resolution, etc.
Planthe meeting carefully: agenda, time,
presentation/discussion, follow-up summary to be distributed
Collaborative Techniques
Group Elicitation Techniques Brainstorming involves both idea generation and idea
Focus groups reduction
Brainstorming Stakeholders come up with creative ideas or new approaches
to a problem
Advantages
The most creative, innovative ideas often result from
More natural interaction between combining, seemingly unrelated ideas
people than formal interview
Promotes free thinking Generate as many ideas as possible, combine ideas, reduce
ideas and prioritize ideas
Discover new solutions
Disadvantages Various voting techniques may be used to prioritize the ideas
created
May create unnatural groups
to engage in informal discussion to rapidly generate as many
Danger of groupthink ideas as possible without focusing on any one in particular;
Requires a highly trained facilitator avoid exploring or critiquing ideas in great detail
Watch for A focus group is a form of qualitative research in which a
group of people are asked about their attitude towards a
Sample bias product, service, concept, advertisement, idea, or packaging.
Dominance and submission Questions are asked in an interactive group setting where
participants are free to talk with other group members.
Highly political situations
A moderator guides the group through a discussion that probes
attitudes about a client's proposed products or services. The
discussion is loosely structured, and the moderator encourages
the free flow of ideas. The moderator is typically given a list of
objectives or an anticipated outline. He/she will generally have
only a few specific questions prepared prior to the focus group.
These questions will serve to initiate open-ended discussions.
Collaborative Techniques (JAD)
[, Rogers, and Sharp “Interaction Design: Beyond human-computer interaction”, p1] Preece214
Elicitation Techniques by Project
Characteristic
Finding Missing Requirements
Decompose high level requirements into details
Check each user class represents input
Represents requirements in multiple ways
Check boundary value analysis
Use decision tables and trees instead of boolean logic
Activities to prepare for a single
elicitation session
Preparing for Elicitation
User Requirements
“I need to print a mailing label for a package.”
“As the lead machine operator, I need to calibrate the pump controller first
thing every morning.”
Business Rules
Phrases such as “Must comply with . . . ,” “If <some condition is true>, then
<something happens>,” or “Must be calculated according to . . . ” suggest
that the user is describing a business rule. Here are some examples:
“A new client must pay 30 percent of the estimated consulting fee and travel
expenses in advance.”
“Time-off approvals must comply with the company’s HR vacation policy.”
Functional Requirements
“If the pressure exceeds 40.0 psi, the high-pressure warning light should
come on.”
“The user must be able to sort the project list in forward and reverse
alphabetical order.”
Quality Attributes
Listen for words that describe desirable system characteristics: fast, easy,
user-friendly, reliable, secure
“The mobile software must respond quickly to touch commands.”
“The shopping cart mechanism has to be simple to use so my new customers
don’t abandon the purchase.”
External Interface Requirements
Data Requirements
“The ZIP code has five digits, followed by an optional hyphen and four digits
that default to 0000.”
“An order consists of the customer’s identity, shipping information, and one or
more products, each of which includes the product number, number of units,
unit price, and total price.”