nesma autumn conference 2015 - a qfd based tool for managing agile requirements - thomas fehlmann...

36
Thomas Fehlmann Eberhard Kranich

Upload: nesma

Post on 12-Apr-2017

788 views

Category:

Software


0 download

TRANSCRIPT

Thomas Fehlmann

Eberhard Kranich

1981: Dr. Math. ETHZ

1991: Six Sigma for Software Black Belt

1999: Euro Project Office AG, Zürich

2001: Akao Price 2001 for original contributions to QFD

2003: SwissICT Expert for Software Metrics, ICTscope.ch

2004: Member of the Board QFD Institute Deutschland – QFD Architect

2007: CMMI for Software – Level 4 & 5

2011: Net Promoter® Certified Associate

2012: Member of the DASMA Board

2013: Vice-President ISBSG

Dr. Thomas Fehlmann

1981: Dr. Math. ETHZ

1991: Six Sigma for Software Black Belt

1999: Euro Project Office AG, Zürich

2001: Akao Price 2001 for original contributions to QFD

2003: SwissICT Expert for Software Metrics, ICTscope.ch

2004: Member of the Board QFD Institute Deutschland – QFD Architect

2007: CMMI for Software – Level 4 & 5

2011: Net Promoter® Certified Associate

2012: Member of the DASMA Board

2013: Vice-President ISBSG

Eberhard Kranich

Mathematics and Computer Science

Emphasis on Mathematical Statistics

Mathematical Optimization

Theory of Polynomial Complexity of Algorithms

Worked at T-Systems International GmbH in Bonn, Germany

Six Sigma Black Belt for Software Development

Software Quality Assurance Manager

Member of the DASMA Board

Mathematics and Computer Science

Emphasis on Mathematical Statistics

Mathematical Optimization

Theory of Polynomial Complexity of Algorithms

Worked at T-Systems International GmbH in Bonn, Germany

Six Sigma Black Belt for Software Development

Software Quality Assurance Manager

Member of the DASMA Board

The Wonderful World of Agile

Twelve Principles of Agile Software

1. Our highest priority is to satisfy the customer through early and

continuous delivery of valuable software.

2. Welcome changing requirements, even late in development. Agile

processes harness change for the customer's competitive advantage.

3. Deliver working software frequently, from a couple of weeks to a couple

of months, with a preference to the shorter timescale.

4. Business people and developers must work together daily throughout the

project.

5. Build projects around motivated individuals. Give them the environment

and support they need, and trust them to get the job done.

6. The most efficient and effective method of conveying information to and

within a development team is face-to-face conversation.

7. Working software is the primary measure of progress.

8. Agile processes promote sustainable development. The sponsors,

developers, and users should be able to maintain a constant pace

indefinitely.

9. Continuous attention to technical excellence and good design enhances

agility.

10. Simplicity – the art of maximizing the amount of work not done – is

essential.

11. The best architectures, requirements, and designs emerge from self-

organizing teams.

12. At regular intervals, the team reflects on how to become more effective,

then tunes and adjusts its behavior accordingly.

Scrum Development Cycle

Product Backlog

“User Stories”

Sprint Backlog

“Work Items”Sprint Work Increment

of finished software

10 day

24h

IndependentTesting

passfail

The Approach

Today’s Cost Estimation refers to

Well-Specified Requirements

However, requirements detailed enough to under-

stand the functional scope (FUR) never existed

Moreover, non-functional requirements (NFT) add

cost in a usually unpredictable way

Cost of Agile Development is easier to predict

Select Team Size

Allocate number of Sprints

Cost Budget?

| A QFD-BASED MANAGEMENT TOOL

The Problem

What will I get?

From selected Team Size?

And allocated number of Sprints?

| A QFD-BASED MANAGEMENT TOOL

Product Backlog

“User Stories”

Sprint Backlog

“Work Items”Sprint Work Increment

of finished software

10 day

24h

IndependentTesting

passfail

Tool – Architecture

NPS Priority

Kano Priority

AHP Priority

Kano Analysis

COSMIC

Count

Goal Interface Size Interface

FUR

Deployment

QFD Transfer

Function

Cascaded Quality

Function Deployments

Combine

VoC Priority

New Lanchester

Story Card

Deployment

Planning MatrixTest

Coverage

Test Interface

Effort

Prediction

