21 experiments to increase velocity

65
21 Experiments to increase your Velocity www.journey-to-better.com

Upload: andrew-rusling

Post on 14-Apr-2017

683 views

Category:

Software


1 download

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.