Getting to the core, requirements gathering in the wild

61
GETTING TO THE CORE REQUIREMENTS GATHERING IN THE WILD

description

Session slides as delivered on March 18th 2014 at Engage in Breda, The Netherlands by Sophie Lavignac-Le Madec & Femke Goedhart Abstract: The basis of any good project is good requirements. Knowing what it is you are going to build / get determines whether your project will be a success or a flat out failure. In reality though the requirements phase is often trivialized or even forgotten. This session will give you tips & tricks as well as explain to you the basic techniques on how to effectively get to the core of the requirements, identify ways of prioritizing them and explain some core concepts of Functional and Technical design elements. Coming from a requirement gathering as well as development & customer point of view Femke & Sophie will take you through some of the real life examples they have come across and a lot of do's & don'ts they have seen (and despaired over)

Transcript of Getting to the core, requirements gathering in the wild

Page 1: Getting to the core, requirements gathering in the wild

GETTING TO THE COREREQUIREMENTS GATHERING IN THE WILD

Page 2: Getting to the core, requirements gathering in the wild

SPEAKERS

Femke Goedhart

Business Consultant - Silverside, The Netherlands

[email protected]

@FemkeGoedhart

nl.linkedin.com/in/femkegoedhart

Sophie Lavignac-Le Madec

Senior Engineer Messaging & Collaboration at SES, Luxembourg

[email protected]

lu.linkedin.com/pub/sophie-le-madec/6/2b0/653

Page 3: Getting to the core, requirements gathering in the wild

“Knowing what you get before you get it”

Page 4: Getting to the core, requirements gathering in the wild

REALITY….

It’s all critical!No timeWe assumed…

Scope???

THEY DON’T USE IT

Page 5: Getting to the core, requirements gathering in the wild

ROI?

Page 6: Getting to the core, requirements gathering in the wild

DEVELOPMENT WORK

Rework40%

Development60%

Shull et al. 2002, GAO 2004

Page 7: Getting to the core, requirements gathering in the wild

INFLUENCE OF REQUIREMENTS ON REWORK

Rework40%

Requirement Errors75%

Other25%

Leffingwell 1997

Page 8: Getting to the core, requirements gathering in the wild

COST OF REWORK

1x

Requir

emen

ts

phase

Develo

pmen

t

phase Pr

oduc

tion

phase

Page 9: Getting to the core, requirements gathering in the wild

COST OF REWORK

1x

2-3x

Requir

emen

ts

phase

Develo

pmen

t

phase Pr

oduc

tion

phase

Page 10: Getting to the core, requirements gathering in the wild

Requir

emen

ts

phase

Develo

pmen

t

phase Pr

oduc

tion

phase

1x

2-3x

100x

Boehm 1981; Grady 1999; Haskins 2004

COST OF REWORK

Page 11: Getting to the core, requirements gathering in the wild

All we really need is some document

management!Ok, but is that all?

Example

Page 12: Getting to the core, requirements gathering in the wild

Well yes, but we expect it to also do … and … and …

Mmm…. ok, is document

management really what you need then?

Example

Page 13: Getting to the core, requirements gathering in the wild

Development phase

Requirements phase

Signoff

$$$

$

Page 14: Getting to the core, requirements gathering in the wild

REQUIREMENTSVision & Scope

User Requirements

Software Requirements specification

Page 15: Getting to the core, requirements gathering in the wild

INCREASING LEVELS OF DETAILS:

Vision & Scope document

User requirements document

Software requirements specification

Business requirementBusiness rules

User requirement

Quality Attribute

External interfaces

Functional requirement

System requirement

Constraints

Non-Functional requirement

Software Requirements Third edition, Wiegers & Beatty

Page 16: Getting to the core, requirements gathering in the wild

START WITH THE WHY

Vision & Scope document

User requirements document

Software requirements specification

WHY

HOW

WHAT

Page 17: Getting to the core, requirements gathering in the wild

REQUIREMENT DOCUMENTS?

Vision & Scope

User Requirements

Software Requirements specification

Project Charter

Functional Design

Technical Design

Project requirements document

Project initiation document

etc, etc…

Page 18: Getting to the core, requirements gathering in the wild

Requirements Engineering

Requirements Development Requirements Management

Analysis ValidationSpecificationElicitation Change Mgt

STAGES

Software Requirements Third edition, Wiegers & Beatty

Page 19: Getting to the core, requirements gathering in the wild

Requirements Engineering

Requirements Development Requirements Management

Analysis ValidationSpecificationElicitation Change Mgt

Software Requirements Third edition, Wiegers & Beatty

Page 20: Getting to the core, requirements gathering in the wild

ElicitationRequirements DevelopmentRequirements Engineering

Budget & Time?

Waterfall or Agile?

User centric or Product centric?

SCOPE

Page 21: Getting to the core, requirements gathering in the wild

ElicitationRequirements DevelopmentRequirements Engineering

Discover

Design

Develop

Test

Discover

Dev

