46
how (fr)agile we are metrics in a complex world Gaetano Mazzanti Gama-Tech

How (fr)agile we are. ALE2011

Embed Size (px)

DESCRIPTION

Slides of my presentation at ALE2011

Citation preview

Page 1: How (fr)agile we are. ALE2011

how (fr)agilewe are

metrics in a complex world

Gaetano MazzantiGama-Tech

Page 2: How (fr)agile we are. ALE2011

no process chaos

agileagile

traditionaltraditional

code & fixcode & fixrigid process

top-down

ordered chaoticcomplex

no metrics

metrics for a linear, deterministic world

???

Page 3: How (fr)agile we are. ALE2011

product development is complex

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

inherently unpredictable,they are not controllable“

D.Meadows

Page 4: How (fr)agile we are. ALE2011

however, we canwatch, learn and work

with the system

Page 5: How (fr)agile we are. ALE2011

metrics

learn & change

Page 6: How (fr)agile we are. ALE2011

single loop learning

resultsactionshow

efficiencydoing things right

incremental change

lead to

which shape future

Page 7: How (fr)agile we are. ALE2011

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 8: How (fr)agile we are. ALE2011

learn, change, move on

resultsactionsvalues, assumptions

define metric*set expiration date

goal ok or expirationdate passed?

metric

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

Page 9: How (fr)agile we are. ALE2011

metrics

quadrants

Page 10: How (fr)agile we are. ALE2011

inward & outwardlooking metrics

R&DBusiness &

Other Stakeholders

inwardlooking

outwardloooking

boundary objects

feedback

Page 11: How (fr)agile we are. ALE2011

metric

boundary objects

boundary object [sociology]: something that helps different communities exchange ideas and information.could mean different things to different peoplebut allows coordination and alignment

businessR&D

Page 12: How (fr)agile we are. ALE2011

metrics quadrants

Team Maturity

Business

Product

Process

inward looking

outward looking

&feedback

Page 13: How (fr)agile we are. ALE2011

metrics quadrants

Team Maturity

Business

Product

Process

boundaryobjects

boundaryobjects

Page 14: How (fr)agile we are. ALE2011

metrics quadrants

Team Maturity

Business

Product

Process

fragilefragile

boundaryobjects

boundaryobjects

agileagile

Page 15: How (fr)agile we are. ALE2011

metrics quadrants

Team Maturity

Business

Product

Process

Page 16: How (fr)agile we are. ALE2011

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

Morale

WIPCadence

CI FailuresRework

ImpedimentsRetrospectives

Morale

RevenuesROI

Customer Satisfaction

RevenuesROI

Customer Satisfaction

Code QualityTechnical DebtTest Coverage

Code QualityTechnical DebtTest Coverage

Team Maturity

Business

Product

Process

Bugs?

Page 17: How (fr)agile we are. ALE2011

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

Morale

WIPCadence

CI FailuresRework

ImpedimentsRetrospectives

Morale

RevenuesROI

Customer Satisfaction

RevenuesROI

Customer Satisfaction

Code QualityTechnical DebtTest Coverage

Code QualityTechnical DebtTest Coverage

Team Maturity

Business

Product

Process

what!?no

velocity?

Bugs?

Page 18: How (fr)agile we are. ALE2011

fragility

code quality

technical debt

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

Page 19: How (fr)agile we are. ALE2011

code quality evolution

Page 20: How (fr)agile we are. ALE2011

code quality evolution

Page 21: How (fr)agile we are. ALE2011

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 22: How (fr)agile we are. ALE2011

impediments, retrospectives, reviews

# of questions answered

# of questions asked

# action items addressed

# action items assigned (at previous meetings)

# of WTFsWTF!?

WTF!?

?

Page 23: How (fr)agile we are. ALE2011

metrics

queues

Page 24: How (fr)agile we are. ALE2011

queues are bad

increasecycle time

riskvariabilityoverhead

reducequality

motivation

stop starting start finishing

Page 25: How (fr)agile we are. ALE2011

cumulative flow diagram

time in queue(cycle time)

queue size(WIP)

time

cumulativequantity

arrivals

departures(throughput)

source: Donald Reinertsen

Page 26: How (fr)agile we are. ALE2011

cumulative flow diagram WIP is a leading indicator

time

cumulativequantity

WIP

cycle time

Page 27: How (fr)agile we are. ALE2011

cumulative flow diagramlarge batches large queues

time

cumulativequantity

Page 28: How (fr)agile we are. ALE2011

cumulative flow diagramsmall batches small queues

time

cumulativequantity

Page 29: How (fr)agile we are. ALE2011

Kanban board

backlog to do in progress done2 3

cycle time

cycle time = WIPthroughput

Page 30: How (fr)agile we are. ALE2011

no WIP limit -> queue!

2 3readybacklog to do in progress done

Page 31: How (fr)agile we are. ALE2011

no WIP limit -> queue!

2 3readybacklog to do in progress done

flow = speed * density

Page 32: How (fr)agile we are. ALE2011

Slack (%)

optimize flowabsorb variation

Page 33: How (fr)agile we are. ALE2011

flow related metrics

active WIP - buffered WIPtasks that are really in progress – task waiting to be handed-off (#,%,% of time spent)

process efficiencyactive time / cycle time

BIPBugs In Process

technical debt WIP / standard WIP

# of projects a person works in parallel

Page 34: How (fr)agile we are. ALE2011

visualizing tasks dynamics

backlog to do in progress done2 4

1 2 3 4

days inactive task

Page 35: How (fr)agile we are. ALE2011

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

not so helpful?

Page 36: How (fr)agile we are. ALE2011

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

-4

-3

-2

-1

0

1

2

3

4

inout

single column dynamics

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 200

1

2

3

4

5

6

In Progress

WIP

Page 37: How (fr)agile we are. ALE2011

Kanban board dynamics

Page 38: How (fr)agile we are. ALE2011

control charts

source: Samuli Heljo

Page 39: How (fr)agile we are. ALE2011

metrics

easy but powerful

42

Page 40: How (fr)agile we are. ALE2011

Happiness Index

Mon Tue Wed Thu Fri

Tom Anne Paul Joe Eva

niko-niko calendar

feedback board

Page 41: How (fr)agile we are. ALE2011

Pizza Index

Pizza = Overtime => not goodSteve Denning

Page 42: How (fr)agile we are. ALE2011

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 43: How (fr)agile we are. ALE2011

and don’t forget

bus factor

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

Page 44: How (fr)agile we are. ALE2011

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

“for every true onethousands are fake”

Page 45: How (fr)agile we are. ALE2011
Page 46: How (fr)agile we are. ALE2011

Gaetano Mazzanti

Gama-Tech@mgaewsj

[email protected]