understanding waste in software
play

Understanding Waste in Software Chris B. Behrens SOFTWARE ARCHITECT - PowerPoint PPT Presentation

Understanding Waste in Software Chris B. Behrens SOFTWARE ARCHITECT @chrisbbehrens The Seven Wastes of Manufacturing 1. Delay 2.Overproduction 3.Overprocessing 4.Transportation 5.Unnecessary movement 6.Inventory 7.Defects Partially Done


  1. Understanding Waste in Software Chris B. Behrens SOFTWARE ARCHITECT @chrisbbehrens

  2. The Seven Wastes of Manufacturing 1. Delay 2.Overproduction 3.Overprocessing 4.Transportation 5.Unnecessary movement 6.Inventory 7.Defects

  3. Partially Done Work Inventory waste The team did But was A problem great work constantly executive overstressed and behind schedule

  4. Churn In Requirements The exec should keep their beak out of the work But the review often did improve the design The problem was WHEN the review occurred Shifting the timing of the review should have been easy… But the company wasn’t optimizing for the whole And it wasn’t Respecting People

  5. Incomplete Software Work Continuous Integration – preventing the waste of non-integrated code Continuous Deployment – preventing the waste of non-deployed code Continuous Whatever – testing, documentation, whatever

  6. Extra Features

  7. YAGNI You ain’t gonna need it https://martinfowler.com/bliki/Yagni.html

  8. The Costs of YAGNI Cost of building Cost of repair Cost of carry Cost of delay

  9. Features and Costs Wrong feature Building Repair Right feature, built wrong Carry Right feature Delay

  10. My Missing Abstraction Layer Where does my abstraction layer fall? It WAS the wrong feature… But we didn’t know that at the time How hard is it to refactor? User concurrency would have made it necessary In the end, I think it wasn’t an extra feature

  11. Relearning Code from a year ago I recognize this What is this dark magic? Sometimes, the subject matter expert is not available

  12. Handoffs

  13. Handoffs and the Game of Telephone Information is lost at each step - Front line of communications - Consultant - Manager - Developer Phone support Admin tools for support I called the customer directly Otherwise, back to the manager - To the intern - Back to the customer

  14. Handoffs

  15. Handoffs

  16. Task Switching Nobody can When you add Almost always Only multitask up the time to more efficient audiobooks and perform tasks… performed exercise serially

  17. “But I’m good at multitasking!”

  18. “...even brief mental blocks created by shifting between tasks can cost as much as 40 percent of someone's productive time.” Multitasking: Switching costs https://www.apa.org/research/action/multitask

  19. Task Switching Functions Task switching is Even this In the meantime, the costly underestimates the partially completed cost of rework work is waste

  20. Phase Ones

  21. Delays Waiting for For information For authorization approval Easier to see, Automate! Standardize! anyhow

  22. The Riddle of the Bridge 1 minute 2 minutes 5 minutes 10 minutes 1. Tom and Roy – 10 minutes 1. Tom and Jeff – 2 minutes 2. Tom back – 1 minute (11 minutes total) 2. Tom back – 1 minute (3 minutes total) 3. Tom and George – 5 minutes (16 3. George and Roy – 10 minutes (13 minutes total) minutes total) 4. Tom back – 1 minute (17 minutes total) 4. Jeff back – 2 minute (15 minutes total) 5. Tom and Jeff – 2 minutes (19 minutes) 5. Tom and Jeff – 2 minutes (17 minutes)

  23. A Delay War Story Single Sign On Users would log onto their company website And be logged into my site without entering their credentials The crypto was challenging initially, but I figured it out Now we just need to order the certs

  24. The Certificate Process Their process took Find the point of thirty days (by A few days later… contact design) We had to sell Finally, after two new people on the months, we had project the certificates

  25. Defects A car that doesn’t run, a badly manufactured part All of the forms of waste can accrue to defects Eliminating defects is like pursuing speed – a purifying force

  26. Continuous Deployment Check-in triggers a build - Automated testing - Autogenerated documentation - Deployment to Production “How can you deploy without having tested it?

  27. Who, What, and When We don’t inspect to find defects, we inspect to prevent defects 100% test coverage Build scans for security problems

  28. Pointless Test Coverage A lousy test that Pair programming Unless you’re both satisfies coverage will stop this slackers

  29. Pointless Test Coverage Once your work is A PR build validates The changes are complete on a that the merged reviewed by branch, you create a code will at least senior developers pull request compile So they approve Now that stuff has to pass Maybe these the larger suite of your garbage code senior developers automated unit and and your garbage integration tests against are slackers, too tests pseudo-production data

  30. AS-204 A plugs-out test - The umbilicals disconnected from the capsule - The internal atmosphere overpressurized to reflect the relative pressures in space Roger Chafee, Ed White and Gus Grissom Apollo 1

  31. “A Failure of Imagination” Astronaut Frank Borman Anticipated problems all happened at launch or in space Are there defects in your code? - “Yes” - “I can’t imagine” Are you good at imagining failure in your code? People, process and automation

  32. t h Eliminate waste s The wastes are the inverse of principles - Extra features -> Defer commitment - Relearning -> Create Knowledge Summary - Defects -> Build Quality In The Seven Wastes - Partially Done Work - Extra Features - Relearning - Handoffs - Task Switching - Delays - Defects

Recommend


More recommend