Waste elimination is one of the Lean principles and one of the most effective ways to increase quality and reduce cost. While products and services differ between industries, waste or muda – everything that does not add value from the perspective of the customer, or any material/resource beyond what the customer requires and is willing to pay for – can be found in any type of business, such as in the software development.
Mary and Tom Poppendieck – two of the leaders in describing how to implement Lean to software development – have translated the well-known “Seven Wastes of Manufacturing” into “The seven Wastes of Software Development”.
1. Partially done work (in Mfg.: Inventory): refers to any partially done software (Work In Process) that is not checked-in, integrated, tested, or deployed. Until that partially done software is integrated with the rest of the software development and then released into production, you don’t really know if it will eventually work or solve the business problem defined weeks/months ago; maybe at the time of release it is already obsolete resulting in a huge financial problem. In addition, partially done software gets in the way of other developments, so any work that is not finished triggers, for example, huge delays in the development (Waste #6).
2. Extra features (in Mfg.: Over-Production): refers to any feature added to the final product that the customer doesn’t need, want or even ask for. Any extra feature increases an unnecessary complexity, adds a potential failure point, and maybe it will become obsolete before is used. Not forgetting that as any feature, it has to be tracked, compiled, integrated, tested, and lifetime maintained.
3. Relearning (in Mfg.: Extra Processing): the first approach for this waste was Extra-process that focused on extra activities done that do not add value like excessive documentation or customer’s signoffs. After more understanding of this waste, it has been modified with the name of Relearning, referring to repeating a value adding activity spending time relearning things we have already learned. e.g.: undocumented code force to a new developer to “relearn” what was already learned for the previews programmer; a solution of an undocumented problem solved have to be relearn when the problem reappear.
4. Handoffs (in Mfg.: Transportation): refers to knowledge lost every time you hand a deliverable off to any team member (analyst, designer, programmer, tester, etc.). It’s estimated that approximately 50% of tacit knowledge – know-how possessed only by an individual and difficult to communicate to others via words and symbols – remains with the creator of the document and never get handed off to the receiver.
In our second part of The 7 Sins of Software Development series, we are going to review the remaining wastes. Until next time, keep connected!
********************************************************************************
Today’s guest blog is written by Jimena Calfa. Jimena is a System Engineer with Software Quality Assurance background and the founder of On Quality blog, an information source dedicated to sharing knowledge, lessons, experiences, opinions and actuality about the interesting world of Quality.
Jimena is one of the contributors of the ASQ Influential Voices – group of quality professionals from around the world who discuss about key quality issues with the main objective to raise the voice of quality and spread the word.
Jimena was born and raised in Argentina. She writes in both English and Spanish on her blog. Jimena came to the Unites States with her husband in 2006. Living in America has fueled her passion for Quality. She is ASQ certified in Quality Process Analyst (CQPA) and Lean Enterprise certified by the University of California – San Diego.
Jimena’s motto: “Quality is everyone’s responsibility. We never have to stop getting better.”
Please check out the On Quality blog and leave a comment below if you liked this article. You can also connect on LinkedIn, follow me on Twitter, subscribe via e-mail (right side bar), retweet, digg, or stumble this article. You can check out my Facebook page and continue the discussion there as well. Your feedback is appreciated.
Finally, you can see more about Mary and Tom Poppendieck here.
Pingback: The 7 Sins of Software Development (Part 2) | Lean Leadership
Thanks Chris for letting me be part of your Guest Blogger week!
It’s certainly my pleasure, Jimena. I really enjoyed your post and it’s drawing a lot of traffic!