Date post: | 12-Apr-2017 |
Category: |
Business |
Upload: | scrum-australia-pty-ltd |
View: | 593 times |
Download: | 0 times |
21 Experiments
to increase
your Velocity
www.journey-to-better.com
What if…
Lights out
Run to exit?
Chaos
Why?
Chaos in development
• Rushing
• Competing
• Shifting goals
• Misalignment
• Indecision
• Shortcuts
@AndrewRusling
Agile Coach
Terminology
Velocity ~= Throughput
www.journey-to-better.com
Source of Experiments
Two Theories
Four Principles
21 Experiments
www.journey-to-better.com
Queuing Theory
www.journey-to-better.com
www.journey-to-better.com
Serious math
Not for today
www.journey-to-better.com
Simple principles
To increase velocity, reduce
www.journey-to-better.com
Utilisation Batch Size Item Size
System with Variability
Why reduce utilisation?
www.journey-to-better.com
Velocity
Cycle
Time
Resource
Utilisation
Tipping point
Utilisation0 100
Cycle
Tim
e
Tipping Point
Some examples:
• Computer CPU
• Building Fire Exit
• Road
Tipping Point in action
www.journey-to-better.com
Why reduce batch size?
Littles Law
Avg. Cycle Time =
Work In Progress (WIP)
Avg. Velocity
www.journey-to-better.com
Velocity
Cycle
Time
WIP
Batch
Size
Why reduce item size?
www.journey-to-better.com
Velocity
Queue
Size
(WIP)
Item
SizePredictability
Bad
Variability
Cycle
Time
Improving freeway velocity
Image by Atlantacitizen at the English language Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1811360
Reducing utilisation
www.journey-to-better.com
Image by: https://www.flickr.com/photos/highwaysagency/
• Radio messages
• Signs
• Promote Car Pooling
• Promote Public Transport
• Tolls
• High Taxes and fees
• Limit access by registration
• Add more lanes
Reducing batch size
Image by: https://www.flickr.com/photos/29233640@N07/
www.journey-to-better.com
• Control entry points
• Stagger work times
• Multi nucleolus city
Reducing item size
Image by: https://www.flickr.com/photos/null0/
Replace Buses with Cars, Cars with Bikes.
www.journey-to-better.com
Queuing Theory
is baked into
agile & Scrum
www.journey-to-better.com
Good news!
Image by: https://www.flickr.com/photos/jeffreyww/
Queuing Theory in agile
agile lowers Utilization by
• Promoting sustainable development.
• Customer collaboration.
agile lowers Batch Size by
• Focus on early delivery of Working Software.
agile lowers Item Size by
• Focus on simplicity & business feedback.
www.journey-to-better.comImage: http://www.agilemanifesto.org/
Queuing Theory in Scrum
Scrum lowers Utilization by
• Team members 100% allocated.
• Team pulls in work to sprint.
Scrum lowers Batch Size by
• Sprint length.
Scrum lowers Item Size by
• Time boxing & D.O.D.
www.journey-to-better.com
Utilisation experiments
• Pull 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
Batch size experiments
• Split up Releases (½)
• Split up Epics/Features (3 to 12)
• Shorten your Sprints (-1w)
Item Size Experiments
• Split up your User Stories (# in sprint ~= p)
• Use Spikes
• Practice Simplicity
• Split up your Tasks (max 1d)
To increase velocity:
Lower
Utilisation
Work on
smaller batches
Work on
smaller items
Queuing Theory Summary
www.journey-to-better.com
Theory of Constraints
www.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=5305901
Why add just one lane?
Why not replace them?
Focusing our efforts
www.journey-to-better.com
IdeaProcess
AProcess
BProcess
C
Customer
• A?• B?• C?• A, B & C?• Need more info?
Focusing our efforts
5 units per week
2 units per week
3 units per week
www.journey-to-better.com
IdeaProcess
AProcess
BProcess
C
Customer
• A?• B?• C?• A, B & C?• Need more info?
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 StepsConstraint
1. Identify the constraint
2. Cheap changes
3. Align everyone
4. Expensive changes
5. Repeat
Applying TOC in Scrum
We are going to:
1. Map team workflow
2. Populate a Scrum board
3. Use TOC to increase velocity
www.journey-to-better.com
Backlog Analysis Coding Review Testing Accept Done
Map team workflow
www.journey-to-better.com
Backlog Analysis Coding Review Testing Accept Done
Populate with current state
www.journey-to-better.com
1. Identify the constraint
Symptoms
• Work waiting in front of the constraint.
• Resource is heavily stressed.
• Starvation downstream.
www.journey-to-better.com
Constraint
Backlog Analysis Coding Review Testing Accept Done
Where is the constraint?
www.journey-to-better.com
Backlog Analysis Coding Review Testing Accept Done
Doing Ready
Split Testing column
1st Possibility
www.journey-to-better.com
Backlog Analysis Coding Review Testing Accept Done
Doing Ready
Split Testing column
2nd Possibility
www.journey-to-better.com
Backlog Analysis Coding Review Testing Accept Done
Doing ReadyDoing ReadyDoing ReadyDoing Ready
Split all other columns
www.journey-to-better.com
2. Cheap Changes
Some experiments:
• Shield them from interruptions.
• Limit their WIP.
• Reduce their non value adding work.
No overtime!www.journey-to-better.com
Backlog Analysis Coding Review Testing Accept Done
Doing ReadyDoing ReadyDoing ReadyDoing Ready
(5)
Cheap Changes
Limit WIP in Testing
www.journey-to-better.com
Backlog Analysis Coding Review Testing Accept Done
Doing ReadyDoing ReadyDoing ReadyDoing Ready
(5)
Let it run
Constraint remains
www.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
Backlog Analysis Coding Review Testing Accept Done
Doing ReadyDoing ReadyDoing ReadyDoing Ready
(5)(5)(5)(5)
Align everyone
Match upstream WIP to constraint
Devs do more test prep work.
Dev-QA pairing
www.journey-to-better.com
Backlog Analysis Coding Review Testing Accept Done
Doing ReadyDoing ReadyDoing ReadyDoing Ready
(5)(5)(5)(5)
Let it run
Constraint 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
Backlog Analysis Coding Review Testing Accept Done
Doing ReadyDoing ReadyDoing ReadyDoing Ready
(5)(5)(5)(5)
Expensive Changes
Improve tools (reduce manual effort)
Get Devs to help execute tests
Hire another tester
www.journey-to-better.com
Backlog Analysis Coding Review Testing Accept Done
Doing ReadyDoing ReadyDoing ReadyDoing Ready
(5)(5)(5)(5)
Let it run
Constraint has been broken
www.journey-to-better.com
5. Repeat
• The bottleneck should now have shifted.
• Start all over again.
www.journey-to-better.com
Scrum enables TOC
• Task board
• Stand upIdentify
• Focus on Sprint Goal
• Scrum Master
Cheap Changes
• Shared Team Success
• Self Organising Team
Align Everyone
• Retrospective
• Self Organising Team
Expensive Changes
Questions
Analogies
Utilisation, Batch Size, Item Size
Queuing theory in Agile
Queuing theory in Scrum
Improving the weakest link
Five Focusing Steps
Scrum enables TOC
Real life examples
Experiments
Contact: @andrewrusling [email protected]
Slides: http://bit.ly/21ExperimentsToImproveYourVelocity
QT Experiment Summary
• Pull in less total Story Points (-20%)
• Commit to less team hours (-20%)
• Limit # of I.P. User Stories (people/2)
• Show requesters your Scrum board
• Split 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 Spikes
• Practice Simplicity
• Split up your Tasks (max 1d)
TOC Experiment Summary
• Shield 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.