You are on page 1of 56

REQUIREMENTS Week 4-5

ELICITATION
Instructor: Saima
REQUIREMENTS ELICITATION
Term Elicitation is not universally accepted
 Identifying
 Gathering
 Determining
 Formulating
 Extracting
 Exposing

Elicitation is the process of identifying the needs and constraints


of the various stakeholders for a software system.
WHY DO ELICITATION?
Not doing elicitation means “I do not want to know (or care) what
my customer wants?”

Resulting into a system which will not solve real world problem of
the customer.

The system will not be used and thus fail.


REQUIREMENTS ELICITATION?
Elicitation is not the same as “gathering requirements.”

Elicitation is a collaborative and analytical process that includes


activities to collect, discover, extract, and define requirements.

Elicitation is used to discover business, user, functional, and


nonfunctional requirements, along with other types of information.

Requirements elicitation is perhaps the most challenging, critical, error-


prone, and communication-intensive aspect of software development.
REQUIREMENTS ELICITATION
PROCESS
Rzepka decomposes the elicitation process
Identify the relevant parties (stakeholders) which are sources of requirements.
 The party might be an end user, an interfacing system, or environmental factors.
Gather the “wish list” from each relevant party.
 This wish list is likely to originally contain ambiguities, inconsistencies, infeasible
requirements, and un-testable requirements, as well as probably being incomplete.
Document and refine the “wish list” for each relevant party.
 The wish list includes all important activities and data, and during this stage it is
repeatedly analyzed until it is self-consistent. The list is typically high level, specific to
the relevant problem domain, and stated in user-specific terms.
Integrate the wish lists across the various relevant parties (viewpoints)
 thereby resolving the conflicts between the viewpoints. Consistency checking is an
important part of this process. The wish lists, or goals, are also checked for feasibility.
Determine the nonfunctional requirements, such as performance, security,
reliability etc.., and state these in the requirements document.
OUTCOMES OF REQUIREMENT
ELICITATION
 Users or buyers
 A full understanding of requirements and separation of ‘wants’ and ‘needs’
 A good understanding of the decisions they have made in developing the requirements.
 A sense of ownership.
 Feel informed and educated.
 Committed to the success of the project.
 Software Engineer or Developer
 Solving the right problem
 Confidence that Solution is feasible
 They have trust and confidence of the customers
 Customer co-operation
 Knowledge of the domain of the system
REQUIREMENT ELICITATION
TECHNIQUES
 Variety of effective elicitation techniques
 No project team should expect to use only one elicitation
technique.
 There are always many types of information to be discovered, and
different stakeholders will prefer different approaches.
 Elicitation techniques include both
 facilitated activities: in which you interact with stakeholders to elicit
requirements, and
 independent activities: in which you work on your own to discover
information
REQUIREMENT ELICITATION
TECHNIQUES
 Interviews  Document Analysis
 Workshop  Story Boarding
 Brainstorming  Scenarios
 Focus Groups  Use cases
 Observations  Role Playing
 Questionnaires  Ethnography
 System Interface Analysis  Prototyping
 User Interface Analysis
TECHNIQUE: INTERVIEWS
 Formal or informal interviews with stakeholders are part of most RE
processes.
 Types of interview
 Closed interviews based on pre-determined list of questions
 Open interviews where various issues are explored with stakeholders.
 Effective interviewing
 Be open-minded, avoid pre-conceived ideas about the requirements
and are willing to listen to stakeholders.
 Prompt the interviewee to get discussions going using a springboard
question or even by working together on a prototype system.
TECHNIQUE: INTERVIEWS IN
PRACTICE
 Normally a mix of closed and open-ended interviewing.

 Interviews are good for getting an overall understanding of


what stakeholders do and how they might interact with the
system.

 Interviews are not good for understanding domain


requirements
Requirements engineers cannot understand specific domain
terminology;
Some domain knowledge is so familiar that people find it hard to
TECHNIQUE: INTERVIEWS
 Simple direct technique

 Context-free questions can help achieve bias-free interviews

 Appropriate to search for undiscovered requirements by exploring


solutions.

 Convergence on some common needs will initiate a “requirements


repository” for use during the project.
TECHNIQUE: INTERVIEW -
CONTEXT FREE QUESTION
 Goal is to collect unbiased user’s response to the questions.
 Examples:
 Who is the user?
 Who is the customer?
 Are their needs different?
 Where else can a solution to this problem be found?

 After context-free questions are asked, suggested solutions can be


