Upload
vutram
View
223
Download
0
Embed Size (px)
Citation preview
1
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions 3°International Conference on
IT Data collection, Analysis and Benchmarking
Florence (Italy) - October 19, 2015
Using the ISBSG Database in an Agile Project Context
Thomas M. Fehlmann, Zürich, Euro Project Office AG
E: [email protected] – H: www.e-p-o.com
2
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Dr. Thomas Fehlmann
l 1981: Dr. Math. ETHZ
l 1991: Six Sigma for Software Black Belt
l 1999: Euro Project Office AG, Zürich
l 2001: Akao Price 2001 for original contributions to QFD
l 2003: SwissICT Expert for Software Metrics, ICTscope.ch
l 2004: Member of the Board QFD Institute Deutschland – QFD Architect
l 2007: CMMI for Software – Level 4 & 5
l 2011: Net Promoter® Certified Associate
l 2012: Member of the DASMA Board
l 2013: Vice-President ISBSG
l 1981: Dr. Math. ETHZ
l 1991: Six Sigma for Software Black Belt
l 1999: Euro Project Office AG, Zürich
l 2001: Akao Price 2001 for original contributions to QFD
l 2003: SwissICT Expert for Software Metrics, ICTscope.ch
l 2004: Member of the Board QFD Institute Deutschland – QFD Architect
l 2007: CMMI for Software – Level 4 & 5
l 2011: Net Promoter® Certified Associate
l 2012: Member of the DASMA Board
l 2013: Vice-President ISBSG
Dr. Thomas Fehlmann
3
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Predictive Projects = Waterfall?
l Traditional project development
has become the “enemy” called
Waterfall l The inspector stays on the bridge
crossing the waterfall and
assesses progress
l Who’s afraid from the
Big Bad Inspector???!?
Definition
Analysis
Design
Install
Operate
Implement
4
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
The Wonderful New World of Agile l 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.
5
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Scrum Development Cycle
Product Backlog “User Stories”
Sprint Backlog “Work Items”
Sprint Work Increment of finished software
10 day
24h
Independent Testing
pass fail
6
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
39 Entry (E) + 45 eXit (X) + 12 Read (R) + 14 Write (W) = 110 CFP
Traveler Get SIM Certificate Mobile Phone SIM Card SIM CertificatesTelecom User
Management User ID Payment Service
1.// Request Certificate
Get Certifcate
2.// SIM Certificate
3.// Identification
4.// Telecom Clearance
5.// No Valid Certificate
6.// Phone Connected?
7.// Device ID
8.// Ask for Subscriber ID
9.// Return Subscriber ID
10.// Read Subscriber ID
11.// Read Device ID
12.// Ask for PIN Code
13.// Enter PIN Code
14.// Ask for clearance
Why Predictive ≠ Waterfall
l What do you need to predict?
Functionality? No…, it’s evolving
Cost, Yes!
l How many Sprints are needed?
Product Backlog “User Stories”
Sprint Backlog “Work Items”
Sprint Work Increment of finished software
10 day
24h
Independent Testing
pass fail
7
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Predict Cost!
l You need to know
Velocity
Team Size
Sprints Needed
l Cost = Team Size * Sprints needed * Salaries
l Vision & Goals?
When are Goals Reached?
How do we know the
Project is Finished?
l In what units?
Functional Size per Sprint
Person Days per Sprint
Number of Sprints
8
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Definitions
l ISBSG = International Software Benchmarking Standards Group
l FSU = Functional Size Units (IFPUG, COSMIC, etc.)
CFP = COSMIC Function Points
IFP = IFPUG Function Points
l PDR = Project Delivery Rate in Hours per FSU
l StP = Story Points, as defined by the team (project-specific)
l sPDR = Story Point Delivery Rate: the number of story points per FSU
l PD = Person Days; 1 day = 8 hours
l PWE = Project Work Effort, measured in Sprints, or sometime still in PDs
Includes Definition, Analysis, Design, Implementation, Test and Installation as well as
project management and project administration loads
l Velocity = FSU delivered per Sprint
9
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
The ISBSG Data Portal – Entrance
10
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
The ISBSG Data Portal – Search for Projects
11
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
The ISBSG Data Portal – Search Results
12
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
The ISBSG Data Portal – Project Details
4.25
4.25
13
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Set Vision and Goals: Sample Helpdesk Project
l A Transportation Company asked customers what they expect from a helpdesk
Net Promoter Score analysis unveiled five major business drivers responsible for
attractiveness of using the helpdesk in case of any service interruption or difficulties
Improvements are dearly needed…
Involving Software as well as Services
Topics Attributes Priority
a) Helpdesk BD1 Responsiveness Fast Response Few Selections Known Issue 0.34
BD2 Be Compelling Able to resolve issue Committed to help Knowledgeable 0.44
BD3 Friendliness Keeps calm Unagitated Cool 0.41
b) Software BD4 Personalization Knows who's calling Knows travel plans Knows delays 0.64
BD5 Competence Can figure out solution According my preferences 0.33
Business Drivers
14
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Functional User Requirements – Vision Count
39 Entry (E) + 45 eXit (X) + 12 Read (R) + 14 Write (W) = 110 CFP
Traveler Get SIM Certificate Mobile Phone SIM Card SIM CertificatesTelecom User
Management User ID Payment Service
1.// Request Certificate
Get Certifcate
2.// SIM Certificate
3.// Identification
4.// Telecom Clearance
5.// No Valid Certificate
6.// Phone Connected?
7.// Device ID
8.// Ask for Subscriber ID
9.// Return Subscriber ID
10.// Read Subscriber ID
11.// Read Device ID
12.// Ask for PIN Code
13.// Enter PIN Code
14.// Ask for clearance
This extract shows how
Telecom provides Identity
Services for Travelers
110
CFP
15
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Is that the Whole Story?
l Functional Requirements (FUR)
Represented by initial sequence
diagram – or any other kind of Epics
Cost per Function Point known
FUR do not describe
business goals
in project
l Non-functional Requirements (NFR)
NFR describe Business Goals indeed
No Database available for Benchmarking
Most NFR become functional over time!
16
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Non-Functional Requirements become Functional over Time
l In Agile, the transformation of NFR to FUR happens within each Sprint
Functional
Size growths
during the
Project
NFR can
be assessed
before project
start
Initial FUR
count is the
project vision
Predictive
counts require
NFR!
Outline FUR
Outline NFR
Detailed FUR
True NFR
Design & Definition
Build, Test & Implement
Implemented
System
Software
Hardware
System
Project
Other deliverables Requirements
Analysis
Approx-imate FUR
Size by analogy or expert judgement
Approx. COSMIC size measurement
Precise COSMIC size measurement
Source: COSMIC Guideline on Non-Functional & Project Requirements and Charles Symons 2014
17
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Initial Buglione-Trudel Matrix
BD5: Competence
BD4: Personalization
Functional Effectiveness
(ISO/IEC 19761)
0.02
BusinessDrivers
Business Driver Goal Profile /Achieved Response Profile
Story Cards
Convergence Gap
0.23
FunctionalStory Cards
BD1: Responsiveness
BD2: Be Compelling
User Stories
User StoryPriorities
BD3: Friendliness
Q001
Customer Story
Q002
Helpdesk Story
Q003
Enrollment Story Q004
Social Story
Q005
Get SIM Certificate
18
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Story Card for Helpdesk Story Test isReady
Draft isReady
ReviewDone
Final-ized
Appro-ved
Func-tional
Q002-02F: Get Additional Information2
Name:3
#03 - Adagio
Business Impact:
Functional Size:
Story Points:
Contact traveler and ask for additional information about his or her travel
needs
Sprint:
Peter
As a Helpdesk staff, I want to identify a client without having to ask for the
name or get credentials, regardless whether calling by phone, sending e-
mail, or when chatting, such that I can charge service fees or ticket sold
according the clients’ preferred payment method, so that in case of urgency I
can help more customers faster and more effectively
Traveler Helpdesk Story
35.// Respond to Traveler
36.// Traveler explains Situation
Functional and Non-Functional Story Cards
Story Card for Helpdesk Story Test isReady
Draft isReady
ReviewDone
Final-ized
Appro-ved
Func-tional
Q002-09Q: Apologies0
Name:8
#04 - Rondo
Business Impact:
Functional Size:
Story Points:
Find a way to express apologies in a personal way
Sprint:
Heidi
BD4: 6BD2: 1
As a Helpdesk staff, I want to identify a client without having to ask for the
name or get credentials, regardless whether calling by phone, sending e-
mail, or when chatting, such that I can charge service fees or ticket sold
according the clients’ preferred payment method, so that in case of urgency I
can help more customers faster and more effectively
19
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Final Buglione-Trudel Matrix
BD5: Competence
BD4: Personalization
Functional Effectiveness
(ISO/IEC 19761)
0.02
BusinessDrivers
Business Driver Goal Profile /Achieved Response Profile
Story Cards
Convergence Gap
0.03
FunctionalStory Cards
BD1: Responsiveness
BD2: Be Compelling
User Stories
User StoryPriorities
BD3: Friendliness
Q001
Customer Story
Q002
Helpdesk Story
Q003
Enrollment Story Q004
Social Story
Q005
Get SIM Certificate
20
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Business Impact Cards become Functional
l The “Apologies” Story Card becomes functional after involving the Customer Experience and the Legal department
Adding 9 CFP to the 110 CFP already agreed for basic functionality
Happens within the sprint “#04 – Rondo”
Unplanned, additional functionality resulting from an NFR
Story Card for Helpdesk Story Test isReady
Draft isReady
ReviewDone
Final-ized
Appro-ved
Func-tional
Q002-09Q: Apologies0
Name:8
#04 - Rondo
Business Impact:
Functional Size:
Story Points:
Find a way to express apologies in a personal way
Sprint:
Heidi
BD4: 6BD2: 1
As a Helpdesk staff, I want to identify a client without having to ask for the
name or get credentials, regardless whether calling by phone, sending e-
mail, or when chatting, such that I can charge service fees or ticket sold
according the clients’ preferred payment method, so that in case of urgency I
can help more customers faster and more effectively
21
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Initial and Final Metrics for Goals Reached
l Initial Coverage of Business Drivers l Final Coverage of Business Drivers
User Stories
Go
al P
rofi
le
Cus
tom
er S
tory
Hel
pdes
k S
tory
Enr
ollm
ent
Sto
ry
Soc
ial S
tory
Get
SIM
Cer
tific
ate
Ach
ieve
d P
rofi
le
Q00
1
Q00
2
Q00
3
Q00
4
Q00
5
BD1 Responsiveness 0.34 3 4 0.29
BD2 Be Compelling 0.44 6 4 3 3 0.52
BD3 Friendliness 0.41 6 3 3 6 0.56
BD4 Personalization 0.64 6 6 0.51
BD5 Competence 0.33 3 6 0.28
Solution Profile for User Stories 0.74 0.53 0.10 0.33 0.22 Convergence Gap
0.75 0.56 0.09 0.31 0.17 0.23
0.10 Convergence Range
0.20 Convergence Limit
Business DriversDeployment Combinator
Business Drivers
User Stories
Go
al P
rofi
le
Cus
tom
er S
tory
Hel
pdes
k S
tory
Enr
ollm
ent
Sto
ry
Soc
ial S
tory
Get
SIM
Cer
tific
ate
Ach
ieve
d P
rofi
le
Q00
1
Q00
2
Q00
3
Q00
4
Q00
5
BD1 Responsiveness 0.34 7 4 0.33
BD2 Be Compelling 0.44 7 4 3 3 0.44
BD3 Friendliness 0.41 6 3 3 6 0.42
BD4 Personalization 0.64 6 9 6 6 1 0.66
BD5 Competence 0.33 3 6 6 0.30
Solution Profile for User Stories 0.65 0.52 0.27 0.42 0.25 Convergence Gap
0.65 0.51 0.26 0.42 0.26 0.03
0.10 Convergence Range
0.20 Convergence Limit
Business DriversDeployment Combinator
Business Drivers
22
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
How predicting Cost of “Non-Functional” Requirements?
l QFD Workshop
Find a QFD Moderator
Get the Business Driver’s Goal Profile
• Ideally by Net Promoter Score
Collect the Experts
• Business
• Developers
Agree on a value 1 – 3 – 9 for each cell
indicating how much the User Story
impacts the respective Business Driver
Make sure the Convergence Gap closes
User Stories
Go
al P
rofi
le
Cus
tom
er S
tory
Hel
pdes
k S
tory
Enr
ollm
ent
Sto
ry
Soc
ial S
tory
Get
SIM
Cer
tific
ate
Ach
ieve
d P
rofi
le
Q00
1
Q00
2
Q00
3
Q00
4
Q00
5
BD1 Responsiveness 0.34 9 1 0.35
BD2 Be Compelling 0.44 9 3 3 0.44
BD3 Friendliness 0.41 3 3 3 9 0.42
BD4 Personalization 0.64 3 9 3 9 1 0.65
BD5 Competence 0.33 3 1 3 3 3 0.30
Solution Profile for User Stories 0.63 0.51 0.23 0.45 0.30 Convergence Gap
0.6 0.5 0.2 0.4 0.3 0.03
0.10 Convergence Range Business Impact
0.20 Convergence Limit 81
User Stories Cost Prediction
Business Drivers
23
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
User Stories
Go
al P
rofi
le
Cus
tom
er S
tory
Hel
pdes
k S
tory
Enr
ollm
ent
Sto
ry
Soc
ial S
tory
Get
SIM
Cer
tific
ate
Ach
ieve
d P
rofi
le
Q00
1
Q00
2
Q00
3
Q00
4
Q00
5
BD1 Responsiveness 0.34 9 1 0.35
BD2 Be Compelling 0.44 9 3 3 0.44
BD3 Friendliness 0.41 3 3 3 9 0.42
BD4 Personalization 0.64 3 9 3 9 1 0.65
BD5 Competence 0.33 3 1 3 3 3 0.30
Solution Profile for User Stories 0.63 0.51 0.23 0.45 0.30 Convergence Gap
0.6 0.5 0.2 0.4 0.3 0.03
0.10 Convergence Range Business Impact
0.20 Convergence Limit 81
User Stories Cost Prediction
Business Drivers
Early Estimation by a QFD Workshop
l Result of QFD Workshop l Final Convergence Gap
after a few sprints
User Stories
Go
al P
rofi
le
Cus
tom
er S
tory
Hel
pdes
k S
tory
Enr
ollm
ent
Sto
ry
Soc
ial S
tory
Get
SIM
Cer
tific
ate
Ach
ieve
d P
rofi
le
Q00
1
Q00
2
Q00
3
Q00
4
Q00
5
BD1 Responsiveness 0.34 7 4 0.33
BD2 Be Compelling 0.44 7 4 3 3 0.44
BD3 Friendliness 0.41 6 3 3 6 0.42
BD4 Personalization 0.64 6 9 6 6 1 0.66
BD5 Competence 0.33 3 6 6 0.30
Solution Profile for User Stories 0.65 0.52 0.27 0.42 0.25 Convergence Gap
0.65 0.51 0.26 0.42 0.26 0.03
0.10 Convergence Range Business Impact
0.20 Convergence Limit 89
Business DriversDeployment Combinator
Business Drivers
24
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Predict Total Functionality Needed and thus Effort
l The Idea:
Do a QFD Workshop and count the total amount of correlation values in the matrix
l FUR count yields 110 CFP
Assume 4.25 PDR (h/CFP)
110 * 4.25 = 468 h
l 1 CFP = 2.0 Story Points
l 1 Story Point = 1 Impact
l NFR total for 81 Impacts
Therefore NFR add
81 * 2.0 = 162 CFP
This yields
4.25 * 162 689 h
l Total 468 h + 689 h = 1156 h
User Stories
Goal
Pro
file
Cust
omer
Sto
ry
Helpd
esk
Stor
y
Enro
llmen
t Sto
ry
Socia
l Sto
ry
Get S
IM C
ertif
icate
Achi
eved
Pro
file
Q001
Q002
Q003
Q004
Q005
BD1 Responsiveness 0.34 9 1 0.35
BD2 Be Compelling 0.44 9 3 3 0.44
BD3 Friendliness 0.41 3 3 3 9 0.42
BD4 Personalization 0.64 3 9 3 9 1 0.65
BD5 Competence 0.33 3 1 3 3 3 0.30
Solution Profile for User Stories 0.63 0.51 0.23 0.45 0.30 Convergence Gap
0.6 0.5 0.2 0.4 0.3 0.03
0.10 Convergence Range Business Impact
0.20 Convergence Limit 81
User Stories Cost Prediction
Business Drivers
Story Point
Delivery Rate
25
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Predict Total Functionality Needed and thus Cost
l The Idea:
Do a QFD Workshop and count the total amount of correlation values in the matrix
Somehow, they will correlate to the amount of functionality added by tasks imposed
by customer’s needs, to satisfy the business driver’s goal profile
Basic Functionality is counted the usual way using a standard
Functional Sizing Method
l The Problem:
How does work for business impact compare with PDR for functionality?
l The Solution:
Use the Team’s Story Points to “translate” Business Impact into FUR
Calibrate pure functional Story Cards with pure Impact Story Cards
39 Entry (E) + 45 eXit (X) + 12 Read (R) + 14 Write (W) = 110 CFP
Traveler Get SIM Certificate Mobile Phone SIM Card SIM CertificatesTelecom User
Management User ID Payment Service
1.// Request Certificate
Get Certifcate
2.// SIM Certificate
3.// Identification
4.// Telecom Clearance
5.// No Valid Certificate
6.// Phone Connected?
7.// Device ID
8.// Ask for Subscriber ID
9.// Return Subscriber ID
10.// Read Subscriber ID
11.// Read Device ID
12.// Ask for PIN Code
13.// Enter PIN Code
14.// Ask for clearance
User Stories
Goal
Pro
file
Cust
omer
Sto
ry
Helpd
esk
Stor
y
Enro
llmen
t Sto
ry
Socia
l Sto
ry
Get S
IM C
ertif
icate
Achi
eved
Pro
file
Q001
Q002
Q003
Q004
Q005
BD1 Responsiveness 0.34 9 1 0.35
BD2 Be Compelling 0.44 9 3 3 0.44
BD3 Friendliness 0.41 3 3 3 9 0.42
BD4 Personalization 0.64 3 9 3 9 1 0.65
BD5 Competence 0.33 3 1 3 3 3 0.30
Solution Profile for User Stories 0.63 0.51 0.23 0.45 0.30 Convergence Gap
0.6 0.5 0.2 0.4 0.3 0.03
0.10 Convergence Range Business Impact
0.20 Convergence Limit 81
User Stories Cost Prediction
Business Drivers
26
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Calibrating with Story Points
FUR
for Customer Needs
ISBSG Benchmark
Story Points by the Team
Business Impact
NFR
Total Estimate €
COSMIC Functional Size
27
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Conclusion
l Effort 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
l 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!
l It’s still benchmarking but at much better granularity, taking the team and the
environment into account
28
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Questions?
29
Customer
Orientation
Lean
Six Sigma
Agile
Processes
Project
Estimations
Transfer
Functions
Controlling Variations
FUR LT CN VoC
Voice of the Customer (VoC)
Competitive Analysis (LT)
User Stories (UC)
Functional User Requirement (FUR)
UC FUR
#Priority
#Market Share #NPS, #Kano
UC BD
Business Drivers (BD)
Non-Functional Functional