SlideShare a Scribd company logo
1 of 53
Requirements Elicitation
Muhammad Ramzan
mramzan@fui.edu.pk
10/02/13 RE 2
Week 4
Requirements Elicitation: A Survey of Techniques,
Approaches, and Tools
10/02/13 RE 3
 The elicitation of requirements represents an early but
continuous and critical stage in the development of
software systems.
 The requirements for a software system may be
spread across many sources.
• the problem owners,
• the stakeholders,
• documentation, and other existing systems.
 Because of the communication rich nature of
requirements elicitation activities, many of the effective
techniques do not originate from the traditional areas of
software engineering or computer science research.
• Some of the techniques are derived mostly from the social sciences,
organizational theory, group dynamics, knowledge engineering, and
very often from practical experience.
10/02/13 RE 4
The process of requirements elicitation is
generally accepted as one of the critical
activities in the RE process.
• but it’s a difficult part of software development
projects.
A recent field study of fifteen RE teams
carried out by Hofmann and Lehner identified
key RE practices that should lead to project
success.
• Effective elicitation of requirements was arguably
among the most important of the resulting
recommended good RE practices.
10/02/13 RE 5
Nature of Req. Elicitation activities
 Requirements elicitation itself is a very complex
process involving many activities, with multiple
techniques available to perform these activities.
 The multidisciplinary nature of requirements
elicitation only adds to this complexity.
 In reality requirements elicitation is a multifaceted
and iterative activity that relies heavily on the
communication skills of requirements engineers and
the commitment and cooperation of the system
stakeholders.
 One of the main problems facing software
development project teams is communication
barriers and agreement about the requirements.
10/02/13 RE 6
Issues
 The main concepts which are clearly defined to one
community of participants can be entirely opaque to
members of another.
 The fact that this situation exists often goes unnoticed
in the course of elicitation unless specific attention is
paid to the problem.
 For example, it can be said that the method employed
for a custom built embedded control system is likely to
be substantially different to that of a commercially
available inventory management system.
 Furthermore, project teams may be spread across
different geographical locations and from diverse
cultural backgrounds.
 The specific elicitation techniques used for a particular
situation often depend on a variety of additional factors
including time and cost, the availability of resources,
the safety criticality of the system, and any legal or
regulatory constraints.
10/02/13 RE 7
What is Requirements
Elicitation?
 Very little uniformity in RE research and practice
concerning a standard definition for requirements
elicitation.
 Requirements elicitation is concerned with learning and
understanding the needs of users and project sponsors
with the ultimate aim of communicating these needs to
the system developers.
 Robertson and Robertson refer to this process as
“trawling for requirements” to highlight the fact that
through this process you are likely to get more
requirements than expected.
 This implies that gathering a few extraneous
requirements initially is always better than gathering
less.
10/02/13 RE 8
Requirements elicitation- term
The term suggest that the process is a
simple knowledge transfer process
where req engineers elicit and document
existing customer knowledge
In reality, the process is much more
complex
It is not a process of ‘fishing’ for
requirements
The author prefer the term requirements
discovery to reflect the uncertainties
10/02/13 RE 9
Davis (1993)
 Avoids the term elicitation and equates this
discovery process to a process of problem analysis
and understanding.
 Problem analysis is defined as the activity that
encompasses learning about the problem to be
solved (often through brainstorming and/or
questioning), understanding the needs of
potential users, trying to find out who the user
really is and understanding all the constraints on
the solution
 But this implies that the activity is only concerned
with understanding the details of a specific problem
which requires some kind of systems solution
10/02/13 RE 10
Dimensions of requirements
elicitation by Kotonya and
Sommerville (1998)
10/02/13 RE 11
Elicitation activities
 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.
 Business understanding
• You must understand how systems interact and contribute
to overall business goals.
 Understanding the needs and constraints of system stakeholders
• You must understand, in detail, the specific needs of people
who require system support in their work.
10/02/13 RE 12
Requirements Elicitation
Techniques
 Interviewing and questionnaires
 Requirements workshops
 Brain Storming and idea reduction
 Storyboards
 Use Cases
 Role Playing
 Prototyping
10/02/13 RE 13
Technique: Interviewing
 Simple direct technique
 Context-free questions can help achieve bias-free
interviews
 Then, it may be appropriate to search for undiscovered
requirements by exploring solutions.
 Convergence on some common needs will initiate a
“requirements repository” for use during the project.
 A questionnaire is no substitute for an interview.
10/02/13 RE 14
Technique: Requirements
Workshop
 The requirements workshop is perhaps the
most powerful technique for eliciting
requirements.
 It gathers all keykey 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.
 Brainstorming is the most important part of the
workshop.
10/02/13 RE 15
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
10/02/13 RE 16
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
10/02/13 RE 17
Storyboarding
 The purpose of storyboarding is to gain an early
reaction from the users on the concepts proposed for
the application.
• Storyboards offer an effective technique for addressing the
"Yes, But" syndrome.
 Storyboarding
• Is extremely inexpensive
• Is user friendly, informal, and interactive
• Provides an early review of the user interfaces of the system
• Is easy to create and easy to modify
10/02/13 RE 18
Technique: Storyboarding
 Storyboards identify the players, explain what
happens to them, and describes how it
happens.
 Make the storyboard sketchy, easy to modify,
and unshipable.
 Storyboard early and often on every project
with new or innovative content.
10/02/13 RE 19
Storyboarding Types
10/02/13 RE 20
Technique: 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, perhaps only by a phrase apiece,
expand 10% of them in detail.
10/02/13 RE 21
Technique: Role Playing –
variant on use cases
 Role playing allows stakeholders to
experience the user’s world from the
user’s perspective.
 A scripted walkthrough may replace role