explored.
TECHNIQUE: INTERVIEW -
SHOW TIME
 Establish Customer or User Profile
 Assessing the Problem
 Understanding the User Environment
 Recap the Understanding
 Analyst’s Inputs on Customer’s Problems
 Assessing Your Solution (if applicable)
INTERVIEW - ESTABLISH
CUSTOMER OR USER PROFILE
Name:
Company:
Industry:
Job Title:
What are your key responsibilities?
What outputs do you produce?
For Whom?
How is success measured?
Which problems interfere with your success?
What, if any, trends make your job easier or more difficult?
INTERVIEW - ASSESSING THE
PROBLEM
For which problems do you lack good solutions?

What are they? (Hint: Keep asking, “Anything else?”)

For each problem ask:


 Why does the problem exist?
 How do you solve it now?
 How would you like to solve it?
INTERVIEW - UNDERSTANDING THE
USER ENVIRONMENT
Who are the users?
What is their educational background?
What is their computer background?
Are users experienced with this type of application?
Which platforms are in use?
What are your plans for future platforms?
What are your expectations for usability for this type of product?
What are your expectations for training time?
What kinds of user help do you need?
INTERVIEW - RECAP THE
UNDERSTANDING
You have told me …………….
(List customer described problems in your own words.)
INTERVIEW - ANALYST’S INPUTS ON
CUSTOMER’S PROBLEMS
(Validate or Invalidate assumptions)

For each problem ask,


 Is this a real problem?
 What are the reasons for the problem?
 How do you currently solve the problem?
 How would you like to solve the problem?
 How would you rank solving these problems in comparison to others you’ve
mentioned?
INTERVIEW - ASSESSING
YOUR SOLUTION
Assessing the Solution (if applicable).

What if you could



How would you rank the importance of these?


TECHNIQUE: WORKSHOP
 The requirements workshop is perhaps the most powerful technique
for eliciting requirements.

 It gathers all key stakeholders together for a short but intensely


focused period.

 The use of an outside facilitator, experienced in requirements


management, can ensure the success of the workshop.

 Purpose is to gain multiple view points, share information, increase


understanding, and reach consensus.
PREPARING FOR THE
WORKSHOP
 Selling the workshop concept to stakeholders
 Ensuring the Participation of the Right Stakeholders
 Logistics
 Try and prevent Murphy’s law
“If something can go wrong, it will.”
 Includes travel, lighting, and even “afternoon sugar filled
snacks.”
 Warm-up materials
 Project-specific information
 Out-of-box thinking preparation
ROLE OF THE
FACILITATOR
 Establish professional and objective tone to the meeting.
 Start and stop 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 a process of decision and consensus making, but avoid
participating in the content.
 Make certain that all stakeholders participate and have their input heard.
 Control disruptive or unproductive behavior.
WORKSHOP AGENDA
 Set an agenda before the workshop and publish it along
with the other pre-workshop documentation.
 Balance is the key, try to stay on the agenda, but do not
strictly obey it, especially if good discussion is going on.
 Order lunch in, and have a light working lunch. :-)
RUNNING THE WORKSHOP
Allow for human behavior, and have fun with it.
 Do not “attack” other members.
 Do not get on a soapbox.
 Do not come back late from a break.

Workshop tickets
 Can give every stakeholder 3 workshop tickets
 1 for being late
 1 for “cheap shot”
 1 for “soapbox”
 Facilitator gives tickets when appropriate. If you do not have a ticket create a
fund to add to, like $1 to pot for after workshop activities.
WORKSHOP PROBLEMS AND
SOLUTIONS
Time Management Facilitator keeps a timer for all
It’s difficult to get going after breaks and breaks and fines anyone that is late,
lunch. everyone gets one free pass.
Key stakeholders may be returning late.
Grandstanding, domineering Everyone gets one 5 minute position
positions. statement.
Lack of input from stakeholders Facilitator encourages everyone to
use 5-minute position and great idea
ticket.
Negative comments, petty Use “Cheap Shot Tickets”, all others
behaviors, and turf wars go into the fine pot.
Flagging energy after lunch Light lunches, afternoon breaks,
rearrange seating
TECHNIQUE:
BRAINSTORMING
 Brainstorming involves both idea generation and idea reduction.
 The most creative, innovative ideas often result from combining,
