how (fr)agile we are
DESCRIPTION
my presentation about Agile metrics at Better Software 2011TRANSCRIPT
how (fr)agilewe are
metrics in an Agile world
Gaetano MazzantiGama-Tech
metrics
goals & proxies
!
goal #1make money
survive
deliver value to stakeholders
make them successful/happy
success meansdifferent things
to different people
proxy variables
indirect measures
typicalproxy variables
efficiencyschedule variance
budget# of defects
measurementalters
behavior
no process chaos
agileagile
traditionaltraditional
code & fixcode & fixrigid process
top-down
ordered chaoticcomplex
no metrics
metrics for a linear, deterministic world
which metrics?
product development is complex
“self-organizing, non-linear,feedback systems are
inherently unpredictablethey are not controllable“
D.Meadows
however, we canwatch, learn and work
with the system
metrics
learn & change
single loop learning
resultsactionshow
efficiencydoing things right
incremental change
lead to
which shape future
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
learn, change, move on
resultsactionsvalues, assumptions
define metric*set expiration date
result ok or expirationdate passed?
metric
*shared, simple, controllable, transparent, time-bound
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
metrics
quadrants & queues
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
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?
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
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
fragility
code quality
technical debt
lack of advanced engineering practices(i.e. TDD, CI) => rework
code quality evolution
a short video
backlog to do in progress done2 2
agility
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.
impediments, retrospectives, reviews
# of questions answered
# of questions asked
# action items addressed
# action items assigned at previous meetings
# of WTFsWTF!?
WTF!?
?
backlogs & taskboardseverywhere
tasks/user storiesdefects/SLA ticketsimpedimentsaction items (reviews)
new
old
kill olditems!
age based pruning
queues
addcycle time
riskvariabilityoverhead
reducequality
motivation
stop starting start finishing
cumulative flow diagram
time in queue(cycle time)
queue size(WIP)
time
cumulativequantity
arrivals
departures(throughput)
source: Donald Reinertsen
cumulative flow diagramincreasing queue sizeincreasing cycle time
time
cumulativequantity
WIP
cycle time
source: Donald Reinertsen
cumulative flow diagramWIP is a leading indicator
time
cumulativequantity
WIP
cycle time
source: Donald Reinertsen
cumulative flow diagramlarge batches large queues
time
cumulativequantity
cumulative flow diagramsmall batches small queues
time
cumulativequantity
source: Donald Reinertsen
cumulative flow diagramsmall batches continuous flow
time
cumulativequantity
Kanban board
backlog to do in progress done2 2
cycle time
cycle time = WIPthroughput
inspired by Henrik Kniberg
no WIP limit -> queue!
2 3readybacklog to do in progress done
no WIP limit -> queue!
2 3readybacklog to do in progress done
flow = speed * density
Slack (%)
optimize flowabsorb variation
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
control charts
source: Samuli Heljo
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
Happiness Index
Mon Tue Wed Thu Fri
Tom Anne Paul Joe Eva
niko-niko calendar
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
and don’t forget
bus factor
# of key developers that need to be hit by a bus to kill a project
“per una veramille sono finte”F. De André
“for every true onethousands are fake”