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.

Seven deadly wastes

2,166 views

Published on

There are seven things that slow your software team down. Learning to conquer each of them is the key delivering faster.
Originating in the Japanese manufacturing industry in the middle of the 20th century, the ideas behind the seven wastes are still hugely relevant to software development today. I explained each one and how it slows you down, then explained how you can defeat the seven wastes and deliver faster than ever before.

Published in: Software
  • Be the first to comment

Seven deadly wastes

  1. 1. SOFTWARE’S Seven Deadly Wastes Jez Halford @jezhalford
  2. 2. Jez Halford Software Development Consultant I help software teams to go faster @jezhalford jezhalford.com medium.com/@jezhalford
  3. 3. What slows you down?
  4. 4. 無駄 Muda
  5. 5. The Seven Wastes
  6. 6. •TRANSPORT•
  7. 7. 1 “Transport” ● Handovers between teams or developers ● Bouncing back and forth between Dev and QA teams ● Deploying to different environments Movement of the work
  8. 8. 1 “Transport” ● Pairing and collaboration ● Continuous Integration ● AutomationMovement of the work
  9. 9. •INVENTORY•
  10. 10. 2 “Inventory” ● Abandoned Work ● Work In Progress ● Working on several things at once Undelivered work
  11. 11. 2 “Inventory” ● Reduce your lead time ○ Feature toggles ○ Smaller deliverable units ○ Branch by abstraction ● Visualise your work in progress ● Stop starting and start finishing Undelivered work
  12. 12. “Inventory” Undelivered work
  13. 13. •MOTION•
  14. 14. 3 “Motion” ● Task switching ● Irregular meetings ● Hot desking ● Building new environments Movement of people around the work
  15. 15. “Motion” ● Reducing inventory also reduces motion ● Get Rhythm! Movement of people around the work
  16. 16. •WAITING•
  17. 17. 4 “Waiting” ● Waiting for other teams ● Waiting for outside input ● Waiting for clarificationDelays in delivering the work
  18. 18. 4 “Waiting” ● Consider the whole system ● Take ownership ● Talk to peopleDelays in delivering the work
  19. 19. •OVER PROCESSING•
  20. 20. 5 “Over Processing” ● Gold plating ● Solving imaginary scaling issues ● Writing “libraries” instead of operational code Working too hard
  21. 21. “Over Processing” ● Deliver often ● Base performance improvements on evidence ● Refactor when you need to Working too hard
  22. 22. •OVER PRODUCTION•
  23. 23. 6 “Over Production” ● 64% of built software features are rarely or never used* ● Every feature has a cost ● Developing useless features is doubly wasteful Doing useless work * From a limited study in 2002 - probably nonsense
  24. 24. 6 “Over Production” ● Strong product ownership ● Fast feedback ● Remove stuff that isn’t usedDoing useless work
  25. 25. •DEFECTS•
  26. 26. 7 “Defects” ● Bugs in production are bad ● Bugs before production are still bad Working on the work
  27. 27. 7 “Defects” ● Automated tests ● Dev/Prod parity ● Continuous integration ● Shared understanding ○ Example mapping ○ OOPSI ○ BDD Working on the work
  28. 28. Transport Inventory Motion Waiting Over Processing Over Production Defects
  29. 29. ● Ship small things often ● Automate everything you can ● Work on one thing at a time ● Maintain a regular pace ● Deal with problems and complexity early ● Prioritise working code over perfect code Transport Inventory Motion Waiting Over Processing Over Production Defects
  30. 30. Thanks @jezhalford jezhalford.com medium.com/@jezhalford

×