What
is Requirement Elicitation?
Participants in elicitation
Risks of requirements elicitation
Requirements elicitation techniques
The
most common causes of poor
quality, cost overruns and late delivery of
software: Incorrect, incomplete, or
misunderstood requirement
Requirements elicitation is “the process
of discovering the requirements for a
system by communicating with
customers, system users and others who
have a stake in the system development”
Gather
requirement from various sources:
identify requirement providers: stakeholders
Analyse the gathered information, looking
for implications, inconsistencies or
unresolved issues
Confirm understanding of the requirements
with the users
Synthesize appropriate statements of the
requirements
Requirement
elicitation involves many people.
Customer/Client:
Person who pays for the software
development. Ultimately, has the final word on what
will be the product
Software engineer: Expert who knows the
technology and process -> produce the requirements
specifications
The potential users: of the current system or future
systems indicate which functions to maintain or
improve
Articulation
problems:
The user can’t express their needs
The users may not aware of their needs or not
understand how the technology may be able to
help them
The user may aware of a need but be afraid of
express it.
Users and developers misunderstand concepts or
relationships because they have different meanings
for common terms(ex:implementation)
Communication
Barriers:
Users and developers come from different worlds
and have different professional vocabularies
The users have different concerns from those of
developer (high-level attributes vs low-level
technical issues)
Different personality types and different value
systems among people
Knowledge
and cognitive limitations
The users and developers don’t have enough
domain or technical knowledge
The users and developers don’t remember exactly
what was said may misinterpret that
information late
Try to simplify the propblem or ignore parts of
problem distort the problem
State the problem in terms of favored solution
Human
behavior issues:
Requirement elicitations is a social process
human behavior issues are involved
Conficts and ambiguities in the roles of
stakeholders lead to gap in requirements
Fear the new system will necessitate the changes
in behavior of individuals and group withhold
information
Technical
issues
The problems are becoming increasingly complex
Requirements change over time
There are many sources of requirements..
Asking
Observing
and inferring
Discussing and formulating
Negotiating
Studying and identifying problems
Discovering through creative process
Interview
Brainstorming
JAD
Prototype
The
most commonly used requirements
gathering technique.
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 three important
steps:
Planning and preparation
Conducting the interview
Postinterview follow-up.
Planning
and preparation
Set goals and objectives for the interview
Select interviewees
Create an interview schedule
Designing Interview Questions
Closed-Ended Questions
Opened-Ended Questions
Probing Questions
Conducting
the interview
Make the interviewee comfortable and
confident
Be polite and respectful!
Take careful notes
Don’ t afraid to ask
Postinterview
follow-up
Prepare an interview report that
describes the information from the
interview.
Send the interview report to the
interviewee with a request to read it
and inform the analyst of clarifications
or updates.
Problem
solving stages includes:
Problem Identification
Idea Generation
Idea Selection (decision making)
Implementation
Brainstorming
requires multiple people,
the Project Manager functions as a
facilitator of the session
Two
main activities:
The Storm: Generating as many ideas as
possible (quantity, not quality) – wild is
good!
Idea Selection : Filtering out of ideas
(combine, clarify, prioritize, improve…) to
keep the best one(s) – may require some
voting strategy
Planning
the Session
Define the problem
Identify participants
Create groups out of the participants (just 3-4
members/group). Each group should consist of
people from diverse and relevant backgrounds
Conducting
the Session
After the Brainstorming Session
Give a reward or recognize the participant
follow-up and monitor the solution to closure.
An
information gathering technique that
allows the project team, users, and
management to work together to
identify requirements for the system
JAD is a structured process
10 to 20 users meet together under the
direction of facilitator skilled in JAD
techniques.
Preparation
Pre-session Planning
Pre-work
Conduction
Summary
the JAD session
Pre-session
Planning
Evaluate project
Identify contentious issues and scope of JAD
session
Select JAD participants
Create preliminary agenda
Determine deliverables for the working
session
Enable participants to prepare for the session
Pre-work
Planning
Gather information
Clear schedules for the working session
Refine session agenda
Finalize pre-session assignments
Prepare material for session (flip-charts,
presentations, marker...)
Set-up
stage
Session leader welcomes participants,
presents task to be discussed, establishes
rules and what is on/off topic…
Generate
common understanding
Achieve agreement on decisions
Create the deliverables
Identify open issues and questions