SOFTWARE’S
Seven
Deadly
Wastes
Jez Halford
@jezhalford
Jez Halford
Software Development Consultant
I help software teams to go faster
@jezhalford
jezhalford.com
medium.com/@jezhalford
What slows you down?
無駄
Muda
The Seven Wastes
•TRANSPORT•
1
“Transport”
● Handovers between teams or
developers
● Bouncing back and forth
between Dev and QA teams
● Deploying to different
environments
Movement of the work
1
“Transport”
● Pairing and collaboration
● Continuous Integration
● AutomationMovement of the work
•INVENTORY•
2
“Inventory”
● Abandoned Work
● Work In Progress
● Working on several things at
once
Undelivered work
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
“Inventory”
Undelivered work
•MOTION•
3
“Motion”
● Task switching
● Irregular meetings
● Hot desking
● Building new environments
Movement of people around the work
“Motion”
● Reducing inventory also
reduces motion
● Get Rhythm!
Movement of people around the work
•WAITING•
4
“Waiting”
● Waiting for other teams
● Waiting for outside input
● Waiting for clarificationDelays in delivering the work
4
“Waiting”
● Consider the whole system
● Take ownership
● Talk to peopleDelays in delivering the work
•OVER PROCESSING•
5
“Over Processing”
● Gold plating
● Solving imaginary scaling
issues
● Writing “libraries” instead of
operational code
Working too hard
“Over Processing”
● Deliver often
● Base performance
improvements on evidence
● Refactor when you need to
Working too hard
•OVER PRODUCTION•
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
6
“Over Production”
● Strong product ownership
● Fast feedback
● Remove stuff that isn’t usedDoing useless work
•DEFECTS•
7
“Defects”
● Bugs in production are bad
● Bugs before production are
still bad
Working on the work
7
“Defects”
● Automated tests
● Dev/Prod parity
● Continuous integration
● Shared understanding
○ Example mapping
○ OOPSI
○ BDD
Working on the work
Transport
Inventory
Motion
Waiting
Over Processing
Over Production
Defects
● 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
Thanks
@jezhalford
jezhalford.com
medium.com/@jezhalford

Seven deadly wastes