playing in some situations, with the script
becoming a live storyboard.
(Class-Responsibility-Collaboration (CRC)
cards, often used in object-oriented
analysis, are a derivative of role playing.)
10/02/13 RE 22
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.
10/02/13 RE 23
Effective Requirements
Elicitation
Is very important because if the customer’s
real requirements are not discovered, they
are unlikely to be satisfied with the final
system
Requirements engineers faced some
problems in req elicitation inherent to the
multi-dimensional nature of req elicitation
10/02/13 RE 24
Problems of requirements
elicitation can be grouped into
three categories (Christel & Kang,
1992):
problems of scope, in which the requirements
may address too little or too much
information;
problems of understanding, within groups as
well as between groups such as users and
developers; and
problems of volatility, i.e., the changing
nature of requirement
10/02/13 RE 25
PROBLEMS OF SCOPE
• the boundary of the system is ill-defined
• unnecessary design information may be given
10/02/13 RE 26
PROBLEMS OF UNDERSTANDING
• users have incomplete understanding of their
needs
• users have poor understanding of computer
capabilities and limitations
• analysts have poor knowledge of problem
domain
• user and analyst speak different languages
• conflicting views of different users
• requirements are often vague and untestable,
e.g., “user friendly” and “robust”
10/02/13 RE 27
PROBLEMS OF VOLATILITY
• requirements evolve over time
10/02/13 RE 28
MAIN ACTIVITIES IN RE
 Typical activities of the requirements elicitation process can be
divided into five fundamental types as described below:
 (1) Understanding the Application Domain –
• It is important when beginning the process of requirements
elicitation to investigate and examine in detail the situation or “real
world” in which the system will ultimately reside (sometimes called
the application domain)
• The current environment needs to be thoroughly explored
including the political, organizational, and social aspects related to
the system, in addition to any constraints they may enforce upon
the system and its development.
• Existing work processes and the related problems to be solved by
the system need to be described with respect to the key business
goals and issues.
10/02/13 RE 29
 (2) Identifying the Sources of Requirements –
• Requirements may be spread across many sources and
exist in a variety of formats.
• Stakeholders represent the most obvious source of
requirements for the system.
• Users and subject matter experts are used to supply
detailed information about the problems and user needs.
• Existing systems and processes represent another source
for eliciting requirements, particularly when the project
involves replacing a current or legacy system.
• Existing documentation about the current systems and
business processes including manuals, forms, and reports
can provide useful information about the organization and
environment, as well as requirements for the new system
and their supporting rationale and importance.
10/02/13 RE 30
 Analyzing the Stakeholders –
• Stakeholders are people who have an interest in the system or
are affected in some way by the development and
implementation of the system and hence must be consulted
during requirements elicitation.
• Typically stakeholders include groups and individuals internal
and external to the organization.
• The customer, and more specifically the project sponsor, is
usually the most apparent stakeholder of the system.
• In some cases however the actual users of the system may be
the most important. For Example….?
• Other parties whose sphere of interest may extend to some
part of the system operations, such as those responsible for
work process standards, customers, and partners, should also
be regarded as stakeholders if affected.
• One of the first steps in requirements elicitation therefore is to
analyze and involve all the relevant stakeholders.
• The process of analyzing the stakeholders also often includes
the identification of key user representatives and product
champions.
10/02/13 RE 31
Selecting the Techniques, Approaches, and
Tools to Use –
• Although some may advocate that just one elicitation
technique or a single methodology is sufficient and
may be applied to all cases, it is generally accepted
that an individual requirements elicitation technique
or approach cannot possibly be suitable for all
projects.
• The choice of techniques to be employed is
dependent on the specific context of the project and
is often a critical factor in the success of the
elicitation process .
10/02/13 RE 32
• Hickey and Davis have investigated the elicitation
technique selection and stated that a particular
elicitation technique may be selected for a variety
of reasons.
• (a) the technique selected is the only one the analyst knows,
• (b) the technique selected is the analyst’s favorite,
• (c) the selected technique is the one prescribed by a specific
methodology that is being followed for the system
development, and
• (d) the choice of technique is governed solely by the intuition
of the analyst to be effective in the current context.
• Clearly requirements elicitation is best performed
using a variety of techniques. In the majority of
projects several methods are employed during and
at different stages in the software development life
cycle, often in cooperation where complementary.
10/02/13 RE 33
 Eliciting the Requirements from Stakeholders and Other
Sources –
 Once the sources of requirements and the specific
stakeholders have been identified, the actual elicitation of the
core requirements then begins using the selected elicitation
techniques, approaches, and tools.
 During this activity it is important to establish the level of
scope for the system and investigate in detail the needs and
wants of the stakeholders, especially the users.
 It is also essential to determine the future processes the
system will perform with respect to the business operations,
and examine the ways in which the system may support
them in order to satisfy the major objectives and address the
key problems of the business.
10/02/13 RE 34
 It is important to remember that requirements elicitation
does not occur in a vacuum.
 It is strongly related to the context in which it is
conducted and specific characteristics of the project,
organization, and environment .
 In practice the budget and schedule of the project have
a significant effect on the process and the way in which
it is performed.
 The structure and maturity of the organization will
determine how requirements are elicited, as will the
way in which the system will interact with users and
other systems.
 The level of volatility within a project must also be
considered, as this will directly affect the quality of
requirements and the elicitation process itself
10/02/13 RE 35
Requirements Elicitation
Activities
 Identifying Actors
 Identifying Scenarios
 Identifying Use Cases
 Refining Use Cases
 Identifying Relationships between Actors
and Use Cases
 Identifying Initial Analysis Objects
 Identifying Nonfunctional Requirements
10/02/13 RE 36
Identifying Actors
 Actors – person or machine using the system in a particular role
 Actors usually correspond to existing roles within the client
organization
 Related roles can be grouped together according to viewpoints
 Guide Questions
• Which user groups are supported by the system to perform their work?
• Which user groups execute the system’s main functions?
• Which user groups perform secondary functions, such as maintenance and
administration?
• With what external hardware or software system will the system interact?
10/02/13 RE 37
Identifying Scenarios
 Scenario
• “A narrative description of what people do and experience as they
try to make use of computer systems and applications” [Carrol,
Scenario-based Design, 1995]
• Informal description of a single feature from the viewpoint of a
single actor
 Types of Scenarios
• As-is scenarios – describes current situation
• Visionary scenarios – describes future system
• Evaluation scenarios – describes user tasks for evaluating the
system (acceptance criteria)
• Training scenarios – introduces new users to the system
10/02/13 RE 38
Heuristics for Identifying Scenarios
 Ask yourself or the client the following questions:
