0% found this document useful (0 votes)
43 views36 pages

Chapter Three - Requirements Elicitation

The document discusses requirement elicitation techniques such as interviews, scenarios, and observations to understand what services a system should provide by discussing with stakeholders. It describes conducting interviews by preparing questions, making the interviewee comfortable, and taking thorough notes. The goal of elicitation is to understand the application domain, problems to be solved, and stakeholder needs and constraints.

Uploaded by

Beza Gal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views36 pages

Chapter Three - Requirements Elicitation

The document discusses requirement elicitation techniques such as interviews, scenarios, and observations to understand what services a system should provide by discussing with stakeholders. It describes conducting interviews by preparing questions, making the interviewee comfortable, and taking thorough notes. The goal of elicitation is to understand the application domain, problems to be solved, and stakeholder needs and constraints.

Uploaded by

Beza Gal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

Chapter Three

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

about the application domain


 what services the system should provide
 the required performance of the system
 hardware constraints, and etc..

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

 Objective setting: establish the overall organizational objectives:


determine why system may be necessary.
 Background of knowledge acquisition: gather and understand
more background information about the system.
 Knowledge organization: organize, prioritize and collate the
large amount of data collected in the previous phases.
 Stakeholder requirements collection: involve system
stakeholders to discover their requirements
4
2. Elicitation Techniques
 Specific techniques used to collect knowledge about
system requirements.
1.Interviews
2.Scenarios
3.Observations and social analysis
4.Soft systems methods
5.Requirements reuse

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

 Keep all diagrams, charts, models created during the discussions


 You are learning, so be precise
Pay attention to terminology
Use the interviewee’s terminology
Identify synonyms
Create a glossary if necessary

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?

 When will the system do it?

 Are there several modes of operations?

 What kinds of computations or data transformations must be performed?

 What are the appropriate reactions to possible stimuli?

 For both input and output, what should be the format of the data?

 Must any data be retained for any period of time?

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

It expresses a specific occurrence of the use case (a specific


path through the use case)
• A specific actor ...
• At a specific time ...
• With specific data …

Many scenarios may be generated from a single use case description

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

 Example with consensus(general agreement) as a goal


 Primary scenario: vote in a session
 Alternative scenario: voting in several sessions
 Exceptional scenario: what to do with a non-registrant who wishes to vote

22
2.3.Observation and social analysis

 People sometimes find it hard to describe what they do.


 The best way to understand such environment is to observe them at work
 Ethnography is a technique from the social sciences which has proved
to be valuable in understanding actual work processes.
 Actual work processes often differ from formal, prescribed processes.
 An ethnographer spends some time observing people at work and
building up a picture of how work is done.

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.

 Problem situation description.

 Abstract system definition from selected viewpoints.

 Conceptual system modeling.

 Model/real-world comparison.

 Change identification.

• Recommendations for action. 26


2.5. Requirements Reuse
 Reuse involves taking the requirements which have been
developed for one system and using them in a different
system.
 Requirements reuse saves time and effort as reused
requirements have already been analyzed and validated in
other systems.
 Currently, requirements reuse is an informal process but
more systematic reuse could lead to larger cost savings.

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.

Insufficient preparation by engineers.

Stakeholders are unconvinced of the need for a new


system.

29
Requirements analysis

• The goal of analysis is to discover problems, incompleteness


and inconsistencies in the elicited requirements. These are
then fed back to the stakeholders to resolve them through
the negotiation process.
• Analysis is inserted with elicitation as problems are
discovered when the requirements are elicited.
• A problem checklist may be used to support analysis. Each
requirement may be assessed against the checklist.
Analysis checklists
• Premature design
• Does the requirement include premature design or
implementation information?
• Combined requirements
• Does the description of a requirement describe a single
requirement or could it be broken down into several different
requirements?
• Unnecessary requirements
• Is the requirement ‘gold plating’? That is, is the requirement a
cosmetic addition to the system which is not really necessary.
• Use of non-standard hardware
• Does the requirement mean that non-standard hardware or
software must be used? To make this decision, you need to know
the computer platform requirements.
Analysis checklists
• Conformance with business goals
• Is the requirement consistent with the business goals defined in
the introduction to the requirements document?.
• Requirements ambiguity
• Is the requirement ambiguous i.e. could it be read in different
ways by different people? What are the possible interpretations of
the requirement?
• Requirements realism
• Is the requirement realistic given the technology which will be
used to implement the system?
• Requirements testability
• Is the requirement testable, that is, is it stated in such a way that
test engineers can derive a test which can show if the system
meets that requirement?
Requirements interactions
• A very important objective of requirements analysis is to
discover the interactions between requirements and to
highlight requirements conflicts and overlaps.
• A requirements interaction matrix shows how requirements
interact with each other. Requirements are listed along the
rows and columns of the matrix.
• For requirements which conflict, fill in a 1
• For requirements which overlap, fill in a 1000
• For requirements which are independent, fill in a 0
Interaction matrices
Requirements negotiation
• Disagreements about requirements are expected when a
system has many stakeholders. Conflicts are not ‘failures’
but reflect different stakeholder needs and priorities.
• Requirements negotiation is the process of discussing
requirements conflicts and reaching a compromise that all
stakeholders can agree to.
• In planning a requirements engineering process, it is
important to leave enough time for negotiation. Finding an
acceptable compromise can be time-consuming.
Negotiation meetings

• An information stage where the nature of the problems


associated with a requirement is explained.
• A discussion stage where the stakeholders involved discuss
how these problems might be resolved.
• All stakeholders with an interest in the requirement should be
given the opportunity to comment. Priorities may be assigned to
requirements at this stage.
• A resolution stage where actions concerning the
requirement are agreed.
• These actions might be to delete the requirement, to suggest
specific modifications to the requirement or to elicit further
information about the requirement.

You might also like