Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Defending against CDD: Chaos-Driven Delivery

602 views

Published on

Have you heard of TDD? Well, many teams struggle with CDD: Chaos-Driven Delivery. That is, teams struggle with how to handle the constant onslaught of overwhelming amounts of work and begin to lose hope. The good news is that if you understand operating systems, you already know a great deal about how to tame the chaos!

Process management is an integral part of an operating system. The OS makes decisions about scheduling, sharing information between jobs, handling interrupts and multi-tasking. It also has to manage the resources of a process and be concerned with process synchronization, just as we mere humans do. This presentation will show you how to apply common concepts from operating system process management to the way teams process work.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Defending against CDD: Chaos-Driven Delivery

  1. 1. Defending against CDD (Chaos-Driven Delivery)
  2. 2. @everydaykanban Julia Wester My history…
  3. 3. @everydaykanban The Chaos of Firefighting
  4. 4. @everydaykanban Not finishing things The Cycle of PainExcessive work in process
  5. 5. @everydaykanban
  6. 6. Basic scheduling methods for Operating Systems @everydaykanban
  7. 7. First Come, First Served @everydaykanban 1.
  8. 8. Shortest Job First @everydaykanban 2.
  9. 9. @everydaykanban Scheduling by 3.
  10. 10. Round Robin @everydaykanban 4.
  11. 11. @everydaykanban Multilevel Feedback Queues Priority 3 Priority 2 Priority 1 Priority 4 5. FC FS Priority buckets of work, Prior ity Prior ity Round Robin each with their own policy
  12. 12. So, how does this relate to humans? @everydaykanban
  13. 13. 1. Answer some key questions about what is important Designing scheduling methods for mortals @everydaykanban  Is our goal to keep people busy or deliver quickly?
  14. 14. Focusing on busyness creates deadlock @everydaykanban
  15. 15. So, monitor and improve flow of work @everydaykanban
  16. 16. 1. Answer some key questions about what is important Designing scheduling methods for mortals @everydaykanban  Is our goal to keep people busy or deliver quickly?  Does any work demand special treatment?
  17. 17. Define your classes of service @everydaykanban Expedite Intangible Fixed Date Standard a.k.a. multilevel queues
  18. 18. 1. Answer some key questions about what is important Designing scheduling methods for mortals @everydaykanban  Is our goal to keep people busy or deliver quickly?  Does any work demand special treatment?  Are we concerned about job starvation?
  19. 19. Allocate some work to each queue @everydaykanban Expedite Intangible Fixed Date Standard 1 2 16 Only allowing 10 things in progress at once
  20. 20. 1. Answer some key questions about what is important Designing scheduling methods for mortals @everydaykanban  Is our goal to keep people busy or deliver quickly?  Does any work demand special treatment?  Are we concerned about job starvation?  Does partially-done work provide value?
  21. 21. Put a premium on work-in-progress @everydaykanban
  22. 22. @everydaykanban Work is quick! Less need & opportunity to interrupt
  23. 23. 1. Answer some key questions about what is important 2. Make policies to optimize for answers Designing scheduling methods for mortals @everydaykanban  Is our goal to keep people busy or deliver quickly?  Does any work demand special treatment?  Are we concerned about job starvation?  Does partially-done work provide value?
  24. 24. @everydaykanban Decide what you aren’t going to do
  25. 25. Create pull policies for work you will do @everydaykanban Expedite Intangible Fixed Date Standard First come, first served Priority (due date + size) Priority (cost of delay) Priority (cost of delay)
  26. 26. 1. Answer key questions about what is important 2. Make policies to optimize for answers 3. Determine when to break the rules Designing scheduling methods for mortals @everydaykanban  Is our goal to keep people busy or deliver quickly?  Does any work demand special treatment?  Are we concerned about job starvation?  Does partially-done work provide value?
  27. 27. Great resources for further learning @everydaykanban Queueing Theory, Cost of Delay Classes of Service, Explicit Policies Flow vs Resource Efficiency Effect of Policies on Lead Time
  28. 28. @everydaykanban EverydayKanban.com @everydaykanban /in/juliawester Julia Wester

×