The 7 Sins of Lean Software Development

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.


About Christian Paulsen

Christian Paulsen is an Executive Consultant with 20 years of Lean Manufacturing. Chris adds value to organizations by driving process improvement and bottom line savings. Chris intends to help others by sharing the lessons learned after a quarter century of operational leadership, marriage, parenting, and even longer as a Cubs fan. Your comments on this blog are welcome. You can also connect with Chris via LinnkedIn, Twitter, and Facebook in the right sidebar. Chris welcomes your comments. Christian's professional services are available by contacting him through LinkedIn (right side bar)
This entry was posted in Lean Software Development and tagged , , , , , . Bookmark the permalink.

3 Responses to The 7 Sins of Lean Software Development

  1. Pingback: The 7 Sins of Software Development (Part 2) | Lean Leadership

  2. Thanks Chris for letting me be part of your Guest Blogger week!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s