elop

Design

Test

Sprint #1

Sprint #2

Sprint #3

Discover

Dev

elop

DesignTest

Discover

Dev

elop

Design

Test

AGILE OR

WATERFALL?

Page 22: Getting to the core, requirements gathering in the wild

WHO ?ElicitationRequirements DevelopmentRequirements Engineering

OWNER

Page 23: Getting to the core, requirements gathering in the wild

WHO ELSE?ElicitationRequirements DevelopmentRequirements Engineering

Who will use it?

Who will depend on it?

Who has a stake in it?OW

NER

Page 24: Getting to the core, requirements gathering in the wild

WHO ELSE?• Direct users

• Indirect users

• Stakeholders

• Sponsors

• Acquirer

• Management

• Compliance auditor

• Suppliers

• Regulatory body

• Quality assurance

• Etc, etc…….

ElicitationRequirements DevelopmentRequirements Engineering

Who will use it?

Who will depend on it?

Who has a stake in it?OW

NER

Page 25: Getting to the core, requirements gathering in the wild

ElicitationRequirements DevelopmentRequirements Engineering

Yes! that’s what we want!

Well I think something else is more important!

That’s not what I wanted!

Example

Page 26: Getting to the core, requirements gathering in the wild

TACTICS FOR GATHERING REQUIREMENTS

• Interviews

• Focus groups

• Observation

• Document studies

• RFP Documents

• Workshops

• Questionnaires

• Incident & compliance systems

• SME’s

• Market research

• Review of current systems

• ….

ElicitationRequirements DevelopmentRequirements Engineering

Page 27: Getting to the core, requirements gathering in the wild

TACTICS FOR GATHERING REQUIREMENTS

• Interviews

• Focus groups

• Observation

• Document studies

• RFP Documents

• Workshops

• Questionnaires

• Incident & compliance systems

• SME’s

• Market research

• Review of current systems

• ….

ElicitationRequirements DevelopmentRequirements Engineering

Talking

!=

Listening!

Page 28: Getting to the core, requirements gathering in the wild

METHODS

ElicitationRequirements DevelopmentRequirements Engineering

Creative Problem Solving (Isaken & Treffinger) • Mess finding • Data finding • Problem finding • Idea finding • Solution finding • Acceptance finding

Page 29: Getting to the core, requirements gathering in the wild

METHODS

ElicitationRequirements DevelopmentRequirements Engineering

Iterative question asking (Sakichi Toyoda) • Why? • Why? • Why? • Why? • Why? <-Root cause

Page 30: Getting to the core, requirements gathering in the wild

ElicitationRequirements DevelopmentRequirements Engineering

Page 31: Getting to the core, requirements gathering in the wild

Requirements Engineering

Requirements Development Requirements Management

Analysis ValidationSpecificationElicitation Change Mgt

Software Requirements Third edition, Wiegers & Beatty

Page 32: Getting to the core, requirements gathering in the wild

SMART• Specific

• What? Why? Who? Where? Which?

• Measurable • How much? How many? Is it quantifiable?

• Attainable • Can it be achieved with the resources & facilities available?

• Relevant • Does it relate to the project vision & scope?

• Timely • Can I set a date to it?

AnalysisRequirements DevelopmentRequirements Engineering

Page 33: Getting to the core, requirements gathering in the wild

PRIORITISE

AnalysisRequirements DevelopmentRequirements Engineering

Page 34: Getting to the core, requirements gathering in the wild

MOSCOWAnalysisRequirements DevelopmentRequirements Engineering

• Must • Should • Could • Won’t (or would)

Page 35: Getting to the core, requirements gathering in the wild

MOSCOWAnalysisRequirements DevelopmentRequirements Engineering

Requirement M S C W

Insert multiple order lines x

Create an export of closed orders x

Allow to copy order details to allow quick registration x

Allow for inserting personal notes on orders x

Page 36: Getting to the core, requirements gathering in the wild

MOSCOWAnalysisRequirements DevelopmentRequirements Engineering

Requirement Costs M S C W

Insert multiple order lines $100 x

Create an export of closed orders $1500 x x

Allow to copy order details to allow quick registration $250 x

Allow for inserting personal notes on orders $100 x x

Page 37: Getting to the core, requirements gathering in the wild

EISENHOWER DECISION MATRIXAnalysisRequirements DevelopmentRequirements Engineering

Urgent Not Urgent

Important

Not Important

Page 38: Getting to the core, requirements gathering in the wild

PRIORITISEAnalysisRequirements DevelopmentRequirements Engineering

Urgent Not Urgent

Important Must! Should

Not Important Could

Won’t (Nice to

have)

Page 39: Getting to the core, requirements gathering in the wild

AnalysisRequirements DevelopmentRequirements Engineering

KEEP IT SIMPLE STUPID

Page 40: Getting to the core, requirements gathering in the wild

Requirements Engineering

Requirements Development Requirements Management

Analysis ValidationSpecificationElicitation Change Mgt

