Over a million developers have joined DZone.

7 Key Principles of Lean Software Development

· Agile Zone

Discover how to increase change awareness, code quality, and maintainability through straightforward code reviews, with a simple, lightweight workflow, brought to you in partnership with JetBrains.

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. Optimize 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.

The Agile Zone is brought to you in partnership with JetBrains.  Learn more about the wide range of developer-oriented features to take your team's performance to the next level.  

Topics:

Published at DZone with permission of Kelly Waters , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}