how (fr)agilewe aremetrics in an Agile worldGaetano MazzantiGama-Tech
metricsgoals & proxies!
makemoneysurvivegoal #1
delivervaluetostakeholdersmakethemsuccessful/happy
successmeansdifferentthingstodifferent people
proxyvariablesindirectmeasures
typicalproxyvariablesefficiencyschedulevariancebudget# ofdefects
measurementaltersbehavior
which metrics?agilemetrics for a linear, deterministic worldtraditionalno metricscode & fixrigidprocesstop-downno processchaosorderedchaoticcomplex
product development is complex“self-organizing, non-linear,feedback systems areinherently unpredictablethey are not controllable“D.Meadows
however, we canwatch, learn and workwith the system
metricslearn & change
single loop learningresultsactionslead tohowwhich shape futureefficiencydoing things right incremental change
double loop learningresultsactionsvalues, assumptionsChris Argyrisguidehowwhylead to new/improved effectivenessdoing the right thingsefficiencydoing things right question assumptionsradical changeincremental change
learn, change,move onresultsactionsvalues, assumptionsdefinemetric*setexpirationdateresultok orexpirationdate passed?metric*shared, simple, controllable, transparent, time-bound
question assumptionsAgile/Leancommand & controlefficiencyfull capacityconform to planreduce variabilitylarge batcheslarge queuesaligned self-organizationfocus on valueoptimize flowembrace changereduce wastesmall batchesreduce queues
metricsquadrants &queues
metrics quadrants*BusinessLead TimeCycle TimeQuality of Service (SLA)ThroughputBusiness ValueRevenuesROICustomer SatisfactionBugsProductProcessWIPCadenceCI FailuresReworkImpedimentsRetrospectivesReviewsMoraleCode QualityTechnical DebtTest Coverage*thanks toMatteoVaccariPaolo PerrottaFabio ArmaniTeam Maturity
metrics quadrants*Businesswhat!?no velocity?Lead TimeCycle TimeQuality of Service (SLA)ThroughputBusiness ValueRevenuesROICustomer SatisfactionBugsProductProcessWIPCadenceCI FailuresReworkImpedimentsRetrospectivesReviewsMoraleCode QualityTechnical DebtTest Coverage*thanks toMatteoVaccariPaolo PerrottaFabio ArmaniTeam Maturity
metrics quadrantsBusinessLead TimeCycle TimeQuality of Service (SLA)ThroughputBusiness ValueRevenuesROICustomer SatisfactionBugsProductProcessWIPCadenceCI FailuresReworkImpedimentsRetrospectivesReviewsMoraleCode QualityTechnical DebtTest CoveragefragileTeam Maturity
metrics quadrantsBusinessLead TimeCycle TimeQuality of Service (SLA)ThroughputBusiness ValueRevenuesROICustomer SatisfactionagileBugsProductProcessWIPCadenceCI FailuresReworkImpedimentsRetrospectivesReviewsMoraleCode QualityTechnical DebtTest CoveragefragileTeam Maturity
fragility     code quality  technical debtlack of advanced engineering practices(i.e. TDD, CI) => rework
code quality evolutiona short video
agilitybacklogto doin progressdone22
agilitybeing agile is not the goal,it’s a meanif 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 assignedat previous meetings# of WTFs?WTF!?WTF!?
backlogs & taskboardseverywheretasks/user storiesdefects/SLA ticketsimpedimentsaction items (reviews)newage based pruningkill olditems!old
queuesaddcycle timeriskvariabilityoverheadreducequalitymotivationstop starting start finishing
cumulative flow diagramarrivalsqueue size(WIP)cumulativequantitytime in queue(cycle time)departures(throughput)timesource: Donald Reinertsen
cumulative flow diagramincreasing queue sizeincreasing cycle timecycle timeWIPcumulativequantitytimesource: Donald Reinertsen
cumulative flow diagramWIP is a leading indicatorcycle timecumulativequantityWIPtimesource: Donald Reinertsen
cumulative flow diagramlarge batches large queuescumulativequantitytime
cumulative flow diagramsmall batches small queuescumulativequantitytimesource: Donald Reinertsen
cumulative flow diagramsmall batches continuous flowcumulativequantitytime
Kanban boardWIPthroughputcycletime =backlogto doin progressdone22cycle timeinspired by HenrikKniberg
no WIP limit -> queue!in progressreadybacklogto dodone23
no WIP limit -> queue!readybacklogto dodonein progress23flow= speed * density
Slack (%)optimize flowabsorb variation
cumulative flow diagrambacklogto doin progress# user storiescycle timeWIPthroughputdonetime
controlchartssource: SamuliHeljo
additional flowrelated metricsactive WIPtasks that are really in progress and not waiting around (#,%,% of time spent)buffered WIPtasks waiting to be handed-offprocess efficiencyactive time / cycle timetechnical debtWIP / standard WIP# of projects a person works in parallel
Happiness Indexniko-niko calendar
how long since?you talked to a customerlast useful retrospectiveyou learned something at workyour boss last freaked outlast critical bug316522daysdaysdaysweeksweek
and don’t forgetbus 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”
Gaetano MazzantiGama-Tech@mgaewsjinfo@gama-tech.net

How (fr)agile we are

Editor's Notes

  • #45 Simple, controllable