Name Label Data Movement Sub-Process Description Trig

ger

Fun

Pro

s

Obj

ects

Ent

ry (

E)

eXit

(X)

Rea

d (R

)

Writ

e (W

)

1) E001 Search Criteria Enter search criteria T01 F001 D001 1

2) W001 Write Search Write search string to database F001 P001 1

3) R001 Get Result See matching results F001 P001 1

4) X001 Show Result Display results F001 D001 1

5) R002 Nothing Found Explain that no data matches search criteria F001 P001 1

6) X002 Show Error Message Explain it to the user F001 D001 1

CFP per Data Movement Type: 1 2 2 1

Total CFP: 6

Move TypeData Movements

Let’s Develop a Simple Cloud App

Search for something

Get a response

Or a reasonable error message

Functional Size: 6 CFP

COSMIC Function Points

1 Entry (E) + 2 eXit (X) + 2 Read (R) + 1 Write (W) = 6 CFP

User Search Process Data

1.// Search Criteria

Trigger

2.// Write Search

3.// Get Result

4.// Show Result

5.// Nothing Found

6.// Show Error Message

Set up the Team

Developers can take story cards

Sponsors & other Stakeholders cannot

Typical Swiss Team

With a few

Dutch members…

Nickname Full Name e-Mail Role

1) Fritz Fritz Wunderlich [email protected] Conductor

2) Susi Susanne Fast

3) Heidi Adelheide Van der Heide

Team Size: 3

Nickname Full Name e-Mail Role

Dr. Adriana Becherova Sponsor

Furz Friederich Weissalles Product Owner

Tom Thomas Fehlmann [email protected] Expert

Blönz Beat Lönz Administrator

Paul Paul Lewis [email protected] Architect

Olly Oliver Schnyder Counter

Development Team

not taking story cardsSponsors & Stakeholders

Add Row Del Row

Set up Sprint Schedule

Label each sprint according team’s preferences

Plus a short description if needed

Set the Start Date

Add free “Relax” days between sprints

Add sprint duration

Start Date: 2015-10-26 Montag, 26. Oktober 2015

Sprint ID Label Description Relax Start Date Duration End Date1) #01 - Overture Overture Planning Sprint 2015-10-26 Montag, 26. Oktober 2015 5.0 Days 2015-10-30 Freitag, 30. Oktober 2015

2) #02 - Allegretto Allegretto Functionality 2015-11-02 Montag, 2. November 2015 5.0 Days 2015-11-06 Freitag, 6. November 2015

3) #03 - Scherzo Scherzo Just some stuff 2 Days 2015-11-11 Mittwoch, 11. November 2015 3.0 Days 2015-11-13 Freitag, 13. November 2015

4) #04 - Finale Finale Additional Stuff, not to be tracked 2015-11-16 Montag, 16. November 2015 5.0 Days 2015-11-20 Freitag, 20. November 2015

Average Sprint Duration: 4.5 Days

Sprints

Add Row Del Row

Get the Goal Profile

Get the Business Driver’s Goal Profile

From some AHP, Kano or NPS Voice of the Customer

Will be used for focusing development towards lean &

agile targets

2015-10-14

File: Sheet Name: Business Driv ers Start Col 5 Language English

Attributes Goal Profile

Y.a Target Group A y1 Target 1 Attribute 1.1 Attribute 1.2 Attribute 1.3 0.54

y2 Target 2 Attribute 2.1 0.57

Y.b Target Group B y3 Target 3 Attribute 3.1 Attribute 3.2 0.39

y4 Target 4 Attribute 4.1 Attribute 4.2 Attribute 4.3 0.49

Interface to QFD Deployment Goal Profile

..\QfdNpsPriority .x lsm

Business Drivers

1

Customer

Orientation

Lean

Six Sigma

Agile

Processes

Project

Estimations

Transfer

Functions

Quality Function Deployment for Software

Thomas M. Fehlmann

Euro Project Office AG

E: [email protected]

H: www.e-p-o.com

Get the User Stories

User Stories in the Grant-Rule-format

As a functional user …

I want to get something done …

such that certain quality

characteristics are met …

so that I get a specific value or benefit

File:

As a … [functional user] I want to … [get something done] such that …[quality characteristic] so that … [value or benefit]

1) Q001 Search Data Database User find data matching my search criteria I can use it I know when data exists

