how (fr)agile we are

48
how (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

Upload: gaetano-mazzanti

Post on 15-Jan-2015

2.181 views

Category:

Technology


3 download

DESCRIPTION

my presentation about Agile metrics at Better Software 2011

TRANSCRIPT

Page 1: How (fr)agile we are

how (fr)agilewe are

metrics in an Agile world

Gaetano MazzantiGama-Tech

Page 2: How (fr)agile we are

metrics

goals & proxies

!

Page 3: How (fr)agile we are

goal #1make money

survive

Page 4: How (fr)agile we are

deliver value to stakeholders

make them successful/happy

Page 5: How (fr)agile we are

success meansdifferent things

to different people

Page 6: How (fr)agile we are

proxy variables

indirect measures

Page 7: How (fr)agile we are

typicalproxy variables

efficiencyschedule variance

budget# of defects

Page 8: How (fr)agile we are

measurementalters

behavior

Page 9: How (fr)agile we are

no process chaos

agileagile

traditionaltraditional

code & fixcode & fixrigid process

top-down

ordered chaoticcomplex

no metrics

metrics for a linear, deterministic world

which metrics?

Page 10: How (fr)agile we are

product development is complex

“self-organizing, non-linear,feedback systems are

inherently unpredictablethey are not controllable“

D.Meadows

Page 11: How (fr)agile we are

however, we canwatch, learn and work

with the system

Page 12: How (fr)agile we are

metrics

learn & change

Page 13: How (fr)agile we are

single loop learning

resultsactionshow

efficiencydoing things right

incremental change

lead to

which shape future

Page 14: How (fr)agile we are

double loop learning

resultsactionsvalues, assumptions

why

effectivenessdoing the right things

question assumptionsradical change

guide

lead to new/improved

efficiencydoing things right

incremental change

how

Chris Argyris

Page 15: How (fr)agile we are

learn, change, move on

resultsactionsvalues, assumptions

define metric*set expiration date

result ok or expirationdate passed?

metric

*shared, simple, controllable, transparent, time-bound

Page 16: How (fr)agile we are

question assumptions

command & control

efficiencyfull capacityconform to planreduce variability

large batcheslarge queues

aligned self-organization

focus on valueoptimize flowembrace changereduce waste

small batchesreduce queues

Agile/Lean

Page 17: How (fr)agile we are

metrics

quadrants & queues

Page 18: How (fr)agile we are
Page 19: How (fr)agile we are

metrics quadrants*

Lead TimeCycle Time

Quality of Service (SLA)Throughput

Business Value

Lead TimeCycle Time

Quality of Service (SLA)Throughput

Business Value

WIPCadence

CI FailuresRework

ImpedimentsRetrospectives

ReviewsMorale

WIPCadence

CI FailuresRework

ImpedimentsRetrospectives

ReviewsMorale

RevenuesROI

Customer Satisfaction

RevenuesROI

Customer Satisfaction

Code QualityTechnical DebtTest Coverage

Code QualityTechnical DebtTest Coverage

Team Maturity

Business

Product

Process

Bugs

*thanks toMatteo VaccariPaolo PerrottaFabio Armani

Page 20: How (fr)agile we are

metrics quadrants*

Lead TimeCycle Time

Quality of Service (SLA)Throughput

Business Value

Lead TimeCycle Time

Quality of Service (SLA)Throughput

Business Value

WIPCadence

CI FailuresRework

ImpedimentsRetrospectives

ReviewsMorale

WIPCadence

CI FailuresRework

ImpedimentsRetrospectives

ReviewsMorale

RevenuesROI

Customer Satisfaction

RevenuesROI

Customer Satisfaction

Code QualityTechnical DebtTest Coverage

Code QualityTechnical DebtTest Coverage

Team Maturity

Business

Product

Process

Bugs

*thanks toMatteo VaccariPaolo PerrottaFabio Armani

what!?no

velocity?

Page 21: How (fr)agile we are

metrics quadrants

Lead TimeCycle Time

Quality of Service (SLA)Throughput

Business Value

Lead TimeCycle Time

Quality of Service (SLA)Throughput

Business Value

WIPCadence

CI FailuresRework

ImpedimentsRetrospectives

ReviewsMorale

WIPCadence

CI FailuresRework

ImpedimentsRetrospectives

ReviewsMorale

RevenuesROI

Customer Satisfaction

RevenuesROI

Customer Satisfaction

Code QualityTechnical DebtTest Coverage

Code QualityTechnical DebtTest Coverage

Team Maturity

Business

Product

Process

Bugs

fragilefragile

Page 22: How (fr)agile we are

metrics quadrants

Lead TimeCycle Time

Quality of Service (SLA)Throughput

Business Value

Lead TimeCycle Time

Quality of Service (SLA)Throughput

Business Value

WIPCadence

CI FailuresRework

ImpedimentsRetrospectives

ReviewsMorale

WIPCadence

CI FailuresRework

ImpedimentsRetrospectives

ReviewsMorale

RevenuesROI

Customer Satisfaction

RevenuesROI

Customer Satisfaction

Code QualityTechnical DebtTest Coverage

Code QualityTechnical DebtTest Coverage

Team Maturity

Business

Product

Process

Bugs

fragilefragile

agileagile

Page 23: How (fr)agile we are

fragility

code quality

technical debt

lack of advanced engineering practices(i.e. TDD, CI) => rework

Page 24: How (fr)agile we are

code quality evolution

a short video

Page 25: How (fr)agile we are

backlog to do in progress done2 2

agility

Page 26: How (fr)agile we are

agility

being agile is not the goal,it’s a mean

if you are really interested there are plenty of agility tests on the Internet:Nokia TestScrum Open Assessment - ScrumAllianceAgile Maturity ModelAgile Evaluation FrameworkComparative Agility Assessmentetc.

Page 27: How (fr)agile we are

impediments, retrospectives, reviews

# of questions answered

# of questions asked

# action items addressed

# action items assigned at previous meetings

# of WTFsWTF!?

WTF!?

?

Page 28: How (fr)agile we are

backlogs & taskboardseverywhere

tasks/user storiesdefects/SLA ticketsimpedimentsaction items (reviews)

new

old

kill olditems!

age based pruning

Page 29: How (fr)agile we are

queues

addcycle time

riskvariabilityoverhead

reducequality

motivation

stop starting start finishing

Page 30: How (fr)agile we are

cumulative flow diagram

time in queue(cycle time)

queue size(WIP)

time

cumulativequantity

arrivals

departures(throughput)

source: Donald Reinertsen

Page 31: How (fr)agile we are

cumulative flow diagramincreasing queue sizeincreasing cycle time

time

cumulativequantity

WIP

cycle time

source: Donald Reinertsen

Page 32: How (fr)agile we are

cumulative flow diagramWIP is a leading indicator

time

cumulativequantity

WIP

cycle time

source: Donald Reinertsen

Page 33: How (fr)agile we are

cumulative flow diagramlarge batches large queues

time

cumulativequantity

Page 34: How (fr)agile we are

cumulative flow diagramsmall batches small queues

time

cumulativequantity

source: Donald Reinertsen

Page 35: How (fr)agile we are

cumulative flow diagramsmall batches continuous flow

time

cumulativequantity

Page 36: How (fr)agile we are

Kanban board

backlog to do in progress done2 2

cycle time

cycle time = WIPthroughput

inspired by Henrik Kniberg

Page 37: How (fr)agile we are

no WIP limit -> queue!

2 3readybacklog to do in progress done

Page 38: How (fr)agile we are

no WIP limit -> queue!

2 3readybacklog to do in progress done

flow = speed * density

Page 39: How (fr)agile we are

Slack (%)

optimize flowabsorb variation

Page 40: How (fr)agile we are

0

5

10

15

20

25

30

35

BacklogTo DoIn ProgressDone

cumulative flow diagram

WIP

cycle time

done

in progress

to do

backlog

time

# u

ser

stor i

es

throughput

Page 41: How (fr)agile we are

control charts

source: Samuli Heljo

Page 42: How (fr)agile we are

additional flowrelated metrics

active WIPtasks that are really in progress and not waiting around (#,%,% of time spent)

buffered WIPtasks waiting to be handed-off

process efficiencyactive time / cycle time

technical debt WIP / standard WIP

# of projects a person works in parallel

Page 43: How (fr)agile we are

Happiness Index

Mon Tue Wed Thu Fri

Tom Anne Paul Joe Eva

niko-niko calendar

Page 44: How (fr)agile we are

how long since?

you talked to a customer

last useful retrospective

you learned something at work

your boss last freaked out

last critical bug

52days

6weeks

2days

3days

1week

Page 45: How (fr)agile we are

and don’t forget

bus factor

# of key developers that need to be hit by a bus to kill a project

Page 46: How (fr)agile we are

“per una veramille sono finte”F. De André

“for every true onethousands are fake”

Page 47: How (fr)agile we are
Page 48: How (fr)agile we are

Gaetano Mazzanti

Gama-Tech@mgaewsj

[email protected]