![Page 2: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/2.jpg)
Or
![Page 3: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/3.jpg)
What can traffic in
teach you about your
development process
Håkan Forss - [email protected] - @hakanforss
![Page 4: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/4.jpg)
Keep work-in-progress low
Use Theory of Constraints to improve
Balance demand against throughput
![Page 5: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/5.jpg)
![Page 6: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/6.jpg)
![Page 7: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/7.jpg)
![Page 8: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/8.jpg)
![Page 9: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/9.jpg)
Little’s Law
Work-in-Process
ThroughputCycle Time =
![Page 10: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/10.jpg)
Little’s Law
12
12 / min1 min =
![Page 11: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/11.jpg)
Little’s Law
6
12 / min0,5 min=
![Page 12: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/12.jpg)
Little’s Law
24
12 / min2 min =
![Page 13: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/13.jpg)
4 cars / min
8 cars / min
• With less work-in-progress– Shorter cycle time• Faster feedback
– Makes problems visible faster
![Page 14: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/14.jpg)
Keep work-in-progress low
Use Theory of Constraints to improve
Balance demand against throughput
![Page 15: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/15.jpg)
Theory of Constraints
![Page 16: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/16.jpg)
![Page 17: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/17.jpg)
![Page 18: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/18.jpg)
Improve
5
![Page 19: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/19.jpg)
1. Identify the constraint
2. Exploit the constraint
3. Subordinate to the constraint
4. Elevate the constraint
5. If in the previous steps a constraint has been broken, Go back to step 1
Don’t allow inertia to cause a system constraint.
![Page 20: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/20.jpg)
Capacity = 6 Capacity = 4 Capacity = 6
Throughput = 4
Bottlenecks
• You can never go faster than your bottleneck
![Page 21: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/21.jpg)
Bottlenecks
Throughput = 2
• You can never go faster than your bottleneck– Do whatever you can to make your bottleneck 100% utilized – Try your hardest to avoid problems at you bottleneck – You can’t make up for lost capacity at you bottleneck
![Page 22: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/22.jpg)
Throughput = 4
• You can never go faster than your bottleneck– As long as capacity in front of the bottleneck is equal to or grater than the
bottleneck you will go as fast as your bottleneck– Full use of a higher capacity in front of the bottleneck will make cycle time
go up
Bottlenecks
![Page 23: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/23.jpg)
Throughput = 4
• You can never go faster than your bottleneck– As long as capacity is equal to or grater after the bottleneck you will go as
fast as your bottleneck– Higher capacity after the bottleneck than at the bottleneck will not improve
throughput
Bottlenecks
![Page 24: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/24.jpg)
![Page 25: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/25.jpg)
![Page 26: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/26.jpg)
![Page 27: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/27.jpg)
![Page 28: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/28.jpg)
![Page 29: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/29.jpg)
![Page 30: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/30.jpg)
![Page 31: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/31.jpg)
![Page 32: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/32.jpg)
• Non-instant availability resource– A resource that is not available all the time
![Page 33: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/33.jpg)
• Non-instant availability resource & bottleneck
![Page 34: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/34.jpg)
![Page 35: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/35.jpg)
![Page 36: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/36.jpg)
Keep work-in-progress low
Use Theory of Constraints to improve
Balance demand against throughput
![Page 37: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/37.jpg)
![Page 38: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/38.jpg)
• You can never go faster than your bottleneck– Balance demand against throughput to keep work-in-progress low– Low work-in-progress
• Keeps cycle time down • Makes bottlenecks visible faster
![Page 39: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/39.jpg)
![Page 40: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/40.jpg)
• Slow down to go faster – Slowing down can stabilize the process flow– A stable process can go faster
![Page 41: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/41.jpg)
![Page 42: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/42.jpg)
Keep work-in-progress low• Keeps cycle time down • Makes bottlenecks visible faster
Use Theory of Constraints to improve• Use five focusing steps• Eliminate one bottleneck at a time
Balance demand against throughput • You can’t go faster than the bottleneck• Use work-in-progress limits
![Page 43: Queueing theory in software development - ALEBathtub 2011-06-30](https://reader034.vdocuments.site/reader034/viewer/2022052303/5445258cb1af9f4f6c8b46e0/html5/thumbnails/43.jpg)
Håkan ForssMail: [email protected]: @hakanforssBlog: http://hakanforss.wordpress.com/