I recently came across this interesting article, posted at Agile: In a Flash blog, which seems to be yet another take on applying lean manufacturing concepts to the world of software development. These wastes originally coined in the manufacturing industry were translated by the Poppendiecks in their popular book, Implementing Lean Software Development.
Let me list down these seven wastes, without getting into the details:
Partially done work.
Completed but un-checked-in code, undocumented code, untested code, code not yet in production, commented code
Desirable, nice-to-have features that are never really used by the customers
Poor planning, poor quality, poor communication, undocumented code
Hand-offs (A software equivalent to ‘Transportation’ in manufacturing industry’)
Handoff of code between developers, from developer to tester, development to deployment
I will leave the details for you to check back in the original article at: http://agileinaflash.blogspot.com/2009/02/seven-wastes.html I am sure, every one of you reading this would have been exposed to one or more or all of these ideas of wastes. It is very important and useful to understand how these wastes manifest themselves in the software environments and how they can be eliminated.
Do you have any thoughts on how to manage and mitigate the software wastes? Have anything more to add to the list?