All About Agile | Agile Development Made Easy


7 Key Principles of Lean Software Development

by Kelly Waters, 16 August 2010 | Lean Development

7 Key Principles of Lean Software Development.I haven’t blogged much about lean development. I’m not an expert on lean, but agile development is a great example of lean thinking in action. So I thought it might be interesting to blog a bit about lean software development, and how I see it…

Before you can really put anything into practice, I think it’s important first to understand the key principles.

Lean principles originate from the lean manufacturing approach also known as ‘just-in-time production’, and pioneered by Toyota. Lean manufacturing is a process management philosophy that transformed the car manufacturer’s approach to building vehicles.

Lean software development originated from a popular book by Tom and Mary Poppenieck that translates lean manufacturing principles to software development. Tom and Mary’s books, training, and talks at various agile conferences, have resulted in lean software development becoming widely accepted within the agile development community.

So what are the 7 key principles of lean software development? They are:

1. Eliminate Waste
2. Build Quality In
3. Create Knowledge
4. Defer Commitment
5. Deliver Fast
6. Respect People
7. Optimise The Whole

Over the next few weeks, I’ll blog about each of these lean principles in turn, explaining it as concisely as I can and giving you my personal perspective on it…

Kelly.

Photo by Hakan Dahlstrom

Home



2 Responses to “7 Key Principles of Lean Software Development”

  1. John Runion says:

    Hi Kelly,

    What a great series of posts. I wish more companies applied this model to their product life cycle, many speak to it but do not take it to heart nor do they follow the guidelines. Creating your own version is not utilizing what makes this such a great way to work.

    Nice Read!

  2. You are right that lean and agile have a lot in common. But at the core they are fundamentally different. Lean cannot be called Agile.

    Lean is based on the principle of doing things “right first time” in order to eliminate mistakes. This is especially applied to software specs where it takes the “Waterfall” approach of trying hard to get them right.

    Agile says you can never get the specs right the first time. The software has to evolve based on feedback. This necessarily involves waste.

    I do admit that most of the Agile ideas came from Lean (probably via SQA). However, this is a core difference. (I talked about this in my blog at http://devmethodologies.blogspot.com.au/2012/07/sqa-and-agile-methodologies.html)

Leave a Reply

What is 10 + 1 ?
Please leave these two fields as-is:
Please do this simple sum so I know you are human:)