• What are the primary tasks that the system needs to perform?
• What data will the actor create, store, change, remove or add in
the system? Who else can modify this data?
• What external changes does the system need to know about?
• What changes or events will the actor of the system need to be
informed about?
 However, don’t rely on questionnaires alone.
 Insist on task observation (ethnography) if the system
already exists
• Ask to speak to the end user, not just to the software contractor
• Expect resistance and try to overcome it
10/02/13 RE 39
Identifying Use Cases
 Use Case
• Specifies all possible scenarios for a given functionality
• Initiated by an actor
 Motivations for use cases
• Generalizing related scenarios help developers define the
scope of the system
• The role of each user of the system is clarified
 Use Case Descriptions
• Entry and exit conditions
• Flow of events
• Quality requirements
10/02/13 RE 40
Heuristics: How do I find use
cases?
 Select a narrow vertical slice of the system (i.e. one
scenario)
• Discuss it in detail with the user to understand the user’s
preferred style of interaction
 Select a horizontal slice (i.e. many scenarios) to define
the scope of the system.
• Discuss the scope with the user
 Use illustrative prototypes (mock-ups) as visual
support
 Find out what the user does
• Task observation (Good)
• Questionnaires (Bad)
10/02/13 RE 41
Order of steps when formulating
use cases
 First step: name the use case
• Use case name: ReportEmergency
 Second step: Find the actors
• Generalize the concrete names (“Bob”) to participating actors
(“Field officer”)
• Participating Actors:
• Field Officer (Bob and Alice in the Scenario)
• Dispatcher (John in the Scenario)
 Third step: Then concentrate on the flow of events
• Use informal natural language
10/02/13 RE 42
Identifying Use Cases
 Writing Guide
• Choose proper name – use verb phrases; indicate user’s
objective
• Name actors with noun phrases
• Clearly distinguish actors’ actions from system’s actions
• Use active voice to phrase steps in flow of events
• The causal relationship between steps should be clear
• Describe complete user transaction
• Describe exceptions separately
• Do not describe the user interface
• Use cases should not exceed 2-3 pages – break up using
<<include>> and <<extends>> relationships
10/02/13 RE 43
Relationships Between Actors
and Use Cases
 Relationships between actors and use cases
• <<initiate>>
• <<participate>>
• Determines access rights
• Who can initiate a functionality
• Who else is involved in this functionality
 Relationships between use cases
• Heuristics for making use cases shorter and simpler to understand
• <<include>>
• For factoring out common functionality
• Explicitly invoked from the including use case
• <<extend>>
• For specifying exceptions
• Entry conditions of the extending use case determine when it is used
• Caveat: use discretion when applying these decompositions (a few
longer use cases are sometimes easier to understand than many
short ones)
10/02/13 RE 44
<<Include>>: Functional Decomposition
 Problem:
• A function in the original problem statement is too complex to be
solvable immediately
 Solution:
• Describe the function as the aggregation of a set of simpler
functions. The associated use case is decomposed into smaller
use cases
ManageIncident
CreateIncident HandleIncident CloseIncident
<<include>>
10/02/13 RE 45
<<Include>>: Reuse of Existing Functionality
 Problem:
• There are already existing functions. How can we reuse them?
 Solution:
• The include association from a use case A to a use case B
indicates that an instance of the use case A performs all the
behavior described in the use case B (“A delegates to B”)
 Example:
• The use case “ViewMap” describes behavior that can be used
by the use case “OpenIncident” (“ViewMap” is factored out)
ViewMap
OpenIncident
AllocateResources
<<include>>
<<include>>
Base Use
Case
Supplier
Use Case
Note: The base case cannot exist alone. It is always called with the
supplier use case
10/02/13 RE 46
<Extend>> Association for Use Cases
 Problem:
• The functionality in the original problem statement needs to be
extended.
 Solution:
• An extend association from a use case A to a use case B indicates
that use case B is an extension of use case A.
 Example:
• The use case “ReportEmergency” is complete by itself , but can be
extended by the use case “ConnectionDown” for a specific scenario
in which the user cannot communicate with the dispatcher
ReportEmergency
FieldOfficerf
ConnectionDown
<<extend>>
Note: The base use case can be executed without the use case extension
in extend associations.
10/02/13 RE 48
Identifying Initial Analysis
Objects Top Level Use Case
A and B
are called
Participating
Objects
Level 1
A B
Level 3 Use Cases
Level 3 Level 3 Level 3
Operations
Level 4 Level 4
Level 2 Use Cases
Level 2 Level 2
10/02/13 RE 49
Use Cases can be used by more than
one object
Top Level Use Case
Level 2 Use Cases
Level 3 Use Cases
Operations
Participating
Objects
Level 2
Level 1
Level 2
Level 3 Level 3
Level 4 Level 4
Level 3
A B
10/02/13 RE 50
Identifying Initial Analysis
Objects
 Identify the participating objects to create the initial analysis object
model
 Maintaining glossary of objects minimizes potential confusion in
terminology between users and developers
 Heuristics
• Terms the needed clarification (by developer or user)
• Recurring nouns in use cases
• Real-world entities and resources that system must track
• Use cases
• Data sources or sinks
• Artifacts with which user interacts
• Use application domain terms
 Cross-check
• Eliminate ambiguity: verify that objects with the same name refer to the
same concept
• Maintain consistency: verify that objects do not refer to the same concept
using different names
• Eliminate objects not involved in any use cases
10/02/13 RE 51
Identifying Nonfunctional
Requirements
 Quality Requirements
• Usability
• Reliability/Dependability
• Safety
• Security
• Survivability
• Performance
• Response Time
• Throughput
• Availability
• Accuracy
• Supportability
• Adaptability
• Maintainability
• Portability
 Pseudo Requirements
• Implementation
• Interface
• Operations
• Packaging
• Legal
10/02/13 RE 52
Identifying Nonfunctional
Requirements
 Heuristics
• Use a taxonomy (e.g., FURPS+) to generate
checklists
• Give different checklists to users in
appropriate roles
• Checklists vary depending on application
domain
10/02/13 RE 53
Constraints (Pseudo Requirements)
 Constraint:
• Any client restriction on the solution domain
 Examples:
• The target platform must be an IBM/360
• The implementation language must be COBOL
• The documentation standard X must be used
• A dataglove must be used
• ActiveX must be used
• The system must interface to a papertape reader
10/02/13 RE 54
Elicitation
 The requirements elicitation process involves a set
of activities that must allow for communication,
prioritization, negotiation, and collaboration with all
the relevant stakeholders.
 Requirements elicitation involves activities that are
intensely communicative.
 These activities increase in significance when one
considers the “culture gap” or basic semantic
differences dividing the problem owning and the
problem solving communities when attempting to
engage in meaningful dialogue.

More Related Content

What's hot

Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideMohammed Fazuluddin
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineeringRa'Fat Al-Msie'deen
 
requirement gathering
requirement gatheringrequirement gathering
requirement gatheringSaeedMat
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationNishu Rastogi
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and designPreeti Mishra
 
Introduction to Requirement engineering
Introduction to Requirement engineeringIntroduction to Requirement engineering
Introduction to Requirement engineeringNameirakpam Sundari
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Requirements engineering activities
Requirements engineering activitiesRequirements engineering activities
Requirements engineering activitiesSyed Zaid Irshad
 
RE processes and process models
RE processes and process modelsRE processes and process models
RE processes and process modelsSyed Zaid Irshad
 
Requirements engineering for agile methods
Requirements engineering for agile methodsRequirements engineering for agile methods
Requirements engineering for agile methodsSyed Zaid Irshad
 

What's hot (20)

Requirements management
Requirements managementRequirements management
Requirements management
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
 
requirement gathering
requirement gatheringrequirement gathering
requirement gathering
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
 
Software design
Software designSoftware design
Software design
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Introduction to Requirement engineering
Introduction to Requirement engineeringIntroduction to Requirement engineering
Introduction to Requirement engineering
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Requirements Validation
Requirements ValidationRequirements Validation
Requirements Validation
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Requirements engineering activities
Requirements engineering activitiesRequirements engineering activities
Requirements engineering activities
 
RE processes and process models
RE processes and process modelsRE processes and process models
RE processes and process models
 
Requirements engineering for agile methods
Requirements engineering for agile methodsRequirements engineering for agile methods
Requirements engineering for agile methods
 

Viewers also liked (17)

multi threading
multi threadingmulti threading
multi threading
 
C#4.0 features
C#4.0 featuresC#4.0 features
C#4.0 features
 
exception handling
 exception handling exception handling
exception handling
 
business analyst interview questions and answers
business analyst interview questions and answersbusiness analyst interview questions and answers
business analyst interview questions and answers
 
collections
 collections collections
collections
 
Usecase diagram railway reservation system
Usecase diagram railway reservation systemUsecase diagram railway reservation system
Usecase diagram railway reservation system
 
Generics collections
Generics collectionsGenerics collections
Generics collections
 
use case diagramHospital managment system
use case diagramHospital managment systemuse case diagramHospital managment system
use case diagramHospital managment system
 
Bill Gates
Bill GatesBill Gates
Bill Gates
 
Use of ict tools for teaching –learning
Use of ict tools for teaching –learningUse of ict tools for teaching –learning
Use of ict tools for teaching –learning
 
Business analyst interview questions and answers
Business analyst interview questions and answersBusiness analyst interview questions and answers
Business analyst interview questions and answers
 
Use Case Modeling
Use Case ModelingUse Case Modeling
Use Case Modeling
 
Business Analysis Fundamentals
Business Analysis FundamentalsBusiness Analysis Fundamentals
Business Analysis Fundamentals
 
Business Analyst Training
Business  Analyst  TrainingBusiness  Analyst  Training
Business Analyst Training
 
Business analyst ppt
Business analyst pptBusiness analyst ppt
Business analyst ppt
 
Business analysis interview question and answers
Business analysis interview question and answersBusiness analysis interview question and answers
Business analysis interview question and answers
 
85 business analyst interview questions and answers
85 business analyst interview questions and answers85 business analyst interview questions and answers
85 business analyst interview questions and answers
 

Similar to Requirements elicitation

2 Requirements Elicitation A Survey of Techniques, Ap.docx
2  Requirements Elicitation  A Survey of Techniques, Ap.docx2  Requirements Elicitation  A Survey of Techniques, Ap.docx
2 Requirements Elicitation A Survey of Techniques, Ap.docxherminaprocter
 
Lecture 8 & 9.pdf
Lecture 8 & 9.pdfLecture 8 & 9.pdf
Lecture 8 & 9.pdfRaoShahid10
 
The Requirements - An Initial Overview
The Requirements - An Initial OverviewThe Requirements - An Initial Overview
The Requirements - An Initial OverviewKumail Raza
 
Incorporation of GlobalIssue factors in SDLC by using Inverse Requirement
Incorporation of GlobalIssue factors in SDLC by using Inverse RequirementIncorporation of GlobalIssue factors in SDLC by using Inverse Requirement
Incorporation of GlobalIssue factors in SDLC by using Inverse Requirementiosrjce
 
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...Mark John Lado, MIT
 
Reducing Time Spent On Requirements
Reducing Time Spent On RequirementsReducing Time Spent On Requirements
Reducing Time Spent On RequirementsByron Workman
 
Breaking Through the Roadblocks of a New ELM Implementation eBook
Breaking Through the Roadblocks of a New ELM Implementation eBookBreaking Through the Roadblocks of a New ELM Implementation eBook
Breaking Through the Roadblocks of a New ELM Implementation eBookJason Emanis
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdfMuhammad Imran
 
St josephs project management
St josephs project managementSt josephs project management
St josephs project managementDavid Terry
 
IT Project Management
IT Project ManagementIT Project Management
IT Project ManagementDavid Terry
 
Project management
Project managementProject management
Project managementDavid Terry
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaSharbani Bhattacharya
 
Modern Elicitation Process
Modern Elicitation ProcessModern Elicitation Process
Modern Elicitation ProcessRajon
 

Similar to Requirements elicitation (20)

2 Requirements Elicitation A Survey of Techniques, Ap.docx
2  Requirements Elicitation  A Survey of Techniques, Ap.docx2  Requirements Elicitation  A Survey of Techniques, Ap.docx
2 Requirements Elicitation A Survey of Techniques, Ap.docx
 
