Top Banner
Requirements Elicitation & Specification Lecture 4, DAT230, Requirements Engineering Robert Feldt, 2011-09-08 torsdag den 8 september 2011
55

Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Apr 22, 2018

Download

Documents

hoangnga
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Requirements Elicitation & Specification

Lecture 4, DAT230, Requirements EngineeringRobert Feldt, 2011-09-08

torsdag den 8 september 2011

Page 2: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

• SWEBOK gives overview of SE field

• Good for newcomers and if you want to refresh

• At master level: Good idea to directly to original sources; less need for “textbook” interpretations

• Basic RE terminology in SWEBOK KA number 1

• Bespoke vs Market-Driven Software Development

• Stakeholder Identification

• Stakeholder analysis: influence & affected, expectations & interests

Recap

torsdag den 8 september 2011

Page 3: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

What is Req Elicitation?

torsdag den 8 september 2011

Page 4: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

“The art of determining the needs of stakeholders”

What is Req Elicitation?

torsdag den 8 september 2011

Page 5: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

“The art of determining the needs of stakeholders”

“The process of discovering the requirements for a system by communication with

stakeholders and through the observation of them in their domain”

What is Req Elicitation?

torsdag den 8 september 2011

Page 6: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Other sources of info?

• Stakeholders are key but also DOMAIN knowledge

• Problem/application domain

• What is the problem? Who can explain it?

• Process descriptions? Mission statements?

• History

• Previous & current systems/solutions

• Documentation, Old reqs & designs

torsdag den 8 september 2011

Page 7: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Other sources of info?

• Competitors

• Is/are there a (partial) solution(s) out there?

• Environment

• Other systems?

• Processes to be supported? Processes that influence?

• Organizational descriptions?

torsdag den 8 september 2011

Page 8: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Information to elicit

• Domain description (operating environment)

• Business goals ... Technical goals

• System boundary (“fit into operational environment?”)

• Constraints

• Vocabulary

• Reqs

• Title, description

• Rationale, Source, Importance, Benefit, etc...

torsdag den 8 september 2011

Page 9: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Differing abstraction levels

torsdag den 8 september 2011

Page 10: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Differing abstraction levels

torsdag den 8 september 2011

Page 11: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Requirements Abstract Model (RAM)

torsdag den 8 september 2011

Page 12: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Different elicited reqs

• Discovered: Stakeholder knows req - REng notes it

• Created: REng creates based on own knowledge or only little stakeholder info

• Extracted: REng uses method to find it

• Captured: When verbalized or acknowledged by stakeholder

torsdag den 8 september 2011

Page 13: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

General rules for elicitation

• Genuinely care about your stakeholders’ problems

• Focus on stakeholder not on you “looking good”

• Be human - admit weaknesses, become vulnerable, show humor

• Listen - eye contact, don’t glaze over

• Expect changes

• Maintain a glossary - many req problems from simple misunderstandings/miscommunication

torsdag den 8 september 2011

Page 14: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Triangulation

Use multiple things so that they partly say (and thus supports)

the same conclusions(or finds the same problems/conflicts)

“things” = methods, info, people, processes, documents, ...

torsdag den 8 september 2011

Page 15: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Triangulation

Elicitation Methods

People / Stakeholders Artifacts / Docs

InterviewsObservation

...

torsdag den 8 september 2011

Page 16: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Triangulation

Elicitation Methods

People / Stakeholders Artifacts / Docs

InterviewsObservation

...

torsdag den 8 september 2011

Page 17: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Triangulation

Elicitation Methods

People / Stakeholders Artifacts / Docs

InterviewsObservation

...

torsdag den 8 september 2011

Page 18: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Elicitation methods

torsdag den 8 september 2011

Page 19: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Elicitation methods

Interviews

Questionnaires

Doc analysis

“Traditional”

Surveys

torsdag den 8 september 2011

Page 20: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Elicitation methods

Interviews

Questionnaires

Doc analysis

“Traditional”

Surveys

Group-based

Brainstorming

JAD/RAD

Focus groups

Req Workshops

torsdag den 8 september 2011

Page 21: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Elicitation methods

Interviews

Questionnaires

Doc analysis

“Traditional”

Surveys

Group-based

Brainstorming

JAD/RAD

Focus groups

Req Workshops

“Cognitive”

Think-aloud / Protocol Analysis

LadderingCard sorting

Repertory grids

torsdag den 8 september 2011

Page 22: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Elicitation methods

Interviews

Questionnaires

Doc analysis

“Traditional”

Surveys

Group-based

Brainstorming

JAD/RAD

Focus groups

Req Workshops

“Cognitive”

Think-aloud / Protocol Analysis

LadderingCard sorting

Repertory grids

Contextual

Ethnography

Observation

Conversation analysis

torsdag den 8 september 2011

Page 23: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Elicitation methods

Interviews

Questionnaires

Doc analysis

“Traditional”

Surveys