seemingly unrelated ideas.
 Various voting techniques may be used to prioritize the ideas created.
 Although live brainstorming is preferred, web-based brainstorming
may be a viable alternative in some situations.
RULES FOR
BRAINSTORMING
 Do not allow criticism or debate.
 Let your imagination soar
 Generate as many ideas as possible
 Mutate and combine ideas
 Idea Reduction
 Pruning ideas that are not worthy of further discussion
 Grouping of similar ideas into one super topic
 Prioritize the remaining ideas
TECHNIQUE: FOCUS GROUPS
A focus group is a representative group of users who convene in a
facilitated elicitation activity to generate input and ideas on a
product’s functional and quality requirements.

Homogeneous group vs heterogeneous group

Watch for
sample bias
dominance and submission
TECHNIQUE: FOCUS GROUPS
 Advantages
 More natural interaction between people than formal interview
 Can gauge reaction to stimulus materials (e.g. mock-ups,
storyboards, etc.)

 Disadvantages
 May create unnatural groups (uncomfortable for participants)
 Danger of Groupthink
 May only provide superficial responses to technical questions
 Requires a highly trained facilitator
TECHNIQUE:
QUESTIONNAIRES
 A way to survey large groups of users to understand their needs.
 Inexpensive
 Can be administered easily across geographical boundaries
 Can have follow up interviews
 Two kind of questions
1. Open ended questions
2. Closed ended questions
 Preparing well-written questions is the biggest challenge with questionnaires
IMPORTANT TIPS TO PREPARE
QUESTIONNAIRE
 Provide answer options that cover the full set of possible responses.
 Make answer choices mutually exclusive.
 Don’t phrase a question in a way that implies a “correct” answer.
 If you use scales, use them consistently throughout the questionnaire.
 If you want to use the questionnaire results for statistical analysis, use closed questions
with two or more specific choices. Open-ended questions allows users to respond any
way they want, so it’s hard to look for commonalities in the results.
 Consider consulting with an expert in questionnaire design and administration to ensure
that you ask the right questions of the right people.
 Always test a questionnaire before distributing it. It’s frustrating to discover too late that
a question was phrased ambiguously or to realize that an important question was omitted.
 Don’t ask too many questions or people won’t respond.
TECHNIQUE: SYSTEM
INTERFACE ANALYSIS
 Interface analysis is an independent elicitation technique
 examining the systems to which your system connects
 reveals functional requirements regarding the exchange of data and
services between systems
 These requirements could describe
 what data to pass to the other system,
 what data is received from it,
 and rules about that data, such as validation criteria
 May also discover existing functionality that you do not need to
implement in your system
TECHNIQUE: USER INTERFACE
ANALYSIS
 User interface (UI) analysis is an independent elicitation technique
 study existing systems to discover user and functional requirements
 best to interact with the existing systems directly, but if necessary you
can use screen shots
 If there is no existing system, you might be able to look at user
interfaces of similar products
 Do not assume that certain functionality is needed in the new system
just because it is found in an existing one.
TECHNIQUE: DOCUMENT
ANALYSIS
 Elicit Information from existing documents
 most useful documentation includes
 requirements specifications,
 business processes,
 lessons-learned collections, and
 user manuals for existing or similar applications
 Helpful when subject matter experts are not available or no longer with the
organization.
 can use the results of this analysis as input to user interviews or other elicitation
techniques
 A risk with this technique is that the available documents might not be up to
TECHNIQUE: SCENARIOS
Scenarios are real-life examples of how a system can be used.
Scenarios are rich stories of user-system interactions.
They should include
 A description of the starting situation;
 A description of the normal flow of events;
 A description of what can go wrong;
 Information about other concurrent activities;
 A description of the state when the scenario finishes.
SCENARIO FOR COLLECTING
MEDICAL HISTORY IN MHC-PMS

CHAPTER 4 REQUIREMENTS ENGINEERING 36


SCENARIO FOR COLLECTING
MEDICAL HISTORY IN MHC-PMS

CHAPTER 4 REQUIREMENTS ENGINEERING 37


TECHNIQUE:
STORYBOARDING
A Storyboard is a logical and conceptual description of system
functionality for a specific scenario, including the interaction
required between the users and the system.
A Storyboard is a sequence of images which demonstrate the
relationship between individual screens and actions within a system
A Storyboard "tells a specific story". 
Scripted walkthrough of system activities and/or screen mockups
Storyboards identify the players, explain what happens to them, and
describes how it happens.
TECHNIQUE:
STORYBOARDING
Typically expressed in the form of activity diagrams
 to show workflow or performed actions
 may be partitioned to show control flow between different classes
