Chapter Three - Requirements Elicitation
Chapter Three - Requirements Elicitation
Chapter Three - Requirements Elicitation
Requirement Elicitation
1
Elicitation is the process of deriving the system
requirements through observation of existing systems,
discussions with potential users and customers, task
analysis, and so on.
In this activity, software engineers work with customers
and system end-users to find out
2
Components Of Requirements Elicitation
Application domain understanding :
Application domain knowledge is
knowledge of the general area where the
system is applied.
Problem Understanding: the details of
the specific customer problem where the
system will be applied must be understood. Application Problem to
During problem understanding, you Domain be solved
specialize and extend general domain
knowledge. Stakeholder
Business
Business Understanding: You must Needs and
context
understand how systems interact and constraints
contribute to overall business goals.
Understanding the needs of
stakeholders and constraints of
system:
You must understand in detail the specific
needs of people who require system
support in their work and constraints or
limitations of system.
3
1.The good requirements elicitation process-Elicitation stages
5
2.1.Interviews
The requirements engineer or analyst discusses the system
with different stakeholders and builds up an understanding
of their requirements.
Two Types of interview:
Closed interviews: The requirements engineer looks for
answers to a pre-defined set of questions.
Open interviews: There is no predefined agenda and the
requirements engineer discusses, in an open-ended way,
what stakeholders want from the system.
Interviews
Requires preparation and good communication management
Interview as many stakeholders as possible: Not just clients
and users
6
Ask problem-oriented questions
Interviewing Essentials
1. Interviewers must be open-minded and should not
approach the interview with pre-conceived designs about
what is required.
2. Stakeholders must be given a starting point for discussion.
This can be a question, a requirements proposal or an
existing system.
3. Interviewers must be aware of organizational politics
many real requirements may not be discussed because of their
political suggestions.
7
Interviews – Objectives and Process
Three main objectives:
Record information to be used as input to requirements analysis
and modeling
Discover information from interviewee accurately and efficiently
Reassure interviewee that his/her understanding of the topic has
been explored, listened to, and valued
Process consists of four important steps:
Planning and preparation
Interview session
Consolidation of information(from different stakeholder)
Follow-up
8
Interviews – Planning and Preparation
Important to plan and prepare interviews
Set goals and objectives for the interview
Acquire background knowledge of the subject matter to
conduct an effective interview
• About the domain (vocabulary, problems...) but also about the
interviewee (work tasks, attitude...)
Prepare questions in advance, by subject
Organize the environment for conducting an effective
interview
Determine how the elicitation notes will be taken
(manually, audio, video, by whom…)
9
Interviews – Session
Make the interviewee comfortable and confident
Be polite and respectful!
Adjust to the interviewee
• You have your goals – be persistent but flexible
Interview several people at once to create synergy
Try to detect political aspects as they may influence the
said and the unsaid
10
Interviews – Elicitation Notes
Revise and complete the elicitation notes after the interview
Needs to be done soon after because they may forget what they
had told you.
Identify inconsistencies and address them in a follow-up
interview or by email
11
Common Interviewing Mistakes
Not interviewing all of the right people
• There are different points of view of stakeholders
Asking direct questions too early
• e.g., transportation system: How much horsepower do you need? (direct),
How many passengers? How far? How fast? (indirect)
Interviewing one-at-a-time instead of in small groups
Assuming that stated needs are exactly correct
Often users do not know exactly what they want and order
Trying to convince stakeholders that YOU are smart – wrong
place to do that!
12
Interviews – Start Up Questions
Context-free questions to narrow the scope a bit
Identify customers, goals, and benefits
Who is (really) behind the request for the system?
Who will use the system? Willingly?
Are there several types of users?
What is the potential economic benefit from a successful solution?
Is a (pre-existing) solution available from another source?
When do you need it by?
Can you prioritize your needs?
What are your constraints?
Time
Budget
Resources (human or otherwise)
Expected milestones (completion dates)?
13
Interviews – Start Up Questions (2)
Try to characterize the problem and its solution
What would be a "good" solution to the problem?
What problems are the system trying to address?
In what environment will the system be used?
Any special performance issues?
Other special constraints?
What is (un)likely to change?
Future evolution?
What needs to be flexible (vs. quick & dirty)?
Calibration and tracking questions
Are you the right person to answer these questions?
Are your answers "official"? If not, whose are?
Questions that cannot be asked directly (ask indirectly)
Are you opposed to the system?
Are you trying to obstruct/delay the system?
14
Interviews – Specific Questions (1)
Functional Requirements
What will the system do?
For both input and output, what should be the format of the data?
15
Interviews – Specific Questions (2)
Design Constraints
Physical environment
Where is the equipment to be located?
Is there one location or several?
Are there any environmental restrictions, such as temperature,
humidity, or magnetic interference?
Are there any constraints on the size of the system?
Are there any constraints on power, heating, or air conditioning?
Are there constraints on the programming language because of
existing software components?
16
Interviews – Specific Questions (3)
Design Constraints
Interfaces
Is input coming from one or more other systems?
Is output going to one or more other systems?
Is there a prescribed way in which input/output need
to be formatted?
Is there a prescribed way for storing data?
Is there a prescribed medium that the data must use?
Standards
Are there any standards relevant to the system?
17
Interviews – Specific Questions (4)
Performance
Are there constraints on execution speed, response time,
or throughput?
What efficiency measure will apply to resource usage and
response time?
How much data will flow through the system?
How often will data be received or sent?
Usability and Human Factors
What kind of training will be required for each type of user?
How easy should it be for a user to understand and use the system?
How difficult should it be for a user to misuse the system?
18
Interview the User
Interviewing is a common approach, but may not be the most
effective one.
Assumes users will know and be able to discuss their requirements
Questions often lead to specific answers and scope
Questionnaire
• Consider it as pre-work to a personal interview
Engage the user in the process so they are not passive
• Eg, Invite them in building models
19
Interview Structure
Set the interview in context to set scope and direction of discussion
Use business events as an anchor; work one event at a time
Ask a question, listen to the answer, then feed back your
understanding
Draw models and encourage user to change them
• Data flow models and work flow charts are effective
• Consider UML Activity Diagrams with data flow
Use the user’s terminology and artifacts, both conceptual and real
• Artifacts: papers, computers, meters, spreadsheets, machines,
instruction lists, software applications, etc.
• Avoid letting the user speak in technology/solution
Keep sample artifacts and documents
Thank the user for their time and tell them why it is valuable
20
2.2. Scenarios
A scenario is a scene or story that depicts user interaction
with a proposed system
(according to the UML) it is an instance of a use case
21
Scenarios (2)
A use case includes primary and secondary scenarios
primary scenario
Normal course of events
secondary scenarios
Alternative/exceptional course of events, variations of primary scenario
An alternative scenario meets the intent of the use case but with a
different sequence of steps
An exceptional scenario addresses the conditions of main case and
alternative cases that differ from the norm and cases already covered
22
2.3.Observation and social analysis
23
Ethnography Guidelines
Assume that people are good at doing their job and look for non-
standard ways of working.
Spend time getting to know the people and establish a trust
relationship.
Keep detailed notes of all work practices. Analyze them and draw
conclusions from them.
Combine observation with open-ended interviewing or with other
elicitation techniques.
Organize regular de-briefing session where the ethnographer talks
with people outside the process.
24
2.4. Soft Systems Methods
They are qualitative techniques that applies system thinking to non-
systemic situations.
Devised to tackle unstructured and messy problems(b/c of d/t
perspective due to experiences, cultures, values, education.)
These produce informal models of a socio-technical system. They
consider the system, the people and the organization.
Do not use for detailed requirements elicitation. Rather, they are ways
of understanding a problem and its organizational context.
Software Systems Methodology (SSM) is probably the best known of
these methods.
• The essence of SSM is its recognition that systems are embedded in a
wider human and organizational context.
25
Stages of SSM
Problem situation assessment.
Model/real-world comparison.
Change identification.
27
Reuse Possibilities
Where the requirement is concerned with providing
application domain information.
Where the requirement is concerned with the style of
information presentation. Reuse leads to a consistency of
style across applications.
Where the requirement reflects company policies such as
security policies.
28
Elicitation Problems
Not enough time for elicitation.
29
Requirements analysis