Group-based

Brainstorming

JAD/RAD

Focus groups

Req Workshops

“Cognitive”

Think-aloud / Protocol Analysis

LadderingCard sorting

Repertory grids

Contextual

Ethnography

Observation

Conversation analysis

Model-driven

KAOS

I*

CREWS

torsdag den 8 september 2011

Page 24: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Elicitation methods

Interviews

Questionnaires

Doc analysis

“Traditional”

Surveys

Group-based

Brainstorming

JAD/RAD

Focus groups

Req Workshops

“Cognitive”

Think-aloud / Protocol Analysis

LadderingCard sorting

Repertory grids

Contextual

Ethnography

Observation

Conversation analysis

Model-driven

KAOS

I*

CREWS

Prototyping

Working prototypes

Mashups

Drawings

torsdag den 8 september 2011

Page 25: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Elicitation techniques - early

Technique Pro Con

InterviewsKnow the present & future ideas, Uncover

conflicts/politics

Goals & critical issues, Subjective

Group interviews/

sessions

Stimulate/complete each other, Many/

Diverse stakeholders

Censorship & domination, Groupthink

Observation Actual current behavior, processes

Time consuming, misses exceptional/usability problems

torsdag den 8 september 2011

Page 26: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Elicitation techniques - early

Technique Pro Con

InterviewsKnow the present & future ideas, Uncover

conflicts/politics

Goals & critical issues, Subjective

Group interviews/

sessions

Stimulate/complete each other, Many/

Diverse stakeholders

Censorship & domination, Groupthink

Observation Actual current behavior, processes

Time consuming, misses exceptional/usability problems

torsdag den 8 september 2011

Page 27: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Elicitation techniques - early

Technique Pro Con

InterviewsKnow the present & future ideas, Uncover

conflicts/politics

Goals & critical issues, Subjective

Group interviews/

sessions

Stimulate/complete each other, Many/

Diverse stakeholders

Censorship & domination, Groupthink

Observation Actual current behavior, processes

Time consuming, misses exceptional/usability problems

torsdag den 8 september 2011

Page 28: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Elicitation techniques - mid

Technique Pro Con

Task demo Clarify how work donePresence & Qs

influence, Critical issues seldom captured

QuestionnairesInfo from many (statistics, views,

opinions)

Hard to construct, Interpretation

Brainstorming Many ideas (none rejected)

Many ideas (prioritization needed),

Involvement

torsdag den 8 september 2011

Page 29: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Elicitation techniques - late

Technique Pro Con

Use cases / Scenarios

Concentration on specifics => accuracy

Solution-oriented, Premature design

Modeling, Data-flow

Diagrams, ...

Communication, Organize info,

Uncover missing/inconsistencies

Require tools, Time consuming, “Cults”

Prototyping Visualization, Stimulate ideas, Usability centered

Solution-oriented, Premature design,“Already done?”

torsdag den 8 september 2011

Page 30: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Brainstorming

torsdag den 8 september 2011

Page 31: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

torsdag den 8 september 2011

Page 32: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Research on how to elicit?

torsdag den 8 september 2011

Page 33: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Strategies for elicitation Strategy Description

Scenario BuildingAsking a user to imagine or construct a

scenario in his domain, and respond as he would in that situation

ConditionalizingUse “if-then” to limit or clarify applicability of

an assertion

Elaborating with examples

Asking a user to illustrate a point by providing examples

Hedging Asking a user to design contingency plans or fallback positions

torsdag den 8 september 2011

Page 34: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Strategies for elicitation Strategy Description

Scenario BuildingAsking a user to imagine or construct a

scenario in his domain, and respond as he would in that situation

ConditionalizingUse “if-then” to limit or clarify applicability of

an assertion

Elaborating with examples

Asking a user to illustrate a point by providing examples

Hedging Asking a user to design contingency plans or fallback positions

“Describe the most unusual customer you ever had. How did you respond in that situation?”

torsdag den 8 september 2011

Page 35: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Strategies for elicitation Strategy Description

Scenario BuildingAsking a user to imagine or construct a

scenario in his domain, and respond as he would in that situation

ConditionalizingUse “if-then” to limit or clarify applicability of

an assertion

Elaborating with examples

Asking a user to illustrate a point by providing examples

Hedging Asking a user to design contingency plans or fallback positions

“If the project is finished as planned, then what does that mean for the customer?”

torsdag den 8 september 2011

Page 36: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Strategies for elicitation Strategy Description

Scenario BuildingAsking a user to imagine or construct a

scenario in his domain, and respond as he would in that situation

ConditionalizingUse “if-then” to limit or clarify applicability of

an assertion

Elaborating with examples

Asking a user to illustrate a point by providing examples

Hedging Asking a user to design contingency plans or fallback positions

“Can you provide some examples of what you mean?”

torsdag den 8 september 2011

Page 37: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Strategies for elicitation Strategy Description

