21 experiments to increase velocity
TRANSCRIPT
PowerPoint Presentation
21 Experiments to increase your Velocitywww.journey-to-better.com
What if
https://commons.wikimedia.org/wiki/File:Burned_laptop_secumem_11.jpg4
5
6
Lights out
7
Run to exit?
8
Chaos
http://ibsc.org.in/ - blue bottleneck9
Why?
10
Chaos in developmentRushingCompetingShifting goalsMisalignmentIndecisionShortcuts
11
@AndrewRuslingAgile Coach
12
14
TerminologyVelocity ~= Throughputwww.journey-to-better.com
15
Source of ExperimentsTwo TheoriesFour Principles21 Experimentswww.journey-to-better.com
16
Queuing Theorywww.journey-to-better.com
www.journey-to-better.com
18
Serious mathNot for todaywww.journey-to-better.com
Simple principlesTo increase velocity, reducewww.journey-to-better.com
UtilisationBatch SizeItem Size
System with VariabilityWhy reduce utilisation?www.journey-to-better.comVelocity
Cycle Time
Resource Utilisation
21
Tipping point
Utilisation0100Cycle TimeTipping PointSome examples:Computer CPUBuilding Fire ExitRoad
22
Tipping Point in actionwww.journey-to-better.com
Shockwave Traffic Jam Video Link: http://www.youtube.com/watch?v=Suugn-p5C1M23
Why reduce batch size?Littles Law
Avg. Cycle Time = Work In Progress (WIP)Avg. Velocity
www.journey-to-better.comVelocity
Cycle Time
WIP
Batch Size
24
Why reduce item size?www.journey-to-better.com
Velocity
Queue Size (WIP)
Item Size
Predictability
Bad VariabilityCycle Time
25
Improving freeway velocityImage by Atlantacitizen at the English language Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1811360
26
Reducing utilisation
www.journey-to-better.com
Image by: https://www.flickr.com/photos/highwaysagency/Radio messages SignsPromote Car PoolingPromote Public TransportTollsHigh Taxes and feesLimit access by registrationAdd more lanes
27
Reducing batch size
Image by: https://www.flickr.com/photos/29233640@N07/www.journey-to-better.comControl entry pointsStagger work timesMulti nucleolus city
28
Reducing item size
Image by: https://www.flickr.com/photos/null0/Replace Buses with Cars, Cars with Bikes.
www.journey-to-better.com
29
Queuing Theory is baked into agile & Scrumwww.journey-to-better.comGood news!Image by: https://www.flickr.com/photos/jeffreyww/
30
Queuing Theory in agileagile lowers Utilization byPromoting sustainable development.Customer collaboration.
agile lowers Batch Size byFocus on early delivery of Working Software.
agile lowers Item Size byFocus on simplicity & business feedback.
www.journey-to-better.comImage: http://www.agilemanifesto.org/
31
Queuing Theory in ScrumScrum lowers Utilization byTeam members 100% allocated.Team pulls in work to sprint.
Scrum lowers Batch Size bySprint length.
Scrum lowers Item Size byTime boxing & D.O.D. www.journey-to-better.com
32
Utilisation experimentsPull in less total Story Points (-20%)Commit to less team hours (-20%)Limit # of I.P. User Stories (p/2)Show requesters your Scrum board
33
Batch size experimentsSplit up Releases ()Split up Epics/Features (3 to 12)Shorten your Sprints (-1w)
34
Item Size ExperimentsSplit up your User Stories (# in sprint ~= p)Use SpikesPractice SimplicitySplit up your Tasks (max 1d)
35
To increase velocity:Lower UtilisationWork on smaller batchesWork on smaller itemsQueuing Theory Summarywww.journey-to-better.com
36
Theory of Constraintswww.journey-to-better.com
Taken by fir0002 | flagstaffotos.com.auCanon 20D + Canon 400mm f/5.6 L - Own work, GFDL 1.2, https://commons.wikimedia.org/w/index.php?curid=5305901Why add just one lane?
38
Why not replace them?
39
Focusing our effortswww.journey-to-better.comIdeaProcess A
Process BProcess CCustomer
A?B?C?A, B & C?Need more info?
Focusing our efforts5 units per week2 units per week3 units per weekwww.journey-to-better.comIdeaProcess A
Process BProcess CCustomer
A?B?C?A, B & C?Need more info?
41
Theory of Constraints (TOC)"a chain is no stronger than its weakest link
Improving strong links, does not strengthen the chain.
To achieve more of your goal, improve your weakest link.
www.journey-to-better.com
Five Focusing Steps
Constraint
Identify the constraintCheap changesAlign everyoneExpensive changesRepeat
43
Applying TOC in ScrumWe are going to:
Map team workflowPopulate a Scrum boardUse TOC to increase velocity
www.journey-to-better.com
44
BacklogAnalysisCodingReviewTestingAcceptDoneMap team workflowwww.journey-to-better.com
Backlog
AnalysisCodingReviewTestingAcceptDone
Populate with current statewww.journey-to-better.com
1. Identify the constraint
SymptomsWork waiting in front of the constraint.Resource is heavily stressed.Starvation downstream.www.journey-to-better.com
Constraint
47
Backlog
AnalysisCodingReviewTestingAcceptDone
Where is the constraint?www.journey-to-better.com
Backlog
AnalysisCodingReviewTestingAcceptDone
DoingReady
Split Testing column1st Possibilitywww.journey-to-better.com
Backlog
AnalysisCodingReviewTestingAcceptDone
DoingReady
Split Testing column2nd Possibilitywww.journey-to-better.com
Backlog
AnalysisCodingReviewTestingAcceptDone
DoingReadyDoingReadyDoingReadyDoingReady
Split all other columnswww.journey-to-better.com
2. Cheap ChangesSome experiments:Shield them from interruptions.Limit their WIP.Reduce their non value adding work.
No overtime!
www.journey-to-better.com
52
Backlog
AnalysisCodingReviewTestingAcceptDone
DoingReadyDoingReadyDoingReadyDoingReady
(5)Cheap ChangesLimit WIP in Testingwww.journey-to-better.com
Backlog
AnalysisCodingReviewTestingAcceptDone
DoingReadyDoingReadyDoingReadyDoingReady
(5)
Let it runConstraint remainswww.journey-to-better.com
3. Align everyone
Some experiments:Limit WIP of upstream to match.Upstream do preparation work.Upstream improve their quality.Pair upstream with constraint staff.www.journey-to-better.com
55
Backlog
AnalysisCodingReviewTestingAcceptDone
DoingReadyDoingReadyDoingReadyDoingReady
(5)
(5)(5)(5)Align everyoneMatch upstream WIP to constraintDevs do more test prep work.Dev-QA pairingwww.journey-to-better.com
Backlog
AnalysisCodingReviewTestingAcceptDone
DoingReadyDoingReadyDoingReadyDoingReady
(5)
(5)(5)(5)Let it runConstraint remains
www.journey-to-better.com
4. Expensive Changes
Some experiments:Improve their tools.Improve their environment.Improve their team work.Hire more people.www.journey-to-better.com
58
Backlog
AnalysisCodingReviewTestingAcceptDone
DoingReadyDoingReadyDoingReadyDoingReady
(5)
(5)(5)(5)Expensive ChangesImprove tools (reduce manual effort)Get Devs to help execute testsHire another tester
www.journey-to-better.com
Backlog
AnalysisCodingReviewTestingAcceptDone
DoingReadyDoingReadyDoingReadyDoingReady
(5)(5)(5)(5)Let it runConstraint has been broken
www.journey-to-better.com
5. RepeatThe bottleneck should now have shifted.Start all over again.www.journey-to-better.com
61
Scrum enables TOC
62
QuestionsAnalogiesUtilisation, Batch Size, Item SizeQueuing theory in AgileQueuing theory in ScrumImproving the weakest linkFive Focusing StepsScrum enables TOCReal life examplesExperiments
Contact: @andrewrusling [email protected]: http://bit.ly/21ExperimentsToImproveYourVelocity
63
QT Experiment SummaryPull in less total Story Points (-20%)Commit to less team hours (-20%)Limit # of I.P. User Stories (people/2)Show requesters your Scrum boardSplit up Releases ()Split up Epics/Features (3 to 12 sub items)Shorten your Sprints (-1 week)Split up your User Stories (# in sprint ~= people)Use SpikesPractice SimplicitySplit up your Tasks (max 1d)
TOC Experiment SummaryShield them from interruptions.Limit their WIP.Reduce their non value adding work.Limit WIP of upstream to match.Upstream do preparation work.Upstream improve their quality.Pair upstream with constraint staff.Improve their tools.Improve their environment.Improve their team work.Hire more people.