velocity is not the goal - pnsqc
Post on 17-Oct-2014
1.146 views
DESCRIPTION
Updated version of this talk as presented at Pacific Northwest Software Quality Conference in 2012. This is a longer version, including content on scatter diagrams and standard deviation.TRANSCRIPT
Agile Metrics:Velocity is Not the
Goal.Michael “Doc” Norton ◊ @DocOnDev ◊ [email protected]
Work units delivered over timeWhat’s “Agile” Velocity?
Tells us about the health of the projectTrailing Indicator
Planning ByVelocity
Velocity Graph
0
6
12
18
24
30
1 2 3 4 5 6 7 8 9 10
25
2827
2829
28
24
28
30
27
Velocity
Yesterday’s Weather
0
6
12
18
24
30
1 2 3 4 5 6 7 8 9 10
30 25 28 27 28 29 28 24 28 30
25
2827
2829
28
24
28
30
27
Weather Actual
Burn Down
0
125
250
375
500
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Ideal Actual Estimate
Rolling Average
0
6
12
18
24
30
1 2 3 4 5 6 7 8 9 10
30 25 27 27 28 28 28 26 27 2730 25 28 27 28 29 28 24 28 30
25
2827
2829
28
24
28
30
27
Weather Rolling Actual
Burn Down
0
125
250
375
500
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Ideal Actual Estimate
Do you feelConfident?
StandardDeviation
Standard Deviation Basics
?
Standard Deviation Basics
Standard Deviation Basics
Calculate the mean (average) of the population
Compute the difference of each data point from
the mean, and square the result of each
Compute the average of these values, and take
the square root
Calculate the mean
0
6
12
18
24
30
1 2 3 4 5 6 7 8 9 10
25
2827
2829
28
24
28
30
27
Velocity
(25+28+27+28+29+28+24+28+30+27)/10 = 27.4
Take differences and square
0
6
12
18
24
30
1 2 3 4 5 6 7 8 9 10
25
2827
2829
28
24
28
30
27
Velocity
(25-27.4)**2 = (-2.4)**2 = 5.76(28-27.4)**2 = (0.6)**2 = 0.36(27-27.4)**2 = (-0.4)**2 = 0.16(28-27.4)**2 = (0.6)**2 = 0.36(29-27.4)**2 = (1.6)**2 = 2.56
(28-27.4)**2 = (0.6)**2 = 0.36(24-27.4)**2 = (-3.4)**2 = 11.56(28-27.4)**2 = (0.6)**2 = 0.36(30-27.4)**2 = (2.6)**2 = 6.76(27-27.4)**2 = (-0.4)**2 = 0.16
(25+28+27+28+29+28+24+28+30+27)/10 = 27.4
Square root of difference avg.
0
6
12
18
24
30
1 2 3 4 5 6 7 8 9 10
25
2827
2829
28
24
28
30
27
Velocity
(25-27.4)**2 = (-2.4)**2 = 5.76(28-27.4)**2 = (0.6)**2 = 0.36(27-27.4)**2 = (-0.4)**2 = 0.16(28-27.4)**2 = (0.6)**2 = 0.36(29-27.4)**2 = (1.6)**2 = 2.56
(28-27.4)**2 = (0.6)**2 = 0.36(24-27.4)**2 = (-3.4)**2 = 11.56(28-27.4)**2 = (0.6)**2 = 0.36(30-27.4)**2 = (2.6)**2 = 6.76(27-27.4)**2 = (-0.4)**2 = 0.16
(25+28+27+28+29+28+24+28+30+27)/10 = 27.4
(2.84)**1/2 = 1.685
Standard Deviation
0
6
12
18
24
30
1 2 3 4 5 6 7 8 9 10
25
2827
2829
28
24
28
30
27
Velocity
1.685
Burn Down :: 1SD
0
125
250
375
500
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Ideal Actual Estimate High Low
Burn Down :: 2SD
0
125
250
375
500
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Ideal Actual Estimate High Low
Same Mean, Same Rolling, Different DeviationStandard Deviation
Set: 10,11,9,10Mean: 10Rolling: 10Deviation: 0.7Velocity: 9.3-10.7
Set: 10,14,9,7Mean: 10Rolling: 10Deviation: 2.5Velocity: 7.5-12.5
Now you do it
6, 11, 12, 10, 8, 7Calculate the mean (average) of the population
Compute the difference of each data point from
the mean, and square the result of each
Compute the average of these values, and take
the square root
Calculate Standard Deviation & Predict Velocity
“You can’t manage what you can’t
measure”
Says Who?
Father of the Quality EvolutionDr. W. Edwards Deming
You can’t manage what
you can’t measure.
Father of the Quality EvolutionDr. W. Edwards Deming
Certainly NOTDon’t be ridiculous!
Running a company on visible figures
alone
[!" #$%#&']
Father of the Quality EvolutionDr. W. Edwards Deming
Lack of constancy of purposeEmphasis on short term profitsEvaluation of performance, merit rating, or annual reviewMobility of top managementRunning a company on visible figures alone
Excessive medical costsExcessive legal damage awards
Seven Deadly Diseasesof
Western Management
5at which is measured, will improveThe Hawthorn Effect
Rather than the symptomsRepair the root cause
What matters is not setting
quantitative goals but 6ing the method by
which th7e goals are attained
What does it mean?Unstable Velocity
You want consistent (small) storiesPoor Story Composition
Get the highest value done firstToo Much WIP
Get everyone you need on the teamDependency on Other Teams
It won’t ever be perfectStable Velocity
Do we always want to go faster?Increase Velocity
Making a metric a target destroys the metricGoodhart’s Law
Rather than the symptomsRepair the root cause
What matters is not setting
quantitative goals but 6ing the method by
which th7e goals are attained
ScatterDiagram
Shows Correlation Between Two VariablesScatter Diagrams
0
5000
10000
15000
20000
0 2 4 6 8
Velocity and Complexity
0
12.5
25
37.5
50
0 25 50 75 100
Negative Correlation
Velocity and Value
0
12.5
25
37.5
50
0 10000 20000 30000 40000
No Correlation
Velocity and Test Coverage
0
12.5
25
37.5
50
0 22.5 45 67.5 90
P7itive Correlation
CumulativeFlow
Sample Backlog
Velocity doesn’t always tell us enoughCumulative Flow
What story does this tell?Velocity Graph
0
5
10
15
20
1 2 3 4 5 6 7 8 9 10
Velocity
What story does this tell?Velocity Graph
0
5
10
15
20
1 2 3 4 5 6 7 8 9 10
Velocity
What story does this tell?Cumulative Flow
0
25
50
75
100
1 2 3 4 5 6 7 8 9 10
Deployed Ready for Approval In Testing In Progress Ready To Start
WhatElse?
Watch more than oneBalanced Metrics
0
4
8
12
16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Velocity
Watch more than oneBalanced Metrics
0
4
8
12
16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 150
12.5
25
37.5
50
Velocity Quality
Watch more than oneBalanced Metrics
0
4
8
12
16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 150
12.5
25
37.5
50
Velocity Quality Avg. Hours
Watch more than oneBalanced Metrics
0
4
8
12
16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 150
12.5
25
37.5
50
Velocity Quality Avg. Hours Team Joy
Thank You
Michael “Doc” Norton ◊ @DocOnDev ◊ [email protected]