Usually tied to use cases
 activity partitions correspond to actors
Types of Storyboarding
 Passive Storyboards
 Active Storyboards
 Interactive Storyboards
TYPES OF STORYBOARDS
Passive storyboards
 Tell a story to the user.
 Consist of sketches, pictures, screen shots, PowerPoint presentations, or sample application
outputs.
 Walks the user through the storyboard, with a "When you do this, this happens" explanation.

Active storyboards
 Try to make the user see "a movie that hasn't actually been produced yet.“
 Provide an automated description of the way the system behaves in a typical usage or
operational scenario.
Interactive storyboards
 Let the user experience the system in as realistic a manner as practical.
 Require participation by the user.
STORYBOARDING
CONTINUUM
A SAMPLE STORYBOARD –
PASSIVE
ANIMATING A STORYBOARD -
ACTIVE
TECHNIQUE: USE CASES
Use-cases are a scenario based technique in the UML which
identify the actors in an interaction and which describe the
interaction itself.
A set of use cases should describe all possible interactions with the
system.
Sequence diagrams may be used to add detail to use-cases by
showing the sequence of event processing in the system.

CHAPTER 4 REQUIREMENTS ENGINEERING 44


USE CASES FOR THE MHC-PMS

CHAPTER 4 REQUIREMENTS ENGINEERING 45


USE CASES
Use Cases, like storyboards, identify the who, what, and how of system
behavior.
Use Cases describe the interactions between a user and a system,
focusing on what they system “does” for the user.
The Use Case model describes the totality of the systems functional
behavior.
Early stages: After you have an overview of the use cases, expand 10%
of them in detail.
TECHNIQUE: OBSERVATIONS
 When you ask users to describe how they do their jobs, they will
likely have a hard time being precise—details might be missing or
incorrect
 Sometimes you can learn a lot by observing exactly how users
perform their tasks
 limit each observation time to two hours or less
 Observations can be silent or interactive
 Document what you observe for further analysis after the session
 May also consider video recording the session
TECHNIQUE: ETHNOGRAPHY
A social scientist spends a considerable time observing and
analysing how people actually work.
People do not have to explain or articulate their work.
Social and organisational factors of importance may be observed.
Ethnographic studies have shown that work is usually richer and
more complex than suggested by simple system models.

CHAPTER 4 REQUIREMENTS ENGINEERING 48


TECHNIQUE:
PROTOTYPING
 Prototyping is especially effective in addressing the “Yes, But” and
the “Undiscovered Ruins” syndromes.
 A software requirements prototype is a partial implementation of a
software system, built to help developers, users, and customers
better understand system requirements.
 Prototype the “fuzzy” requirements: those that, although known or
implied, are poorly defined and poorly understood.
The “UNDISCOVERED
RUINS” Syndrome
 Question by a Tourist“ so , umm how many undiscovered ruins are
there?”
 The more you found out, the more you know remains.
 You are never really done with requirement elicitation and you never will
be
 Solution
 Identification
of all stakeholders during problem analysis
 Should know when to say “ We have discovered enough”
 Many techniques used for exploring requirements
The “YES, BUT”
Syndrome
 Wow this is so good BUT hmmm now that I see it what about
this….?

 Solution
 To identify the YES BUT syndrome early and try to eliminate it so that
when you develop software you have already taken care of YES BUT
syndrome
The “USER AND THE
DEVELOPER” Syndrome

 Communication gap
 Different words, different languages, different motivations etc.
 Solution
 Use techniques such as role playing, story boarding, throwaway
prototypes to deal with articulation and communication problems.
GOOD PRACTICES:
REQUIREMENTS ELICITATION
Define product vision and project scope
Identify user classes and their characteristics
Select a product champion for each user class
Conduct focus groups with typical users
Work with user representatives to identify user requirements
Identify system events and responses
Hold elicitation interviews
GOOD PRACTICES:
REQUIREMENTS ELICITATION
Hold facilitated elicitation workshops
Observe users performing their jobs
Distribute questionnaires
Perform document analysis
Examine problem reports of current systems for requirement ideas
Reuse existing requirements
QUESTIONS ?

You might also like