2) Q002 Answer Questions Database User know whether some data exists I can create it I know when data doesn't exist

3) Q003 Keep Data Safe Database User make sure my data is safe it cannot be deleted I can retrieve it if necessary

Interface to COSMIC Count

..\Story Cards\SearchCount.x lsm

User Stories

1

Customer

Orientation

Lean

Six Sigma

Agile

Processes

Project

Estimations

Transfer

Functions

Using the COSMIC Counting Tool

Thomas M. Fehlmann

Euro Project Office AG

E: [email protected]

H: www.e-p-o.com

UserFunctional

Process Data

1.// Entry

Trigger

2.// Write Search

3.// Get Result

4.// Show Result

Story Cards

Story cards are used to split user stories into work

items that fit into one sprint

This sample project searches some data store

Story Card for Search Data Test isReady

Draft isReady

ReviewDone

Final-ized

Appro-ved

Func-tional

9 9 9 9 9 9Q001-01F: Basic functionality

4

Name:2

#1 - Overture

Business Impact:

Functional Size:

Story Points:

Accepts search criteria, searches for data and returns results

Sprint:

Fritz

As a Database User I want to find data matching my search criteria such that

I can use it so that I know when data existsUser Search Process Data

1.// Search Criteria

2.// Write Search

3.// Get Result

4.// Show Result

Story Card for Search Data Test isReady

Draft isReady

ReviewDone

Final-ized

Appro-ved

Func-tional

9 9 9 9 9 9Q001-02Q: Make it look good

2

Name:3

#1 - Overture

Business Impact:

Functional Size:

Story Points:

Error handling in case nothing found, explaining why it failed

Sprint:

Heidi

y4: Target 4: 3y2: Target 2: 4y1: Target 1: 1

As a Database User I want to find data matching my search criteria such that

I can use it so that I know when data existsUser Search Process

1.// Search Criteria

4.// Show Result

The Story Card Table

You can assign story cards to user stories

Assigning the card to some team member and sprint

Recording the Story Points assigned

Specifying which data movements are covered

Plus Step to Completion and

Impact on Business Drivers

Responsible Scheduled for Effort Size Functional Coverage

Card ID Label Description ID Developer Sprint StP CFP Data Movement Tes

t re

ady

Dra

ft r

eady

Rev

iew

don

e

Fin

aliz

ed

App

rove

d

Fun

ctio

nal

y1:

Tar

get

1

y2:

Tar

get

2

y3:

Tar

get

3

y4:

Tar

get

4

Ref

acto

red

Last Update

1) Q001-01F Basic functionality Accepts search criteria, searches for data and returns results Q001 Search Data 1 Fritz #1 - Overture 2 4 X001,R001,W001,E001 9 9 9 9 9 9 7 2014-12-06

2) Q001-02Q Make it look good Error handling in case nothing found Q001 Search Data 2 Heidi #1 - Overture 3 2 X001,E001 9 9 9 9 9 9 1 4 3 2 2014-11-26

3) Q002-02F Safe data retrieval Cloud security Q002 Answer Questions 2 Susi #2 - Allegretto 8 2 X002,R002 9 9 9 9 9 9 6 2015-11-02

4) Q002-03Q Show what happens Keep user informed about search progress Q002 Answer Questions 3 Susi #3 - Scherzo 13 2 X002,X001 9 9 9 9 9 9 6 3 2014-12-06

5) Q002-04F New Idea Gorgeous look for search results Q002 Answer Questions 4 Fritz #4 - Finale 5 1 2014-11-26

6) Q003-01Q Colorful Allow color selection based on personal preferences Q003 Keep Data Safe 1 Heidi #3 - Scherzo 2 2 X001,R001 9 9 9 9 9 9 3 1 6 2014-12-06

7) Q003-03Q Bill for services Payment portal for frequent searches Q003 Keep Data Safe 3 Heidi #4 - Finale 3 6 1 2015-11-02

8) Q003-04Q Something else High reliability data movements Q003 Keep Data Safe 4 Susi #4 - Finale 13 4 X001,R001,W001,E001 3 1 1 2014-12-06

49 16 Completion Rate: 63% 7% 19% 9% 13% 9% 6% 10 5 2 9 26 2015-11-02

StP for FUR: 41 Completion Weights: 10% 30% 15% 20% 15% 10% StP for NFR: 34