Lecture 8 & 9.pdf
Lecture 8 & 9.pdfLecture 8 & 9.pdf
Lecture 8 & 9.pdf
 
Requirement elicitation
Requirement elicitationRequirement elicitation
Requirement elicitation
 
The Requirements - An Initial Overview
The Requirements - An Initial OverviewThe Requirements - An Initial Overview
The Requirements - An Initial Overview
 
J017648994
J017648994J017648994
J017648994
 
Incorporation of GlobalIssue factors in SDLC by using Inverse Requirement
Incorporation of GlobalIssue factors in SDLC by using Inverse RequirementIncorporation of GlobalIssue factors in SDLC by using Inverse Requirement
Incorporation of GlobalIssue factors in SDLC by using Inverse Requirement
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
 
Unit 2
Unit 2Unit 2
Unit 2
 
Reducing Time Spent On Requirements
Reducing Time Spent On RequirementsReducing Time Spent On Requirements
Reducing Time Spent On Requirements
 
Breaking Through the Roadblocks of a New ELM Implementation eBook
Breaking Through the Roadblocks of a New ELM Implementation eBookBreaking Through the Roadblocks of a New ELM Implementation eBook
Breaking Through the Roadblocks of a New ELM Implementation eBook
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdf
 
Requirement analysis with use case
Requirement analysis with use caseRequirement analysis with use case
Requirement analysis with use case
 
Know the user
Know the userKnow the user
Know the user
 
St josephs project management
St josephs project managementSt josephs project management
St josephs project management
 
IT Project Management
IT Project ManagementIT Project Management
IT Project Management
 
Project management
Project managementProject management
Project management
 
Spm intro
Spm introSpm intro
Spm intro
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Modern Elicitation Process
Modern Elicitation ProcessModern Elicitation Process
Modern Elicitation Process
 

More from Abdul Basit

Atlassian git cheatsheet
Atlassian git cheatsheetAtlassian git cheatsheet
Atlassian git cheatsheetAbdul Basit
 
Github git-cheat-sheet
Github git-cheat-sheetGithub git-cheat-sheet
Github git-cheat-sheetAbdul Basit
 
White box testing
White box testingWhite box testing
White box testingAbdul Basit
 
Testing the documentation
Testing the documentationTesting the documentation
Testing the documentationAbdul Basit
 
Testing software security
Testing software securityTesting software security
Testing software securityAbdul Basit
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentalsAbdul Basit
 
Test cases planning
Test cases planningTest cases planning
Test cases planningAbdul Basit
 
Software Testing
Software TestingSoftware Testing
Software TestingAbdul Basit
 
Software Compatibility testing
Software Compatibility testingSoftware Compatibility testing
Software Compatibility testingAbdul Basit
 
Black box testing
Black box testingBlack box testing
Black box testingAbdul Basit
 
Software Automated testing and tools
Software Automated testing and toolsSoftware Automated testing and tools
Software Automated testing and toolsAbdul Basit
 
Why test software
Why test softwareWhy test software
Why test softwareAbdul Basit
 
Git Developer Cheatsheet
Git Developer CheatsheetGit Developer Cheatsheet
Git Developer CheatsheetAbdul Basit
 
Static white box testing lecture 12
Static white box testing lecture 12Static white box testing lecture 12
Static white box testing lecture 12Abdul Basit
 
Software testing lecture 10
Software testing lecture 10Software testing lecture 10
Software testing lecture 10Abdul Basit
 
Software testing lecture 9
Software testing lecture 9Software testing lecture 9
Software testing lecture 9Abdul Basit
 
Software quality assurance lecture 1
Software quality assurance lecture 1Software quality assurance lecture 1
Software quality assurance lecture 1Abdul Basit
 
Software measurement lecture 7
Software measurement lecture 7Software measurement lecture 7
Software measurement lecture 7Abdul Basit
 

More from Abdul Basit (20)

Atlassian git cheatsheet
Atlassian git cheatsheetAtlassian git cheatsheet
Atlassian git cheatsheet
 
Github git-cheat-sheet
Github git-cheat-sheetGithub git-cheat-sheet
Github git-cheat-sheet
 
White box testing
White box testingWhite box testing
White box testing
 
Web testing
Web testingWeb testing
Web testing
 
Testing the documentation
Testing the documentationTesting the documentation
Testing the documentation
 
Testing software security
Testing software securityTesting software security
Testing software security
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Test planning
Test planningTest planning
Test planning
 
Test cases planning
Test cases planningTest cases planning
Test cases planning
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software Compatibility testing
Software Compatibility testingSoftware Compatibility testing
Software Compatibility testing
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Software Automated testing and tools
Software Automated testing and toolsSoftware Automated testing and tools
Software Automated testing and tools
 
Why test software
Why test softwareWhy test software
Why test software
 
Git Developer Cheatsheet
Git Developer CheatsheetGit Developer Cheatsheet
Git Developer Cheatsheet
 
Static white box testing lecture 12
Static white box testing lecture 12Static white box testing lecture 12
Static white box testing lecture 12
 
Software testing lecture 10
Software testing lecture 10Software testing lecture 10
Software testing lecture 10
 
Software testing lecture 9
Software testing lecture 9Software testing lecture 9
Software testing lecture 9
 
Software quality assurance lecture 1
Software quality assurance lecture 1Software quality assurance lecture 1
Software quality assurance lecture 1
 
Software measurement lecture 7
Software measurement lecture 7Software measurement lecture 7
Software measurement lecture 7
 

