how (fr)agile we are metrics in an agile world gaetano mazzanti gama-tech

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

Upload: donald-walton

Post on 24-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

how (fr)agilewe are

metrics in an Agile world

Gaetano MazzantiGama-Tech

Page 2: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

metrics

goals & proxies

!

Page 3: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

goal #1make money

survive

Page 4: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

deliver value to stakeholders

make them successful/happy

Page 5: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

success meansdifferent things

to different people

Page 6: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

proxy variables

indirect measures

Page 7: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

typicalproxy variables

efficiencyschedule variance

budget# of defects

Page 8: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

measurementalters

behavior

Page 9: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 metrics in an Agile world Gaetano Mazzanti Gama-Tech

however, we canwatch, learn and work

with the system

Page 12: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

metrics

learn & change

Page 13: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

single loop learning

resultsactionshow

efficiencydoing things right

incremental change

lead to

which shape future

Page 14: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 in an Agile world Gaetano Mazzanti Gama-Tech

metrics

quadrants & queues

Page 18: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech
Page 19: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 in an Agile world Gaetano Mazzanti Gama-Tech

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 in an Agile world Gaetano Mazzanti Gama-Tech

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 in an Agile world Gaetano Mazzanti Gama-Tech

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 metrics in an Agile world Gaetano Mazzanti Gama-Tech

fragility

code quality

technical debt

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

Page 24: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

code quality evolution

a short video

Page 25: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

backlog to do in progress done2 2

agility

Page 26: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 metrics in an Agile world Gaetano Mazzanti Gama-Tech

backlogs & taskboardseverywhere

tasks/user storiesdefects/SLA ticketsimpedimentsaction items (reviews)

new

old

kill olditems!

age based pruning

Page 29: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

queues

addcycle time

riskvariabilityoverhead

reducequality

motivation

stop starting start finishing

Page 30: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 metrics in an Agile world Gaetano Mazzanti Gama-Tech

cumulative flow diagramincreasing queue sizeincreasing cycle time

time

cumulativequantity

WIP

cycle time

source: Donald Reinertsen

Page 32: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

cumulative flow diagramWIP is a leading indicator

time

cumulativequantity

WIP

cycle time

source: Donald Reinertsen

Page 33: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

cumulative flow diagramlarge batches large queues

time

cumulativequantity

Page 34: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

cumulative flow diagramsmall batches small queues

time

cumulativequantity

source: Donald Reinertsen

Page 35: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

cumulative flow diagramsmall batches continuous flow

time

cumulativequantity

Page 36: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 metrics in an Agile world Gaetano Mazzanti Gama-Tech

no WIP limit -> queue!

2 3readybacklog to do in progress done

Page 38: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

no WIP limit -> queue!

2 3readybacklog to do in progress done

flow = speed * density

Page 39: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

Slack (%)

optimize flowabsorb variation

Page 40: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 metrics in an Agile world Gaetano Mazzanti Gama-Tech

control charts

source: Samuli Heljo

Page 42: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 metrics in an Agile world Gaetano Mazzanti Gama-Tech

Happiness Index

Mon Tue Wed Thu Fri

Tom Anne Paul Joe Eva

niko-niko calendar

Page 44: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 metrics in an Agile world Gaetano Mazzanti Gama-Tech

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 metrics in an Agile world Gaetano Mazzanti Gama-Tech

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

“for every true onethousands are fake”

Page 47: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech
Page 48: How (fr)agile we are metrics in an Agile world Gaetano Mazzanti Gama-Tech

Gaetano Mazzanti

Gama-Tech@mgaewsj

[email protected]