Six Steps to CompletionStory Cards Requirement Impact on Business Drivers

Total Story Points (StP) / Function Points (CFP):

User Stories

Add Card Hide Card Unhide PublishClear

The Initial Buglione-Trudel Matrix

y4: Target 4

Functional Coverage(ISO/IEC 19761)

BusinessDrivers

Business Driver Goal Profile /Achieved Response Profile

Story Cards

Convergence Gap

1.00

FunctionalStory Cards

y1: Target 1

y2: Target 2

User StoryPriorities

y3: Target 3

Mid-Term Buglione-Trudel Matrix

y4: Target 4

Functional Coverage(ISO/IEC 19761)

BusinessDrivers

Business Driver Goal Profile /Achieved Response Profile

Story Cards

Convergence Gap

0.69

FunctionalStory Cards

y1: Target 1

y2: Target 2

User StoryPriorities

y3: Target 3

The Final Buglione-Trudel Matrix

y4: Target 4

Functional Coverage(ISO/IEC 19761)

BusinessDrivers

Business Driver Goal Profile /Achieved Response Profile

Story Cards

Convergence Gap

0.06

FunctionalStory Cards

y1: Target 1

y2: Target 2

User StoryPriorities

y3: Target 3

Responsible Scheduled for Effort Size Functional Coverage

Card ID Label Description ID Developer Sprint StP CFP Data Movement Tes

t re

ady

Dra

ft r

eady

Rev

iew

don

e

Fin

aliz

ed

App

rove

d

Fun

ctio

nal

y1:

Tar

get

1

y2:

Tar

get

2

y3:

Tar

get

3

y4:

Tar

get

4

Ref

acto

red

Last Update

1) Q001-01F Basic functionality Accepts search criteria, searches for data and returns results Q001 Search Data 1 Fritz #1 - Overture 2 4 X001,R001,W001,E001 9 9 9 9 9 9 7 2014-12-06

2) Q001-02Q Make it look good Error handling in case nothing found Q001 Search Data 2 Heidi #1 - Overture 3 2 X001,E001 9 9 9 9 9 9 1 4 3 2 2014-11-26

3) Q002-01Q Do even more Speech output Q002 Answer Questions 1 Heidi #2 - Allegretto 5 9 9 9 9 9 9 6 3 7 2014-12-06

4) Q002-02F Safe data retrieval Cloud security Q002 Answer Questions 2 Susi #2 - Allegretto 8 2 X002,R002 9 9 9 9 9 9 6 2014-11-26

5) Q002-03Q Show what happens Keep user informed about search progress Q002 Answer Questions 3 Susi #3 - Scherzo 13 2 X002,X001 9 9 9 9 9 9 6 3 2014-12-06

6) Q002-04F New Idea Gorgeous look for search results Q002 Answer Questions 4 Fritz #4 - Finale 5 1 2014-11-26

7) Q003-01Q Colorful Allow color selection based on personal preferences Q003 Keep Data Safe 1 Heidi #3 - Scherzo 2 2 X001,R001 9 9 9 9 9 9 3 1 6 2014-12-06

8) Q003-02Q Fast Cache Q003 Keep Data Safe 2 Fritz #3 - Scherzo 8 2 X001,R001 9 9 9 3 3 2 1 3 2014-12-06

9) Q003-03Q Bill for services Payment portal for frequent searches Q003 Keep Data Safe 3 Heidi #4 - Finale 3 6 1 2014-11-26

10) Q003-04Q Something else High reliability data movements Q003 Keep Data Safe 4 Susi #4 - Finale 13 4 X001,R001,W001,E001 3 1 1 2014-12-06

62 18 Completion Rate: 67% 7% 21% 11% 13% 10% 6% 10 11 7 10 36 2015-11-02

StP for FUR: 49 Completion Weights: 10% 30% 15% 20% 15% 10% StP for NFR: 47

Six Steps to CompletionStory Cards Requirement Impact on Business Drivers

Total Story Points (StP) / Function Points (CFP):

User Stories

Add Card Hide Card Unhide PublishClear

Publish & Track Story Cards

Publish

Creates one PowerPoint Slide per Story Card

Previously checking for updates on the PowerPoint

Story Cards

Allowing the team to interact with the Excel tool

through their personal Story Cards

Summary Project

At the end, the NFR add

to total cost in a

