Post on 12-Apr-2017
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 Fritz.Wunderlich@concertgebouw.nl 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 thomas.fehlmann@e-p-o.com Expert
Blönz Beat Lönz Administrator
Paul Paul Lewis Paul.Lewis@birmingham.co.uk 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: info@e-p-o.com
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: info@e-p-o.com
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
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