I recently heard about the 7 wastes of lean. Having had a interest in lean processes for software development I was surprised that I had never heard of it before.
On researching it, it turns out the seven wastes of lean originate from the Toyota Production System.
Seven wastes of lean
The original seven wastes of lean are:
1) Overproduction - to make something before it is actually required
2) Waiting - whenever a good is not moving or being processed the waste of waiting occurs
3) Transportation - transporting a product between processes is a cost incursion which adds no value to the product
4) Inappropriate Processing - using expensive equipment where simpler tools would be sufficient
5) Unnecessary Inventory - Work in progress is a direct result of overproduction and waiting
6) Unnecessary Motion - unnecessary bending / stretching / walking / lifting or reaching
7) Defects - quality defects result in rework
The worst of all the 7 wastes is overproduction because it includes in essence all others.
My seven wastes of software engineering
I like the concept of the 7 wastes of lean, inspired by the original 7 wastes, I came up with my own 7 wastes specific to software engineering.
1) Over-engineering - to make something more complex than is actually required
2) Waiting for dependencies - having to wait for an external dependency on work you have already started
3) Hand offs - whenever an individual or group has to hand work over to another group or individual
4) Inappropriate technologies - using a complex technology where a simpler technology would be sufficient
5) Unnecessary work in progress - working on more things simultaneously than necessary
6) Unnecessary refactoring - refactoring code that will not change in the future
7) Defects - fixing errors that could have been avoided initially