Software Requirements Third edition, Wiegers & Beatty

Page 41: Getting to the core, requirements gathering in the wild

UNIFIED MODELLING LANGUAGE

Structural UML diagrams

• Class diagram

• Component diagram

• Composite structure diagram

• Deployment diagram

• Object diagram

• Package diagram

• Profile diagram

SpecificationRequirements DevelopmentRequirements Engineering

Behavioural UML diagrams

• Activity diagram

• Communication diagram

• Interaction overview diagram

• Sequence diagram

• State diagram

• Timing diagram

• Use case diagram

Page 42: Getting to the core, requirements gathering in the wild

SpecificationRequirements DevelopmentRequirements Engineering

VISUALISE

Page 43: Getting to the core, requirements gathering in the wild

WRITE IT DOWN • Build prototypes

• Provide demo’s of similar functionality

• Models & Diagrams

• Draw out process- and workflows

• Mockups of screens & forms

• Use cases, function descriptions

• Tell it as a story: “a day in the life of…”

SpecificationRequirements DevelopmentRequirements Engineering

Page 44: Getting to the core, requirements gathering in the wild

TALK THE TALK…

SpecificationRequirements DevelopmentRequirements Engineering

User

??

Developer

??

Page 45: Getting to the core, requirements gathering in the wild

TALK THE TALK…

SpecificationRequirements DevelopmentRequirements Engineering

User

??

Developer

??

Management

$$$?

Page 46: Getting to the core, requirements gathering in the wild

example

ElicitationRequirements DevelopmentRequirements Engineering

Page 47: Getting to the core, requirements gathering in the wild

ElicitationRequirements DevelopmentRequirements Engineering

Page 48: Getting to the core, requirements gathering in the wild

Requirements Engineering

Requirements Development Requirements Management

Analysis ValidationSpecificationElicitation Change Mgt

Software Requirements Third edition, Wiegers & Beatty

Page 49: Getting to the core, requirements gathering in the wild

EXPECTATION GAPValidationRequirements DevelopmentRequirements Engineering

Time —>

What the developer builds

What the user wants

Expectation gap

Software Requirements Third edition, Wiegers & Beatty

Page 50: Getting to the core, requirements gathering in the wild

EXPECTATION GAPValidationRequirements DevelopmentRequirements Engineering

Time —>

What the developer builds

What the user wants

Expectation gap

contact pointcontact point

Software Requirements Third edition, Wiegers & Beatty

Page 51: Getting to the core, requirements gathering in the wild

PLAY IT BACK!

“I ‘ve heard that…”

“I understand you want…”

“You expect it to…”

etc. etc…

ValidationRequirements DevelopmentRequirements Engineering

Page 52: Getting to the core, requirements gathering in the wild

ROLE

Check your personal feelings at the door but don’t forget to keep an eye on project

scope & constraints!

ValidationRequirements DevelopmentRequirements Engineering

Page 53: Getting to the core, requirements gathering in the wild

4-EYES PRINCIPLE

ValidationRequirements DevelopmentRequirements Engineering

Page 54: Getting to the core, requirements gathering in the wild

ValidationRequirements DevelopmentRequirements Engineering

SIGN OFF ON THE REQUIREMENT BASELINE

Page 55: Getting to the core, requirements gathering in the wild

ElicitationRequirements DevelopmentRequirements Engineering

Example

Page 56: Getting to the core, requirements gathering in the wild

Requirements Engineering

Requirements Development Requirements Management

Analysis ValidationSpecificationElicitation Change Mgt

Software Requirements Third edition, Wiegers & Beatty

Page 57: Getting to the core, requirements gathering in the wild

Change managementRequirements DevelopmentRequirements Engineering

THINGS CHANGE

Page 58: Getting to the core, requirements gathering in the wild

– Douglas Hofstadter

“Hofstadter's Law: It always takes longer than you expect, even when you

take Hofstadter's Law into account”

Change managementRequirements DevelopmentRequirements Engineering

Page 59: Getting to the core, requirements gathering in the wild

MANAGE CHANGES• Set up a formal RFC (Request For Change) process

• Register all changes and use version control

• Translate into effect (impact on time, costs & end result)

• (Re-)Prioritise

• Communicate

• Sign off on changed requirements

Change managementRequirements DevelopmentRequirements Engineering

Page 60: Getting to the core, requirements gathering in the wild

WRAP UP

• Treat Requirements Gathering as if it’s a project on its own

• Assign or free up enough resources

• Evaluate afterwards (improvements for future projects)

• Incorporate an outsiders view

• Don’t set it in stone…. things change, just make sure you manage it!

• Be open… you might be pleasantly surprised!

Page 61: Getting to the core, requirements gathering in the wild

QUESTIONS?

Femke Goedhart

[email protected]

@FemkeGoedhart

nl.linkedin.com/in/femkegoedhart

Sophie Lavignac-Le Madec

[email protected]

lu.linkedin.com/pub/sophie-le-madec/6/2b0/653