Scenario BuildingAsking a user to imagine or construct a

scenario in his domain, and respond as he would in that situation

ConditionalizingUse “if-then” to limit or clarify applicability of

an assertion

Elaborating with examples

Asking a user to illustrate a point by providing examples

Hedging Asking a user to design contingency plans or fallback positions

“What would you do if this action would not give the desired result?”

torsdag den 8 september 2011

Page 38: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Strategies for elicitation Strategy Description

Scenario BuildingAsking a user to imagine or construct a

scenario in his domain, and respond as he would in that situation

ConditionalizingUse “if-then” to limit or clarify applicability of

an assertion

Elaborating with examples

Asking a user to illustrate a point by providing examples

Hedging Asking a user to design contingency plans or fallback positions

torsdag den 8 september 2011

Page 39: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Strategies for elicitation Strategy Description

Generating Counterargument

Asking a stakeholder to argue against the conclusion she first reached

Generating Arguments

Asking for more or different arguments favoring a position

Feedback Asking for or giving feedback, either verbally or in writing / on notes

Summarization Asking for or giving a summary

torsdag den 8 september 2011

Page 40: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Strategies for elicitation Strategy Description

Generating Counterargument

Asking a stakeholder to argue against the conclusion she first reached

Generating Arguments

Asking for more or different arguments favoring a position

Feedback Asking for or giving feedback, either verbally or in writing / on notes

Summarization Asking for or giving a summary

“Why might the system not work as well as you say it will?”

torsdag den 8 september 2011

Page 41: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Strategies for elicitation Strategy Description

Generating Counterargument

Asking a stakeholder to argue against the conclusion she first reached

Generating Arguments

Asking for more or different arguments favoring a position

Feedback Asking for or giving feedback, either verbally or in writing / on notes

Summarization Asking for or giving a summary

“Can you think of an analogy that would help clarify what you are saying?”

torsdag den 8 september 2011

Page 42: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Strategies for elicitation Strategy Description

Generating Counterargument

Asking a stakeholder to argue against the conclusion she first reached

Generating Arguments

Asking for more or different arguments favoring a position

Feedback Asking for or giving feedback, either verbally or in writing / on notes

Summarization Asking for or giving a summary

“Let me recap what I have noted down from our conversation and you can see if you agree?”

torsdag den 8 september 2011

Page 43: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Strategies for elicitation Strategy Description

Generating Counterargument

Asking a stakeholder to argue against the conclusion she first reached

Generating Arguments

Asking for more or different arguments favoring a position

Feedback Asking for or giving feedback, either verbally or in writing / on notes

Summarization Asking for or giving a summary“Can you summarize what you have said so far?”

torsdag den 8 september 2011

Page 44: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Strategies for elicitation Strategy Description

Generating Counterargument

Asking a stakeholder to argue against the conclusion she first reached

Generating Arguments

Asking for more or different arguments favoring a position

Feedback Asking for or giving feedback, either verbally or in writing / on notes

Summarization Asking for or giving a summary

torsdag den 8 september 2011

Page 45: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Task Characteristics Prompting

torsdag den 8 september 2011

Page 46: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

Semantic Prompting

torsdag den 8 september 2011

Page 47: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

A question to ponder:

Can you think of an elicitation situation where you would choose to start elicitation with hand-drawn

UI sketches or is that never good early?

torsdag den 8 september 2011

Page 48: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

A continuum

/Modeling & Specification

torsdag den 8 september 2011

Page 49: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

What is Req Specification?

torsdag den 8 september 2011

Page 50: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

What is Req Specification?

“The deliberate documentation of requirements to a degree that makes

the associated risks tolerable”

torsdag den 8 september 2011

Page 51: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

What is Req Specification?

“The deliberate documentation of requirements to a degree that makes

the associated risks tolerable”

i.e. writing requirements down in a form so that we avoid later problems

torsdag den 8 september 2011

Page 52: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

What is Req Modeling?

torsdag den 8 september 2011

Page 53: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

What is Req Modeling?

“The construction of abstract descriptions of

reqs/goals/systems/behavior”

torsdag den 8 september 2011

Page 54: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

What is Req Modeling?

“The construction of abstract descriptions of

reqs/goals/systems/behavior”

Used in several RE activities: elicitation, analysis, specification

torsdag den 8 september 2011

Page 55: Requirements Elicitation & Specification - Chalmersfeldt/courses/reqeng/slides/re_lecture4... · Requirements Elicitation & Specification Lecture 4, ... Triangulation Use multiple

• Reqs still ambiguous & open-ended after elicitation =>

• Developers make decisions/assumptions later =>

• User <-> Dev difference: User not satisfied

• Dev <-> Dev difference: Inconsistent system

• Overall: Costs high!

• BUT:

• Goal is ideal PRODUCT not ideal Req Doc!

• Thus: Just enough Req Spec to reduce Risks!

What are risks without doc?

torsdag den 8 september 2011