comparable simple actionable honest
TRANSCRIPT
From Vanity to Value: Metrics that Matter – Improving Lean and Agile, Kanban and ScrumDEV-B335
Steven BorgCo-Founder and Strategist, Northwest [email protected] @stevenborg
DEV-B335
Housekeeping
Steven Borg, Northwest [email protected]@stevenborg
Please don’t forget your evaluation!
Poorly thought through metrics
Not catching your flight home Airlines in the US
Hard hiking tripsPlanned economies
Losing your phone connection to customer service
Amazon
Getting great tech support… until bankruptcyGateway
Today’s Outline
Why Metrics“A Giant List of Metrics”Characteristics of a good metricVery Brief introduction to Kanban and ScrumMetrics for Scrum and KanbanOne Metric to Rule them AllCase Study
Metrics: The Bottom Line
Managers who don’t know how to measure what they want, settle for wanting what they can measure.
Russel Ackoff
“Capacity: How must stuff will fit.Throughput: How much stuff will flow.
They are not synonymous.”- Jim Benson
Some metricsDefect Metrics
Bugs per KNCSS / KLOC / Function Point / User StoryBug rates for release-to-releaseMTTR – Mean Time to RepairAverage fixed defects/working dayAverage reported defects/working dayDefects/testing timePost-release defect rates (and arrival pattern analysis)Number or percent of defective fixesDefect severityDefect cause and problem component analysisCompile failures and build/integration defectsNumber of system crashes sand hangs during stress and system testing
Some more metricsProject Metrics
Schedule Estimation Accuracy Effort Estimation Accuracy NCSS/developer month or LOC/developer monthPercent overtimeUtilization RateNumber of developersDev/Test ratioTotal CostCost per KLOC / Function Point / User Story / Story PointAverage engineering hours/fixed defectPercent completeEarned Value (Completed vs Committed)
Some more metricsCode Metrics
ComplexityCode coverage of unit testsCode coverage of manual testsCode churn over timeRequirement changesSize in function points / KLOC / User Stories / etc
Reliability Metrics# of failures per n hours of operationMTTFProbability of failure-free operations in a specified timeNumber of undiscovered bugs released to production
Some more metricsCustomer metrics
Bugs reported per user month% satisfied, % dissatisfiedOverall customer satisfaction Customer problem calls per month
Process MetricsEffectiveness of bug removalResponse time to fixBug density during testing phaseBug arrival pattern during testing phasePhase-based bug removal patternCode coverageRequirement Changes
Honest?Before
For i=1 To 10 Do Print i.ToString()Next i
After
Print 1.ToString()Print 2.ToString()Print 3.ToString()Print 4.ToString()Print 5.ToString()Print 6.ToString()Print 7.ToString()Print 8.ToString()Print 9.ToString()Print 10.ToString()
3x more productive?
Quality Metrics
Defect Removal EfficiencyWarning: Not always “simple”
Code CoverageWarning: Not always “honest”
Performance ProfilingWarning: Not always “actionable”
Test Cases per featureBugs per feature (bug density metrics)
Sizing Metrics
Lines of CodeWarning: Not always “honest”
Function PointsWarning: Not “simple”
Effort (in hours, days, weeks, etc)Warning: Not always “honest” or “comparable”
Story PointsWarning: Rarely “comparable”
Productivity Metrics
VelocityWarning: Not always “simple”
ThroughputLines of Code / Developer / Day
Warning on so many different levels
Quality*
Note: Defect Removal Efficiency is highly correlated with Productivity
So highly correlated it can often act as proxy metric for productivity
User Metrics
User satisfactionWarning: Not always “comparable”
Post-release bug countNumber of Help Desk callsWarning: Not always “honest”
Business Metrics
Schedule Estimation AccuracyWarning: Not always “honest”
Cost Estimation AccuracyWarning: Not always “honest”
Scope Estimation AccuracyWarning: Rarely “honest”
ROI Estimation AccuracyWarning: Rarely “simple”, Not always “honest”
Scrum Framework
Product Backlog
SprintBacklog
Sprint
1 – 4 weeks
24 hrs.
Daily Scrum
Working
software
Kanban Basics
Visualize workMake policies explicitLimit work in process (WIP)Focus on flowCommit to continuous improvement
Other Differences
ScrumTimeboxesOrdered backlogEstimationForecastingRemaining workVelocityCross-functional teams *Items sized to fit in sprintsWIP limited by sprintAdd to sprint by agreementScrum board reset each sprint
KanbanCadencesOrdering optionalEstimation optionalForecasting optionalCumulative flowLead timeSpecialists allowedNo item size requirementsWIP limited by stateAdd whenever capacity permitsKanban board persistent
Metrics for Scrum
VelocityBurndownWork CapacityCustomer AcceptanceAccuracy of Task EstimationAccuracy of Sprint CommitmentBusiness RevenueImpediment Impact per SprintDeveloper BurnoutTechnical Debt
Metrics for Kanban
Work In Process / Progress (WIP)Lead TimeCycle Time and Cycle Time DistributionThoughputBusiness RevenueFailure Demand Technical Debt
Lean and Agile Metrics Are Simple Focus is on fast software delivery
Feedback is king
Target high risks Market Risk vs Technical Risk
Problems with Slow Feedback
Introduce more work into the systemLong time between code and bug fix makes it harder for developerLong time between bug find and bug fix verification makes it harder for the testerAdded complexityMore context switching
Lowers overall productivityBuild the wrong thing
Recall: True Metrics vs Proxy Metrics
True MetricWhat you SHOULD measure
Proxy MetricWhat you CAN measure
Time to Feedback Proxy MetricsMTTR4 (Realize, Recover, Repair, Remediate)Work in ProcessQueue lengthLead time / Cycle timeCode CoverageMean time to customer feedbackTouch time vs Lead time
Time to Feedback ToolsExperimentsA/B testingCustomer interviewsPrototypes and PretotypesContinuous delivery (eg. canary releases, feature flags, etc)Unit TestingATDD and TDDCross functional teams
Speeding Time to Feedback
Time
Am
ou
nt
of
Work
Assigned Work (over time)
Completed Work (over time)
Speeding Time to Feedback
Time
Am
ou
nt
of
Work
Assigned Work (over time)
Completed Work (over time)Work In
Process
Speeding Time to Feedback
Time
Am
ou
nt
of
Work
Assigned Work (over time)
Completed Work (over time)
WIP
Speeding Time to Feedback
Time
Am
ou
nt
of
Work
Assigned Work (over time)
Completed Work (over time)
WIPAverage Lead Time
Speeding Time to Feedback
Time
Am
ou
nt
of
Work
Assigned Work (over time)
Completed Work (over time)
6 items
WIPAverage Lead Time
Speeding Time to Feedback
Time
Am
ou
nt
of
Work
Assigned Work (over time)
Completed Work (over time)
6 items
Average Lead TimeWIP
Executive Decision to Limit WIP
Speeding Time to Feedback
Time
Am
ou
nt
of
Work
Assigned Work (over time)
Completed Work (over time)
WIP’
3 items
Speeding Time to Feedback
Time
Am
ou
nt
of
Work
Assigned Work (over time)
Completed Work (over time)
WIP’
3 items
Average Lead Time’
Little’s Law – “Two Minutes of Math”
Time
Am
ou
nt
of
Work
Assigned Work (over time)
Completed Work (over time)
WIP
Delivery Rate
Average Lead Time
Little’s Law – “Two Minutes of Math”
Delivery Rate = Work-in-Progress ÷ Lead Time
implies
Lead Time = Work-in-Progress ÷ Delivery Rate
thus
WIP is a LEADING metric for Lead Time
M / M / 1/ ∞
Lead
Tim
e
Utilization % 100%
80%
Lower utilization can dramatically improve lead time and flow of value.
Håkan Forss @VisualWIPvisualWIP.codeplex.com
Story Status:Working: 19Waiting: 31Delivered:
10
Håkan Forss @VisualWIPvisualWIP.codeplex.com
Story Status:Working: 38Waiting: 12Delivered:
10
Håkan Forss @VisualWIPvisualWIP.codeplex.com
Story Status:Working: 13Waiting: 4Delivered:
Lots
Faster Feedback with No Additional Work
January February March April May0
10
20
30
40
50
60
8.472
11.862 11.237 10.378
14.787
Hours of Throughput Hours of Effort Efficiency?
Observations:Multitasking reduced dramatically (over 50%)Work in progress reduced by 30-40%Work waiting for sign-off reduced by over 80%Throughput of value increased dramatically
It’s your turn!
Steven Borg, Northwest [email protected]@stevenborgAnd please don’t forget your evaluation!
Questions?
DEV-B338 Better Together: Using Team Foundation Server and Visual Studio Online to Increase Agility
DEV-B206 Application Insights Overview: How to Keep Your Applications Available, Performing, and Succeeding
DEV-B317 Make Data-Driven Improvements to Your Application with Application Insights
DEV-B327 Deep Dive into Agile Planning for TFS 2013 and Visual Studio Online
DEV-B214 But, Is It Safe? A Closer Look at Visual Studio Online
DEV-B333 Cross-Platform Continuous Delivery with Release Management
DEV-B209 Best Practices for Using Open Source Software in the Enterprise
DEV-B334 Using Git with Team Foundation Server or Visual Studio Online
Related content
Connect with peers: DevOps meet up on Thurs (30th) 14:30–15:30 @ IT Community Experts in the Resource Zone (Expo Hall 7)
DevOps sessions @ TEE http://aka.ms/techeddevops
Resources for Devshttp://aka.ms/teched-eu
Resources for IT Opshttp://aka.ms/devopstl
Join the DevOps Insiders Group [email protected]
DevOps Resources
http://www.visualstudio.com
http://blogs.msdn.com/b/developer-tools/
http://msdn.microsoft.com/vstudio
DEV Track Resources
visualstudio
@visualstudio
visualstudio
Claim your Visual Studio Online domainMSDN subscribers, activate your Azure benefits now
Simply get started @ http://aka.ms/teched-eu
Resources
Learning
Microsoft Certification & Training Resources
www.microsoft.com/learning
TechNet
Resources for IT Professionals
http://microsoft.com/technet
Sessions on Demand
http://channel9.msdn.com/Events/TechEd
Developer Network
http://developer.microsoft.com
Please Complete An Evaluation FormYour input is important!TechEd Schedule Builder CommNet station or PC
TechEd Mobile appPhone or Tablet
QR code
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.