predictable way

Total Business Impact 38

This QFD Matrix can be

predicted without

knowing the details what

NFR need to be added to

the project

| A QFD-BASED MANAGEMENT TOOL

User Stories

Go

al P

rofi

le

Sea

rch

Dat

a

Ans

wer

Que

stio

ns

Kee

p D

ata

Saf

e

Ach

ieve

d P

rofi

le

Q00

1

Q00

2

Q00

3

y1 Target 1 0.54 1 9 0.57

y2 Target 2 0.57 4 6 1 0.52

y3 Target 3 0.39 3 4 0.41

y4 Target 4 0.49 3 6 1 0.49

Solution Profile for User Stories: 0.36 0.64 0.68 Convergence Gap

TotalBusiness Impact: 38 0.38 0.66 0.65 0.06

0.10 Convergence Range

0.20 Convergence Limit

Business DriversDeployment Combinator

Business Drivers

User StoriesG

oal

Pro

file

Sea

rch

Dat

a

Ans

wer

Que

stio

ns

Kee

p D

ata

Saf

e

Ach

ieve

d P

rofi

le

Q00

1

Q00

2

Q00

3

y1 Target 1 0.53 1 9 0.50

y2 Target 2 0.54 4 6 1 0.56

y3 Target 3 0.43 4 3 0.40

y4 Target 4 0.49 3 6 1 0.52

Solution Profile for User Stories 0.38 0.71 0.60 Convergence Gap

TotalBusiness Impact: 38 0.4 0.7 0.6 0.05

0.10 Convergence Range

0.20 Convergence Limit

User StoriesDeployment Combinator

Business Drivers

Cost Prediction Process

Sample Prediction QFD 1. Understand Business

Drivers; profile them

2. Collect User Stories

and express their

functionality by UML

Sequence Diagrams

3. Guess the QFD Matrix

by a QFD Workshop

4. Count total Business

Impact in the Matrix

Cells – here: 36

| A QFD-BASED MANAGEMENT TOOL

A More Sophisticated Project

The Kitchen Helper

Build a system to

prepares fridge

and other kitchen

appliance to cook

a meal according

a selected recipe

Use IoT

technology

| A QFD-BASED MANAGEMENT TOOL

Application Boundary

FunctionalObjectshosting atotal ofeightFunctionalProcesses

Grocery Shop

Boiling Plates

Kitchen User

Kitchen Controls

Oven & Steamer

Recipe Portal

Collect Recipes

Identify Food

Kitchen Inventory

Execute Recipe

Customer’s Needs

The define the Business Drivers that make this

project successful, use Analytic Hierarchy Process

Or any other Voice of the Customer Tool such as

Net Promoter Survey or Go to the Gemba

| A QFD-BASED MANAGEMENT TOOL

Top Business Drivers Attributes Profile

A Grocery Shop A03 Customer Loyalty Customer come back Find special food 0.28 0.31

B Cooking Community B01 Collect New Recipes Be special Make it essential 0.49 0.54

B02 Promote Specialities Recipes promote high-yield food 0.25 0.27

C Kitchen Constructor C02 Willing to Recommend A special kitchen 0.34 0.37

D Kitchen User D01 Surprise Friends Feel cool Kitchen helper helps! 0.29 0.32

D04 Get High Esteem Earn praise Make friends envious 0.51 0.560.92

Top Business Drivers

Business Drivers

User Stories

| A QFD-BASED MANAGEMENT TOOL

Name Label As a … [Functional User] I want to … [get something done] Such that …[quality characteristic] So that … [value or benefit]. To1) Q001 Collect Recipes Kitchen User collect recipes I can select one that interests me my family and guests are impressed E001 Enter New Recipe F001

2) Q002 Identify Food Kitchen User identify food components My shopping list is accurate the recipes use correct components E007 Search for Food F002

3) Q003 Search Recipes Kitchen User find new recipes I can select one that interests me my family and guests are impressed E004 Search Recipe F001

4) Q004 Manage Inventory Kitchen User know what's in my kitchen I can get rid of obsolescent food before it decays E013 Mark Obsolescence F003

5) Q005 Shopping List Kitchen User get a shopping list I buy everything that's needed I can cook my recipe E010 Request Shopping List F003

6) Q006 Cooking Process Kitchen User start cooking my appliances know what I'm doing the can help me doing it right E014 Select Recipe F004

