Book Review - Implementing Lean Software Development by Mary and Tom Poppendieck
Category Book Reviews
I don't think I've ever tried to fit software development into the model of lean manufacturing techniques. But surprisingly, it has a number of parallels, and they are outlined well in the book Implementing Lean Software Development - From Concept to Cash by Mary and Tom Poppendieck.
Contents: History; Principles; Values; Waste; Speed; People; Knowledge; Quality; Partners; Journey; Bibliography; Index
The authors take the Deming-type principles of manufacturing and show how they relate to agile software development, using many of the same concepts and terms that have been handed down to us from the Japanese methodologies that revolutionized manufacturing. For instance, Shingo's seven wastes of manufacturing get translated into the seven wastes of software development: In-Process Inventory (Partially Done Work), Over-Production (Extra Features), Extra Processing (Relearning), Transportation (Handoffs), Motion (Task Switching), Waiting (Delays), and Defects (Defects). To take one of them specifically... Over-production is the making of product that isn't immediately needed. It builds up, costs money to store and maintain, and may never be used if the requirements change before the product is used. Likewise, extra features in software, ones not needed to get the customer's job done, should be avoided at all costs. It's code that needs to be maintained, it can break software that *is* essential, and the requirements for the feature may change dramatically by the time it is actually requested. Granted, these are guidelines and not hard-and-fast rules, but they make a lot of sense in terms of making the software development process more efficient and productive.
Both authors have a manufacturing background in their software development past, so the content is liberally sprinkled with real-life examples of these guidelines as they have played out in companies. It's amazing how we accept things in software development that we would never stand for in a well-run manufacturing set-up (such as running your "machines" over 100% capacity for long periods of time... sound familiar?)
If you're having a hard time getting your organization to give "agile" methodologies a try, you might want to reframe the discussion around "lean" software development. You could break out of the language misconceptions and discover new insights. This book can help you make that leap...
I don't think I've ever tried to fit software development into the model of lean manufacturing techniques. But surprisingly, it has a number of parallels, and they are outlined well in the book Implementing Lean Software Development - From Concept to Cash by Mary and Tom Poppendieck.
Contents: History; Principles; Values; Waste; Speed; People; Knowledge; Quality; Partners; Journey; Bibliography; Index
The authors take the Deming-type principles of manufacturing and show how they relate to agile software development, using many of the same concepts and terms that have been handed down to us from the Japanese methodologies that revolutionized manufacturing. For instance, Shingo's seven wastes of manufacturing get translated into the seven wastes of software development: In-Process Inventory (Partially Done Work), Over-Production (Extra Features), Extra Processing (Relearning), Transportation (Handoffs), Motion (Task Switching), Waiting (Delays), and Defects (Defects). To take one of them specifically... Over-production is the making of product that isn't immediately needed. It builds up, costs money to store and maintain, and may never be used if the requirements change before the product is used. Likewise, extra features in software, ones not needed to get the customer's job done, should be avoided at all costs. It's code that needs to be maintained, it can break software that *is* essential, and the requirements for the feature may change dramatically by the time it is actually requested. Granted, these are guidelines and not hard-and-fast rules, but they make a lot of sense in terms of making the software development process more efficient and productive.
Both authors have a manufacturing background in their software development past, so the content is liberally sprinkled with real-life examples of these guidelines as they have played out in companies. It's amazing how we accept things in software development that we would never stand for in a well-run manufacturing set-up (such as running your "machines" over 100% capacity for long periods of time... sound familiar?)
If you're having a hard time getting your organization to give "agile" methodologies a try, you might want to reframe the discussion around "lean" software development. You could break out of the language misconceptions and discover new insights. This book can help you make that leap...


