tags:

views:

74

answers:

2

I'm interested in learning about Lean methodologies as they apply to software development. Which book would be the best one to start with? I know that the Poppendiecks are popular authors on the subject, but they have two books. Is there a preferred one to begin with? Is there another author I should be considering?

+1  A: 

I recommend both Implementing Lean Software Development: From Concept to Cash

alt text

and Lean Software Development: An Agile Toolkit

alt text

I've read both of them and fully agree with this review of Implementing Lean Software Development on Amazon:

This book is a great follow-on to the Poppendieck's "Lean Software Development" book. That book gave readers "an Agile Toolkit" for understanding what lean and agile are all about. This book is similar to its predecessor both in tone and content with practical examples of what works and what doesn't. Much of the book is still framed by lessons learned from Toyota's manufacturing system and Mary Poppendieck's experience at 3M.

That said, the book isn't just a rehash of the earlier, seminal work. This book seems to have a solid core of how to get the most out of development teams with two sections specific to people and partners. There are also terrific sections on knowledge-sharing, speed, and how to get the highest quality while delivering in a rapid and lean fashion. Some things aren't covered at all, such as the fundamentals of value stream or Pareto charts, but those areas are by far the minority.

So I would still start with Lean Software Development: An Agile Toolkit.

Pascal Thivent
+1  A: 

I remember Mary telling me that the second book incorporates learning since the first book and that the second book is now a more appropriate read to start with.

When I got into Lean, I read a series of books that helped me to understand more about Lean that what I had read in Poppendieck's books. This isn't a sleight against Mary and Tom's writings, but an admission that I didn't really get the depth of what they were teaching - even with a significant background in Agile - until I added the Lean context from outside of software development.

My personal timeline of Lean books is written up at: http://blog.scottbellware.com/2009/07/lean-reading-list.html

At the bottom of the article, the list is summarized in chronological (of my reading) order.

This is the list:

  • Lean Software Development: An Agile Toolkit by Mary and Tom Poppendieck
  • The Goal: A Process of Ongoing Improvement by Eliyahu Goldratt and Jeff Cox
  • Decoding the DNA of the Toyota Production System by Steven J. Spear and H. Kent Bowen (Harvard Business Review)
  • The Toyota Way by Jeffrey Liker
  • Lean Thinking: Banish Waste and Create Wealth in Your Corporation by James P. Womack and Daniel T. Jones
  • Implementing Lean Software Development: From Concept to Cash by Mary and Tom Poppendieck
  • Extreme Toyota: Radical Contradictions That Drive Success at the World's Best Manufacturer by Emi Osono, Norihiko Shimizu, Hirotaka Takeuchi
  • The Toyota Product Development System: Integrating People, Process And Technology by James M. Morgan and Jeffery K. Liker
  • Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results by David Anderson
  • Lean Software Engineering by Cory Ladas
  • Scrumban - Essays on Kanban Systems for Lean Software Development by Cory Ladas
  • Managing to Learn: Using the A3 Management Process to Solve Problems, Gain Agreement, Mentor, and Lead by John Shook

I'd add to that list Principles of Product Development Flow by Donald Reinertsen. I read it shortly after writing the article, and it was a needle and thread stitching many of the missing pieces together. I would definitely recommend this book be put somewhere in the first five books in your reading list. And ultimately, read The Goal as early in your studies as possible.

The most salient point to glean from studying Lean and applying it to software is that Lean Software Development isn't Lean Manufacturing. Lean Software Development is better informed by, and takes more from, Lean Product Development than Lean Manufacturing. That said, the Lean Manufacturing books will give you a foundation in the values and principles that you can build on for a deeper understanding of Lean Product Development, and thus Lean Software Development.

Just be aware of making the mistake of trying to create a perfect mapping between Lean Manufacturing and Lean Software Development. You'll inevitably make the mistake - and likely several times over an extended period - but try to become aware of it as quickly as possible, as Lean Manufacturing improperly applied to Lean Software Development can exacerbate and occult the productivity problems that you were trying to solve in the first place.

I haven't read David Anderson's new book on Kanban, but I've heard that it's quite good, and quite technical.

Also note that there are different assertions in various books about what is important about Lean and what makes it work. Some of these perspectives are driven by the various industries that the authors come from and some are biases driven by experience. Understand that all these biases are pieces of the puzzle and they all inform our understanding. They're as important to receive and accept as they are to challenge and refute based on the circumstances of your own work and your own experience.

And accept that your own biases will change as you get more experience and perspective. Point is: Lean isn't just a codified process methodology. You should continue to study it continuously.

Scott Bellware
Excellent answer Scott. Thank you.
Steve Rowe