7) Q007 Process Control Kitchen User execute the cooking process heat and treatment is correct boiling pans don't overspill E015 Execute Cooking Process F004

8) Q008 Remember Kitchen User remember what I cooked last time for my family or guests they won't get weary of my recipes E021 Recall Cooked Recipe F004

Entry Movement used

User Stories

Add Row Del Row

Functional Vision – 60 CFP

| A QFD-BASED MANAGEMENT TOOL

21 Entry (E) + 17 eXit (X) + 13 Read (R) + 9 Write (W) = 60 CFP

Kitchen User Collect Recipes Recipe Database Recipe Portal Identify Food Food Database Grocery Shop Kitchen Inventory Inventory Database Execute Recipe

1.// Enter New Recipe

Enter

2.// Store Recipe

3.// Read Recipe

4.// Modify Recipe

5.// Delete Recipe

6.// Show Recipe

7.// Recipe Statistics

8.// Search Recipe

Search

9.// Search Recipe

10.// Matching Recipes

11.// Propose Recipes

12.// Select Recipes

13.// Store Recipes

14.// Browse Recipes

15.// Show Recipes

16.// Search for Food

Food

17.// Search for Food ID

18.// Food ID Match

Initial Buglione-Trudel Matrix

| A QFD-BASED MANAGEMENT TOOL

D04: Get High Esteem

D01: Surprise Friends

C02: Willing to Recommend

Functional Coverage

(ISO/IEC 19761)

0.05

BusinessDrivers

Business Driver Goal Profile /Achieved Response Profile

Story Cards

Convergence Gap

0.70

FunctionalStory Cards

A03: Customer Loyalty

B01: Collect New Recipes

User Stories

User StoryPriorities

B02: Promote Specialities

Q001

Collect Recipes

Q002

Identify Food

Q003

Search Recipes Q004

Manage Inventory

Q005

Shopping List

Q006

Cooking Process

Q007

Process Control

Q008

Remember

Final Buglione-Trudel Matrix

| A QFD-BASED MANAGEMENT TOOL

D04: Get High Esteem

D01: Surprise Friends

C02: Willing to Recommend

Functional Coverage

(ISO/IEC 19761)

0.05

BusinessDrivers

Business Driver Goal Profile /Achieved Response Profile

Story Cards

Convergence Gap

0.07

FunctionalStory Cards

A03: Customer Loyalty

B01: Collect New Recipes

User Stories

User StoryPriorities

B02: Promote Specialities

Q001

Collect Recipes

Q002

Identify Food

Q003

Search Recipes Q004

Manage Inventory

Q005

Shopping List

Q006

Cooking Process

Q007

Process Control

Q008

Remember

Cost Prediction including NFR

FUR yield 60 CFP

Assume 4.25 PDR (h/CFP)

60 * 4.25 = 255 h

NFR to FUR = 2.0

Means 2 times more StP

for NFR than for FUR

77 Impact instead of 73

Therefore NFR add

60*2.0 * 77/73 = 127 CFP

This yields 4.25 * 127 538 h

Total 255 h + 538 h = 793 h

| A QFD-BASED MANAGEMENT TOOL

144 h/Sprint = 6 Sprints

User Stories

Go

al P

rofi

le

Col

lect

Rec

ipes

Iden

tify

Foo

d

Sea

rch

Rec

ipes

Man

age

Inve

ntor

y

Sho

ppin

g Li

st

Coo

king

Pro

cess

Pro

cess

Con

trol

Rem

embe

r

Ach

ieve

d P

rofi

le

Q00

1

Q00

2

Q00

3

Q00

4

Q00

5

Q00

6

Q00

7

Q00

8

A03 Customer Loyalty 0.31 1 9 1 3 1 0.33

B01 Collect New Recipes 0.54 9 1 3 0.54

B02 Promote Specialities 0.27 3 1 3 1 1 0.25

C02 Willing to Recommend 0.37 3 6 1 3 0.35

D01 Surprise Friends 0.32 1 1 5 1 0.27

D04 Get High Esteem 0.56 2 1 1 3 3 9 0.59

Solution Profile for User Stories 0.56 0.13 0.17 0.47 0.29 0.27 0.22 0.45 Convergence Gap

TotalBusiness Impact: 77 0.6 0.1 0.2 0.5 0.3 0.3 0.2 0.4 0.06

