The 7 Sins of Software Development (Part 2)

In Part 1 of The 7 Sins of Software Development series, we have discussed the first 4 wastes we could find in our journey to implement the Lean principle ‘Eliminate waste’. Let’s review the first 4 and discuss the remaining wastes in more detail:

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.

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. 

3. Relearning (in Mfg.: Extra Processing): repeating a value adding activity spending time relearning things we have already learned.

4. Handoffs (in Mfg.: Transportation): refers to knowledge lost every time you hand a deliverable off to any team member.

5. Task switching (inMfg.: Motion): refers to time wasted when the same resource is assigning to multiple software projects. A person who have to switch from project A to project B needs a lot of time preparing himself – fiscally and mentally – and setting the environment to start working on project B. If that time is not considered in the project estimation, it will be difficult to finish both projects on stated dates. Thus, the Lean principle “Delivery as fast as possible” will not be accomplished.

6. Delay (in Mfg.: Waiting): refers to waiting for things to happen. That introduces discontinuity, triggers the appearance of all the other wastes, and keeps the customer from realizing value as quickly as possible. E.g.: delay in get the team conformed, waiting for approvals, delays due to excessive requirements documentation.

7. Defects (in Mfg.: Defects): refers to any error, bug, failure that produces an unexpected result. The formula the Poppendiecks use to quantify the amount of waste caused by a defect is: WASTE = Defect Impact * Time defect goes undetected. They said that a critical defect that is detected in 3 minutes is not a big source of waste as a minor defect discovered weeks later.

Out there are tons of tools we can use to eliminate wastes, but first of all we have to learn to see waste, a non-easy activity. Of course, there is no “silver bullet” to solve waste problems, but regardless of the methodology you use in your software company – CMMI, Agile, PMI, or a hybrid of all of them – Lean principle ‘Eliminating waste’ has huge value to get better quality, reduced cost, and faster delivery.

The more you learn about Lean, the more you will realize how much value has it when applying to software development projects. Let’s do a quick test: pick one of the wastes and see if you can identify activities in your job that do not add value and can fit perfectly under that waste umbrella. What it would be the best way for you to get rid of those activities? Share your thoughts with us!


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 Facebookpage and continue the discussion there as well.  Your feedback is appreciated.

Lean Software Development: An Agile Toolkit by Mary and Tom Poppendieck – 2003

Implementing Lean Software Development: From Concept to Cash by Mary and Tom Poppendieck – 2006


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.

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