Recently uploaded

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Requirements elicitation

  • 2. 10/02/13 RE 2 Week 4 Requirements Elicitation: A Survey of Techniques, Approaches, and Tools
  • 3. 10/02/13 RE 3  The elicitation of requirements represents an early but continuous and critical stage in the development of software systems.  The requirements for a software system may be spread across many sources. • the problem owners, • the stakeholders, • documentation, and other existing systems.  Because of the communication rich nature of requirements elicitation activities, many of the effective techniques do not originate from the traditional areas of software engineering or computer science research. • Some of the techniques are derived mostly from the social sciences, organizational theory, group dynamics, knowledge engineering, and very often from practical experience.
  • 4. 10/02/13 RE 4 The process of requirements elicitation is generally accepted as one of the critical activities in the RE process. • but it’s a difficult part of software development projects. A recent field study of fifteen RE teams carried out by Hofmann and Lehner identified key RE practices that should lead to project success. • Effective elicitation of requirements was arguably among the most important of the resulting recommended good RE practices.
  • 5. 10/02/13 RE 5 Nature of Req. Elicitation activities  Requirements elicitation itself is a very complex process involving many activities, with multiple techniques available to perform these activities.  The multidisciplinary nature of requirements elicitation only adds to this complexity.  In reality requirements elicitation is a multifaceted and iterative activity that relies heavily on the communication skills of requirements engineers and the commitment and cooperation of the system stakeholders.  One of the main problems facing software development project teams is communication barriers and agreement about the requirements.
  • 6. 10/02/13 RE 6 Issues  The main concepts which are clearly defined to one community of participants can be entirely opaque to members of another.  The fact that this situation exists often goes unnoticed in the course of elicitation unless specific attention is paid to the problem.  For example, it can be said that the method employed for a custom built embedded control system is likely to be substantially different to that of a commercially available inventory management system.  Furthermore, project teams may be spread across different geographical locations and from diverse cultural backgrounds.  The specific elicitation techniques used for a particular situation often depend on a variety of additional factors including time and cost, the availability of resources, the safety criticality of the system, and any legal or regulatory constraints.
  • 7. 10/02/13 RE 7 What is Requirements Elicitation?  Very little uniformity in RE research and practice concerning a standard definition for requirements elicitation.  Requirements elicitation is concerned with learning and understanding the needs of users and project sponsors with the ultimate aim of communicating these needs to the system developers.  Robertson and Robertson refer to this process as “trawling for requirements” to highlight the fact that through this process you are likely to get more requirements than expected.  This implies that gathering a few extraneous requirements initially is always better than gathering less.
  • 8. 10/02/13 RE 8 Requirements elicitation- term The term suggest that the process is a simple knowledge transfer process where req engineers elicit and document existing customer knowledge In reality, the process is much more complex It is not a process of ‘fishing’ for requirements The author prefer the term requirements discovery to reflect the uncertainties
  • 9. 10/02/13 RE 9 Davis (1993)  Avoids the term elicitation and equates this discovery process to a process of problem analysis and understanding.  Problem analysis is defined as the activity that encompasses learning about the problem to be solved (often through brainstorming and/or questioning), understanding the needs of potential users, trying to find out who the user really is and understanding all the constraints on the solution  But this implies that the activity is only concerned with understanding the details of a specific problem which requires some kind of systems solution
  • 10. 10/02/13 RE 10 Dimensions of requirements elicitation by Kotonya and Sommerville (1998)
  • 11. 10/02/13 RE 11 Elicitation activities  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.  Business understanding • You must understand how systems interact and contribute to overall business goals.  Understanding the needs and constraints of system stakeholders • You must understand, in detail, the specific needs of people who require system support in their work.
  • 12. 10/02/13 RE 12 Requirements Elicitation Techniques  Interviewing and questionnaires  Requirements workshops  Brain Storming and idea reduction  Storyboards  Use Cases  Role Playing  Prototyping
  • 13. 10/02/13 RE 13 Technique: Interviewing  Simple direct technique  Context-free questions can help achieve bias-free interviews  Then, it may be appropriate to search for undiscovered requirements by exploring solutions.  Convergence on some common needs will initiate a “requirements repository” for use during the project.  A questionnaire is no substitute for an interview.
  • 14. 10/02/13 RE 14 Technique: Requirements Workshop  The requirements workshop is perhaps the most powerful technique for eliciting requirements.  It gathers all keykey 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.  Brainstorming is the most important part of the workshop.
  • 15. 10/02/13 RE 15 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
  • 16. 10/02/13 RE 16 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
  • 17. 10/02/13 RE 17 Storyboarding  The purpose of storyboarding is to gain an early reaction from the users on the concepts proposed for the application. • Storyboards offer an effective technique for addressing the "Yes, But" syndrome.  Storyboarding • Is extremely inexpensive • Is user friendly, informal, and interactive • Provides an early review of the user interfaces of the system • Is easy to create and easy to modify
  • 18. 10/02/13 RE 18 Technique: Storyboarding  Storyboards identify the players, explain what happens to them, and describes how it happens.  Make the storyboard sketchy, easy to modify, and unshipable.  Storyboard early and often on every project with new or innovative content.
  • 20. 10/02/13 RE 20 Technique: 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, perhaps only by a phrase apiece, expand 10% of them in detail.
  • 21. 10/02/13 RE 21 Technique: Role Playing – variant on use cases  Role playing allows stakeholders to experience the user’s world from the user’s perspective.  A scripted walkthrough may replace role playing in some situations, with the script becoming a live storyboard. (Class-Responsibility-Collaboration (CRC) cards, often used in object-oriented analysis, are a derivative of role playing.)
  • 22. 10/02/13 RE 22 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.
  • 23. 10/02/13 RE 23 Effective Requirements Elicitation Is very important because if the customer’s real requirements are not discovered, they are unlikely to be satisfied with the final system Requirements engineers faced some problems in req elicitation inherent to the multi-dimensional nature of req elicitation
  • 24. 10/02/13 RE 24 Problems of requirements elicitation can be grouped into three categories (Christel & Kang, 1992): problems of scope, in which the requirements may address too little or too much information; problems of understanding, within groups as well as between groups such as users and developers; and problems of volatility, i.e., the changing nature of requirement
  • 25. 10/02/13 RE 25 PROBLEMS OF SCOPE • the boundary of the system is ill-defined • unnecessary design information may be given
  • 26. 10/02/13 RE 26 PROBLEMS OF UNDERSTANDING • users have incomplete understanding of their needs • users have poor understanding of computer capabilities and limitations • analysts have poor knowledge of problem domain • user and analyst speak different languages • conflicting views of different users • requirements are often vague and untestable, e.g., “user friendly” and “robust”
  • 27. 10/02/13 RE 27 PROBLEMS OF VOLATILITY • requirements evolve over time
  • 28. 10/02/13 RE 28 MAIN ACTIVITIES IN RE  Typical activities of the requirements elicitation process can be divided into five fundamental types as described below:  (1) Understanding the Application Domain – • It is important when beginning the process of requirements elicitation to investigate and examine in detail the situation or “real world” in which the system will ultimately reside (sometimes called the application domain) • The current environment needs to be thoroughly explored including the political, organizational, and social aspects related to the system, in addition to any constraints they may enforce upon the system and its development. • Existing work processes and the related problems to be solved by the system need to be described with respect to the key business goals and issues.
  • 29. 10/02/13 RE 29  (2) Identifying the Sources of Requirements – • Requirements may be spread across many sources and exist in a variety of formats. • Stakeholders represent the most obvious source of requirements for the system. • Users and subject matter experts are used to supply detailed information about the problems and user needs. • Existing systems and processes represent another source for eliciting requirements, particularly when the project involves replacing a current or legacy system. • Existing documentation about the current systems and business processes including manuals, forms, and reports can provide useful information about the organization and environment, as well as requirements for the new system and their supporting rationale and importance.
  • 30. 10/02/13 RE 30  Analyzing the Stakeholders – • Stakeholders are people who have an interest in the system or are affected in some way by the development and implementation of the system and hence must be consulted during requirements elicitation. • Typically stakeholders include groups and individuals internal and external to the organization. • The customer, and more specifically the project sponsor, is usually the most apparent stakeholder of the system. • In some cases however the actual users of the system may be the most important. For Example….? • Other parties whose sphere of interest may extend to some part of the system operations, such as those responsible for work process standards, customers, and partners, should also be regarded as stakeholders if affected. • One of the first steps in requirements elicitation therefore is to analyze and involve all the relevant stakeholders. • The process of analyzing the stakeholders also often includes the identification of key user representatives and product champions.
  • 31. 10/02/13 RE 31 Selecting the Techniques, Approaches, and Tools to Use – • Although some may advocate that just one elicitation technique or a single methodology is sufficient and may be applied to all cases, it is generally accepted that an individual requirements elicitation technique or approach cannot possibly be suitable for all projects. • The choice of techniques to be employed is dependent on the specific context of the project and is often a critical factor in the success of the elicitation process .
  • 32. 10/02/13 RE 32 • Hickey and Davis have investigated the elicitation technique selection and stated that a particular elicitation technique may be selected for a variety of reasons. • (a) the technique selected is the only one the analyst knows, • (b) the technique selected is the analyst’s favorite, • (c) the selected technique is the one prescribed by a specific methodology that is being followed for the system development, and • (d) the choice of technique is governed solely by the intuition of the analyst to be effective in the current context. • Clearly requirements elicitation is best performed using a variety of techniques. In the majority of projects several methods are employed during and at different stages in the software development life cycle, often in cooperation where complementary.
  • 33. 10/02/13 RE 33  Eliciting the Requirements from Stakeholders and Other Sources –  Once the sources of requirements and the specific stakeholders have been identified, the actual elicitation of the core requirements then begins using the selected elicitation techniques, approaches, and tools.  During this activity it is important to establish the level of scope for the system and investigate in detail the needs and wants of the stakeholders, especially the users.  It is also essential to determine the future processes the system will perform with respect to the business operations, and examine the ways in which the system may support them in order to satisfy the major objectives and address the key problems of the business.
  • 34. 10/02/13 RE 34  It is important to remember that requirements elicitation does not occur in a vacuum.  It is strongly related to the context in which it is conducted and specific characteristics of the project, organization, and environment .  In practice the budget and schedule of the project have a significant effect on the process and the way in which it is performed.  The structure and maturity of the organization will determine how requirements are elicited, as will the way in which the system will interact with users and other systems.  The level of volatility within a project must also be considered, as this will directly affect the quality of requirements and the elicitation process itself
  • 35. 10/02/13 RE 35 Requirements Elicitation Activities  Identifying Actors  Identifying Scenarios  Identifying Use Cases  Refining Use Cases  Identifying Relationships between Actors and Use Cases  Identifying Initial Analysis Objects  Identifying Nonfunctional Requirements
  • 36. 10/02/13 RE 36 Identifying Actors  Actors – person or machine using the system in a particular role  Actors usually correspond to existing roles within the client organization  Related roles can be grouped together according to viewpoints  Guide Questions • Which user groups are supported by the system to perform their work? • Which user groups execute the system’s main functions? • Which user groups perform secondary functions, such as maintenance and administration? • With what external hardware or software system will the system interact?
  • 37. 10/02/13 RE 37 Identifying Scenarios  Scenario • “A narrative description of what people do and experience as they try to make use of computer systems and applications” [Carrol, Scenario-based Design, 1995] • Informal description of a single feature from the viewpoint of a single actor  Types of Scenarios • As-is scenarios – describes current situation • Visionary scenarios – describes future system • Evaluation scenarios – describes user tasks for evaluating the system (acceptance criteria) • Training scenarios – introduces new users to the system
  • 38. 10/02/13 RE 38 Heuristics for Identifying Scenarios  Ask yourself or the client the following questions: • What are the primary tasks that the system needs to perform? • What data will the actor create, store, change, remove or add in the system? Who else can modify this data? • What external changes does the system need to know about? • What changes or events will the actor of the system need to be informed about?  However, don’t rely on questionnaires alone.  Insist on task observation (ethnography) if the system already exists • Ask to speak to the end user, not just to the software contractor • Expect resistance and try to overcome it
  • 39. 10/02/13 RE 39 Identifying Use Cases  Use Case • Specifies all possible scenarios for a given functionality • Initiated by an actor  Motivations for use cases • Generalizing related scenarios help developers define the scope of the system • The role of each user of the system is clarified  Use Case Descriptions • Entry and exit conditions • Flow of events • Quality requirements
  • 40. 10/02/13 RE 40 Heuristics: How do I find use cases?  Select a narrow vertical slice of the system (i.e. one scenario) • Discuss it in detail with the user to understand the user’s preferred style of interaction  Select a horizontal slice (i.e. many scenarios) to define the scope of the system. • Discuss the scope with the user  Use illustrative prototypes (mock-ups) as visual support  Find out what the user does • Task observation (Good) • Questionnaires (Bad)
  • 41. 10/02/13 RE 41 Order of steps when formulating use cases  First step: name the use case • Use case name: ReportEmergency  Second step: Find the actors • Generalize the concrete names (“Bob”) to participating actors (“Field officer”) • Participating Actors: • Field Officer (Bob and Alice in the Scenario) • Dispatcher (John in the Scenario)  Third step: Then concentrate on the flow of events • Use informal natural language
  • 42. 10/02/13 RE 42 Identifying Use Cases  Writing Guide • Choose proper name – use verb phrases; indicate user’s objective • Name actors with noun phrases • Clearly distinguish actors’ actions from system’s actions • Use active voice to phrase steps in flow of events • The causal relationship between steps should be clear • Describe complete user transaction • Describe exceptions separately • Do not describe the user interface • Use cases should not exceed 2-3 pages – break up using <<include>> and <<extends>> relationships
  • 43. 10/02/13 RE 43 Relationships Between Actors and Use Cases  Relationships between actors and use cases • <<initiate>> • <<participate>> • Determines access rights • Who can initiate a functionality • Who else is involved in this functionality  Relationships between use cases • Heuristics for making use cases shorter and simpler to understand • <<include>> • For factoring out common functionality • Explicitly invoked from the including use case • <<extend>> • For specifying exceptions • Entry conditions of the extending use case determine when it is used • Caveat: use discretion when applying these decompositions (a few longer use cases are sometimes easier to understand than many short ones)
  • 44. 10/02/13 RE 44 <<Include>>: Functional Decomposition  Problem: • A function in the original problem statement is too complex to be solvable immediately  Solution: • Describe the function as the aggregation of a set of simpler functions. The associated use case is decomposed into smaller use cases ManageIncident CreateIncident HandleIncident CloseIncident <<include>>
  • 45. 10/02/13 RE 45 <<Include>>: Reuse of Existing Functionality  Problem: • There are already existing functions. How can we reuse them?  Solution: • The include association from a use case A to a use case B indicates that an instance of the use case A performs all the behavior described in the use case B (“A delegates to B”)  Example: • The use case “ViewMap” describes behavior that can be used by the use case “OpenIncident” (“ViewMap” is factored out) ViewMap OpenIncident AllocateResources <<include>> <<include>> Base Use Case Supplier Use Case Note: The base case cannot exist alone. It is always called with the supplier use case
  • 46. 10/02/13 RE 46 <Extend>> Association for Use Cases  Problem: • The functionality in the original problem statement needs to be extended.  Solution: • An extend association from a use case A to a use case B indicates that use case B is an extension of use case A.  Example: • The use case “ReportEmergency” is complete by itself , but can be extended by the use case “ConnectionDown” for a specific scenario in which the user cannot communicate with the dispatcher ReportEmergency FieldOfficerf ConnectionDown <<extend>> Note: The base use case can be executed without the use case extension in extend associations.
  • 47. 10/02/13 RE 48 Identifying Initial Analysis Objects Top Level Use Case A and B are called Participating Objects Level 1 A B Level 3 Use Cases Level 3 Level 3 Level 3 Operations Level 4 Level 4 Level 2 Use Cases Level 2 Level 2
  • 48. 10/02/13 RE 49 Use Cases can be used by more than one object Top Level Use Case Level 2 Use Cases Level 3 Use Cases Operations Participating Objects Level 2 Level 1 Level 2 Level 3 Level 3 Level 4 Level 4 Level 3 A B
  • 49. 10/02/13 RE 50 Identifying Initial Analysis Objects  Identify the participating objects to create the initial analysis object model  Maintaining glossary of objects minimizes potential confusion in terminology between users and developers  Heuristics • Terms the needed clarification (by developer or user) • Recurring nouns in use cases • Real-world entities and resources that system must track • Use cases • Data sources or sinks • Artifacts with which user interacts • Use application domain terms  Cross-check • Eliminate ambiguity: verify that objects with the same name refer to the same concept • Maintain consistency: verify that objects do not refer to the same concept using different names • Eliminate objects not involved in any use cases
  • 50. 10/02/13 RE 51 Identifying Nonfunctional Requirements  Quality Requirements • Usability • Reliability/Dependability • Safety • Security • Survivability • Performance • Response Time • Throughput • Availability • Accuracy • Supportability • Adaptability • Maintainability • Portability  Pseudo Requirements • Implementation • Interface • Operations • Packaging • Legal
  • 51. 10/02/13 RE 52 Identifying Nonfunctional Requirements  Heuristics • Use a taxonomy (e.g., FURPS+) to generate checklists • Give different checklists to users in appropriate roles • Checklists vary depending on application domain
  • 52. 10/02/13 RE 53 Constraints (Pseudo Requirements)  Constraint: • Any client restriction on the solution domain  Examples: • The target platform must be an IBM/360 • The implementation language must be COBOL • The documentation standard X must be used • A dataglove must be used • ActiveX must be used • The system must interface to a papertape reader
  • 53. 10/02/13 RE 54 Elicitation  The requirements elicitation process involves a set of activities that must allow for communication, prioritization, negotiation, and collaboration with all the relevant stakeholders.  Requirements elicitation involves activities that are intensely communicative.  These activities increase in significance when one considers the “culture gap” or basic semantic differences dividing the problem owning and the problem solving communities when attempting to engage in meaningful dialogue.

Editor's Notes

  1. Context free question Goal is to prevent narrow-mindedness the 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? Context-free questions also parallel the questions salespeople are taught to ask as part of a technique called “solutions selling.” After context-free questions are asked, suggested solutions can be explored.
  2. Role of the Facilitator Workshop Agenda Running the Workshop Workshop Problems and Suggestions -Selling the workshop concept to stakeholders    -Ensuring the Participation of the Right Stakeholders    -Logistics    -Try and prevent Murphy’s law    -Includes travel, lighting, and even “afternoon sugar filled snacks.”    -Warm-up materials    -Project-specific information    -Out-of-box thinking preparation
  3. Banning criticism and banning debate is not just an attempt to “be nice”. It is necessary to not squelch creative thinking.
  4. Weakness of Use Cases -- we miss the “ilities”, the quality attributes. Those must be addressed explicitly eventually.