0.10 Convergence Range

0.20 Convergence Limit

User StoriesDeployment Combinator

Top Business Drivers

Predicting Cost of NFR

| A QFD-BASED MANAGEMENT TOOL

Project VisionFunctional

Requirements

EvolvingNon-FunctionalRequirements

FunctionalSize

Contingency due to Scope

Creep and NFR

Project Requirements & Constraints e.g., target duration, available skills, risk

True NFRe.g. technology,

training

Convert to Functional Size related Efforte.g. productivity

benchmarks, % reuse

Unit Coste.g. hardware,

staff rates

Staff RatesX X

X

Project Overhead

=

=

=

+

+

Total Project CostAdapted from the Guideline on Non-Functional & Project Requirements (cosmic-sizing.org) by Frank Vogelezang

EvolvingNon-FunctionalRequirements

NFR Extension

Factor

Conclusion

Cost Estimation without knowing the

Customer’s Needs is only incidentally correct Simply because all “Change Requests” originate from

customer’s need and the product’s business drivers

Embracing Agile seriously allows predicting project

cost much better and simpler than traditional cost

estimation techniques By predicting the agile software development process

Not the product!

It’s still benchmarking but at higher granularity,

relying on the team, the environment, and agility

| A QFD-BASED MANAGEMENT TOOL

Open Questions

How stable are Story Points used for calibration?

It is known that they grow bigger towards the end of a

project; however, we need them at the vision stage

How well predict experts the QFD Cost Matrix?

Understand the means of teams to create value?

Is the QFD Cost Matrix measurable?

For instance, using history?

Or by some Six Sigma technique like Design of

Experiments (DoE)?

| A QFD-BASED MANAGEMENT TOOL

Your Questions?

| A QFD-BASED MANAGEMENT TOOL

Kanban for Software

| A QFD-BASED MANAGEMENT TOOL

The Initial Kanban Table

The Kanban table shows progress

Definition of Done according Six Steps to Completion

Backlog

Q001: Search Data

Q003: Keep Data Safe

Story Cards for Sprint #01 - Overture

Su

siH

eid

iF

ritz

Delivers FunctionalitySix Steps

to CompletionTest is Ready

Size: 4 CFPEffort: 13 StP

Draft isReady

Size: 0 CFPEffort: 0 StP

ReviewDone

Size: 0 CFPEffort: 0 StP

Finalized

Size: 0 CFPEffort: 0 StP

Approved

Size: 2 CFPEffort: 8 StP

Size: 12 CFPEffort: 33 StP

Size: 0 CFPEffort: 0 StP

Waiting…

Size: 0 CFPEffort: 8 StP

Q002: Answer Questions

Intermediate Kanban Table

The Kanban table shows progress

Definition of Done according Six Steps to Completion

Backlog

Q001: Search Data

Q003: Keep Data Safe

Story Cards for Sprint #01 - Overture

Su

siH

eid

iF

ritz

Delivers FunctionalitySix Steps

to CompletionTest is Ready

Size: 4 CFPEffort: 13 StP

Draft isReady

Size: 0 CFPEffort: 0 StP

ReviewDone

Size: 0 CFPEffort: 0 StP

Finalized

Size: 0 CFPEffort: 0 StP

Approved

Size: 2 CFPEffort: 8 StP

Size: 12 CFPEffort: 33 StP

Size: 0 CFPEffort: 0 StP

Waiting…

Size: 0 CFPEffort: 8 StP

Q002: Answer Questions

The Final Kanban Table

The Kanban table shows progress

Definition of Done according Six Steps to Completion

Backlog

Q001: Search Data

Q003: Keep Data Safe

Story Cards for Sprint #01 - Overture

Su

siH

eid

iF

ritz

Delivers FunctionalitySix Steps

to CompletionTest is Ready

Size: 4 CFPEffort: 13 StP

Draft isReady

Size: 0 CFPEffort: 0 StP

ReviewDone

Size: 0 CFPEffort: 0 StP

Finalized

Size: 0 CFPEffort: 0 StP

Approved

Size: 2 CFPEffort: 8 StP

Size: 12 CFPEffort: 33 StP

Size: 0 CFPEffort: 0 StP

Waiting…

Size: 0 CFPEffort: 8 StP

Q002: Answer Questions