Categories : Lean Manufacturing Principles

 

What is lean software development?

Lean Software Development is a combination of principles with the software development process. In today’s world this has become one of the fasting growing business fields to incorporate to drive improvements in their design and development processes, delivery to their customers and their bottom line. So, what exactly is ? Well, according to Toyota, who developed the (TPS) which is accepted as a world class standard for the application of Just in Time (JIT) or lean principles as a business philosophy and methodology, they simply define lean as developing the capability to “Increase customer value by reducing waste (muda)”. I can hear you saying “this cannot be true, it’s too simple. I was expecting a more complex explanation of lean” In fact, the complexity comes from people’s perceptions and lack of understanding, not from lean itself. So, how does this apply to software development?

“Lean Software Development seeks to achieve the same results as Toyota. It strives to reduce waste in the form of defects that are caused by coding problems, rework due to debugging issues, over processing, waiting or delays, etc., to try to shorten project cycle times. The purpose for doing this is to give more flexibility so a business can focus its resources on generating profits for themselves and increasing value for their customers.”

Some believe that lean software development requires more attention to detail than when implementing lean manufacturing methods into other industries. This may be true but one thing we do know is that every business lives or dies due to the service they deliver to their customers. If a software business misses their delivery window for a new product by one day it can spell financial disaster. It can be an even harder pill to swallow if a competing software company beats them to market with a similar product. Whoever is the first to get their product in front of customers will be an outright winner in the marketplace. Lean principles are helping software companies to increase the velocity and quality of their development processes, to reduce costs and defect rates.

In an article in C++ Magazine Methodology Issue (Publication Fall 2003) called “Lean Software Development” written by Mary Poppendieck she said this about eliminating waste:

All lean thinking starts with a re-examination of what waste is and an aggressive campaign to eliminate it. Quite simply, anything you do that does not add value from the customer perspective is waste. The seven wastes of software development are:

  • Partially Done Work (the “inventory” of a development process)
  • Extra Processes (easy to find in documentation-centric development)
  • Extra Features (develop only what customers want right now)
  • Task Switching (everyone should do one thing at a time)
  • Waiting (for instructions, for information)
  • Handoffs (tons of tacit knowledge gets lost)
  • Defects (at least defects that are not quickly caught by a test)
  • Reference: http://www.poppendieck.com/pdfs/Lean_Software_Development.pdf

The basic ideas of lean manufacturing can be applied to any business environment, equally they are being utilized very successfully in lean software development.

Spread the Word, like or share this page, your friends will also love it and thanks for it.

Leave a Comment

Your email address will not be published. Required fields are marked by *.

You must beLogged in to post a comment.

Password Reset
Please enter your e-mail address. You will receive a new password via e-mail.