Metrics As A Learn And Change AgentPresentation Transcript
metrics as alearn and change agent Gaetano Mazzanti @mgaewsj Gama-Tech
as an agile coach I am often asked todefine/introduce KPIs “why?”
Case 1 “uhm, ehm, weneed to measure code & fixif and how muchwe are improving” no process chaos
*typicallyfor performance appraisals Case 2 “we need to measure traditional if and how much we are improving;rigid process top-down company policies enforce using KPIs*”
unfortunately things arenot so simple and linear
systems: some definitions system any network that has coherence, it may be fuzzy, it may have purpose agent anything which acts within the system: individual, group, idea, etc.ordered complex chaotic
complex system lightly constrains agents agents modify system by their interaction with it and each other, they co-evolveorderedsystem constrains agents chaotic agents underconstrained & independent of each otherordered complex chaotic
no metrics code & fix no process chaosordered complex chaotic
metrics for a linear,deterministic world no metrics traditional code & fix rigid process top-down no process chaos ordered complex chaotic
??? agilemetrics for a linear,deterministic world no metrics traditional code & fix rigid process top-down no process chaos ordered complex chaotic
complex systems exhibit one or more properties (behavior) not obvious from the properties of the individual interconnected parts they are composed of
product development is complex“self-organizing, non-linear, feedback systems are inherently unpredictable, they are not controllable“ D.Meadows
so what are wesupposed to do?
we canwatch, learn and work with the system
metricslearn & change
how?
loop!
PDCA Loop planact do check Shewhart & Deming
OODA Loopobserve orient act decide J.Boyd
LeanStartup Loop Ideas Learn Build Data Product are we building the right product? Measure E.Ries
when loopingminimize total time through the looplearn fastfail fast! “biggest failure is failure to learn” (M.Poppendieck)
single loop learning lead to actions results how which shape future efficiency doing things right incremental change
single loop drawbacks uncertainty emerging information unexpected impediments delays plan defects more detailed planning rigid change management overburden (waste)
double loop learning Chris Argyris guide values, actions results assumptions how whystepoutsidethesystem! lead to new/improvedeffectiveness efficiencydoing the right things doing things rightquestion assumptions incremental changeradical change
timebound metrics learn, change, move on define metric* set expiration date goal ok or values, expiration actions results assumptions date passed?*actionable, accessible, auditable, time-bound
do not focus on the metric itself, it is just a mean to understand/learn and changemeasures have value only if they inform decisions or motivate action
be carefulhow do you know that the results you are seeing are related to the changes you have made?how do you know you are learning correctly from those changes?
what’s going on?openbugs time
“bugs show lack of quality not itspresence” Gojko Adzicremoving what you don’t want (i.e. bugs)does not imply getting what you do want
some hintsmeasure what scares youmeasure outcome not outputi.e.how much value created vs how many stories donedefects trending down vs how many unit tests created
but stillorganizations want to measure individuals=> people game metrics⇒ “if you do X I will give you Y”reduces motivation1) no autonomy: feeling controlled by who gives rewards2) being payed for doing something: may imply it’s not worth doing for its own sake
Hawthorne Effect
how to avoid this?no bonus, appraisals, etc.shared goals (let the team find how to reach them)visualize feedback as informational and not controllinggive unexpected rewardsif you really have, let the team do individual appraisals
metricsquadrants
inward & outwardlooking metrics inward outward looking loooking feedback Business & R&D Other Stakeholders boundary objects
boundary objects R&D business metricboundary object [sociology]: something that helpsdifferent communities exchange ideas and information.could mean different things to different peoplebut allows coordination and alignment
metrics quadrants Business outward looking & feedback ProductProcess inward looking Team Maturity
metrics quadrants Business boundary objects ProductProcess Team Maturity
metrics quadrants Business boundary objects ProductProcess agile fragile Team Maturity
metrics quadrants Business ProductProcess Team Maturity
metrics quadrants Business Lead Time Revenues Cycle Time Quality of Service (SLA) ROI Customer SaHsfacHon Throughput Business Value ProductProcess Bugs? WIP Cadence CI Failures Code Quality Rework Technical Debt Impediments Test Coverage RetrospecHves Morale Team Maturity
metrics quadrants Business what!? no Lead Time Revenues velocity? Cycle Time Quality of Service (SLA) ROI Customer SaHsfacHon Throughput Business Value Product Process Bugs? WIP Cadence CI Failures Code Quality Rework Technical Debt Impediments Test Coverage RetrospecHves Morale Team Maturity
agilitybeing agile is not the goal,it’s a meanif you are really interested there areplenty 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 WTFs WTF!? WTF!?
metricsqueues
queues are badincrease reducecycle time quality risk motivationvariability overhead stop starting start finishing
cumulative flow diagram arrivals queue sizecumulative (WIP) quantity time in queue departures (cycle time) (throughput) time source: Donald Reinertsen
cumulative flow diagram WIP is a leading indicator cycle timecumulative WIP quantity time
cumulative flow diagram large batches large queuescumulative quantity time
cumulative flow diagram small batches small queuescumulative quantity time
Kanban board if you can’t see it you can’t manage itbacklog to do in progress done 2 3 WIP cycle time = throughput cycle time
no WIP limit -> queue!backlog to do ready in progress done 2 3
slack (%) optimize flow absorb variation
flow related metricsactive WIP - buffered WIPtasks that are really in progress – taskwaiting to be handed-off (#,%,% of timespent)process efficiencyactive time / cycle timetechnical debt WIP / standard WIP# of projects a person works in parallel(should be 1!!!)
visualizing tasks dynamicsbacklog to do in progress done 2 41 2 3 4 days inactive task
cumulative flow diagram 35 not so helpful? 30 25 backlog Backlog 20 # user stories to do To Do In Progress 15 in progress cycle time Done WIP 10 throughput done 5 0 time
Pizza IndexPizza = Overtime => not good Steve Denning
how long since? you talked to a customer last useful retrospective you learned something at work your boss last freaked out last critical bug6weeks 2 days 3 days 1 52 week days
and don’t forgetbus factor# of key developers that need to be hit by abus to kill a project
“for every true one “per una verathousands are fake” mille sono finte” F. De André
1–1 of 1 previous next