Implementing Lean Software Development: From Concept to Cash

Mary Poppendieck, Tom Poppendieck (2006)
Review date: October, 2009
Summary

This book is about how lean practices apply to software engineering and development. As such, it starts with a brief history of lean production, and its early adopter Toyota. The first chapter is all about Toyota's history and manufacturing practices, such as Just-in-time, lean manufacturing and lean supply chain.

Chapter two holds seven principles of lean, and how they apply to software development:

  1. Eliminate waste
  2. Build quality in
  3. Create knowledge
  4. Defer commitment
  5. Deliver fast
  6. Respect people
  7. Optimize the whole

The following chapter talks about value and emphasizes a customer-centric approach along with practices such as speed (time to market), democracy, and focus. It also discusses empowered teams and leadership.

"Waste" is the name of a very good chapter that describes the seven wastes of lean, and once again, how they manifest themselves in the field of software development:

  1. Partially done work
  2. Extra features
  3. Relearning
  4. Handoffs
  5. Task switching
  6. Delays
  7. Defects
.

Chapter 5 is a small chapter on speed and gives some advice about how to deliver fast. The "People" chapter can be best summarized as being on the topic of empowerment, while "Knowledge" (chapter 7) is a pretty content-rich chapter with contents such as A3 reports, set-based-design, pointers on many aspects of software development, and a rather scientific approach to process-improvement.

In the eight chapter we get a success story, and a huge mixture of concepts and practices that are related to quality in one way or the other.

Mutually beneficial partnerships are discussed in chapter 9, while the last chapter is a mandatory wrap up.

It's not easy to say what the chapters are really about in detail. They cover lots of ground!

Opinion

I have to start by saying that this book was quite difficult to read, and as a natural consequence, hard to review. This stems from my perception of the book being on two completely different topics. One is obviously lean as in Toyota plants, while the rest is about agile software development.

While the very purpose of this book is to demonstrate how principles that revolutionized car manufacturing apply to software production, this connection isn't always natural, in my opinion. I don't always agree with how the authors have cross-linked corresponding concepts in these two domains. Somebody else my find these connections and conclusions obvious, and thus achieve more fluency in the reading. Nevermind.

Apart from the above, and the fact that reading this book was like kicking in open doors, I think it's an excellent book: those who want an introductory overview of all lean buzzwords (and the fancy Japanese terms) will get their share, and those who want lean perspectives on the development process will be happy to. Try this quote for example:

One of the puzzling aspects of "waterfall" development is the idea that knowledge, in the form of "requirements", exists prior to and separate from coding. Software creation is a knowledge-creating process.

Content-wise, the absolute peak of this book is in chapters 2-4. The principles and myths, discussed in chapter two, are extremely thought-worthy. In chapter three we find a statement about software bing a product, not a project, which has long-stretching implications on for example, funding.

The discussion of wastes in software development is excellent, and this is a spot where the correspondence between software development and manufacturing is natural. A very good chapter, that we should read regularly in order to remember and apply its contents.

In my opinion the book peeks, as said earlier, in the first chapters, and then heads towards a steady decline. There's is a cool summation part, near the end, where pretty much everything you should know about agile development is summarized in a few pages (stated as assertions), but that's it. The end is bleak.

My general conclusion is that the authors were very ambitious about the contents and tried to squeeze in everything about lean practices and agile development in not too many pages. This resulted in a very dense book with somewhat incoherent contents. If you don't mind that, it's an excellent book, that teaches you a lot about how to organize the software development process. Also, it's the successor to the first lean classic, so it's worth reading for that very sake. Recommendation with caution.

By the way, the book contains many of Mary Poppendieck's war stories. They get quite tiresome after a while...

Who should read this book

Apart from its predecessor, this is the book on lean software development. Therefore, lean and agile practitioners, and those who are interested in non-waterfall software development, want to read this.




News

  • 2015-09-29

    It's been almost one and a half year since I reviwed a book! I've been too absorbed by Writing my own. Anyway, I'm back with Jeff Patton's relatively...
  • 2014-01-04

    New category! Performance! Reviewed The Every Computer Performance Book. Check it out!
  • 2013-09-10

    Reviewed a book that' slightly less technical, but much more fun to read. It's I.T. Confidential.
  • 2013-08-13

    Reviewed yet another book on Visual Studio 2012 and TFS. I also created a "Microsoft" category and moved the other TFS book there from the "Tools"...
  • 2013-08-05

    Updated the FAQ. Included information about getting a book reviewed.