InfoQ

InfoQ

Article

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Book Excerpt: Implementing Lean Software Development: From Concept to Cash

Posted by Mary Poppendieck and Tom Poppendieck on Sep 18, 2006

Sections
Process & Practices,
Architecture & Design
Topics
Methodologies ,
Agile ,
Delivering Value
Tags
Book ,
Introducing Agile ,
Continuous Improvement ,
Lean

In 2003, Mary and Tom Poppendieck's Lean Software Development introduced development techniques that adapt the principles of Lean manufacturing and logistics (like the Toyota Production system, which revolutionized the automobile industry) for use in software development.  Now their second book, Implementing Lean Software Development: From Concept to Cash, offers a companion guide: a blend of history, theory, and practice which shows exactly how to implement Lean software development, hands-on. 

RelatedVendorContent

The Agile Tester

Transforming Software Delivery: An IBM Rational Case Study

Kanban for Agile Teams

18 agile and lean practices for effective software development governance

Agility at scale, become as agile as you can be

Related Sponsor

In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!

As always, the Poppendiecks' aim is to allow organizations to deliver unprecedented agility and value. This book is written for anyone who wants a more effective development processes - managers, project leaders, senior developers, and architects in enterprise IT and software companies alike.

For those unfamiliar with their first book, Lean Software Development: An Agile Toolkit for Software Development Managers, the authors used well-proven lean concepts from the 1980’s and 1990’s to help explain why agile methods are a very effective approach to software development, and won the Jolt Software Development Productivity Award in 2004  The book really is a toolkit - offering basic ideas and practices, building blocks which a team can use to incrementally build an exceptional process over time. 


The InfoQ book excerpt from the new book
is
Chapter 2: Principles
, covering the 7 principles underlying both books:

The 7 Principles of Lean Software Development:

  1. Eliminate Waste
    The three biggest wastes in software development are: Extra Features, Churn, Crossing Organizational Boundaries.
  2. Build Quality In
    If you routinely find defects in your verification process, your process is defective.
  3. Create Knowledge
    Planning is useful. Learning is essential. Predictable performance is driven by feedback.
  4. Defer Commitment
    Abolish the idea that it is a good idea to start development with a complete specification.
  5. Deliver Fast
    Lists and queues are buffers between organizations that simply slow things down.
  6. Respect People
    Engaged, thinking people provide the most sustainable competitive advantage.
  7. Optimize the Whole
    Brilliant products emerge from a unique combination of opportunity and technology.

The new book draws on the their extensive experience helping development organizations optimize the entire software value stream, an important approach which Mary practiced years ago at 3M, where software development is seen as as simply one part of the entire product development process, or "value stream". They present the right questions to ask, the key issues to focus on, and techniques proven to work.

The book's preface summarizes its content: the first chapter of this book reviews the history of lean, and the second chapter reviews the seven principles of lean software development. These are followed by chapters on value, waste, speed, people, knowledge, quality, partners, and the journey ahead. Each of these eight chapters begins with a story that illustrates how one organization dealt with the issue at hand, for example: How PatientKeeper delivers 45 rock-solid releases per year. This is followed by a discussion of key topics the authors have found to be important, along with short stories that illustrate the topic and answers to typical questions they often hear. Each chapter ends with a set of exercises that helps practitioners explore the topics more deeply.

In the exclusive InfoQ book excerpt, Chapter 2: Principles, the authors look at how Lean practices from manufacturing and supply chain management don’t translate directly to software development, because both software and development are individually quite different than operations and logistics.  They look at where these disciplines differ, and how they needed to adapt Lean's basic ideas to the characteristics of software development. 

They then go on to illustrate each of the seven principles they developed: Eliminate Waste, Build Quality In, Create Knowledge, Defer Commitment, Deliver Fast, Respect People, and ending with these illustrations of Principle 7: Optimize the Whole:

Software development is legendary for its tendency to suboptimize.

Vicious Circle No. 1 (of course, this would never happen at your company):
A customer wants some new features, “yesterday.” Developers hear: Get it done fast, at all costs!
  • Result: Sloppy changes are made to the code base.
  • Result: Complexity of the code base increases.
  • Result: Number of defects in the code base increases.
  • Result: There is an exponential increase in time to add features.
Vicious Circle No. 2 (and this wouldn’t happen at your company either):
Testing is overloaded with work.
  • Result: Testing occurs long after coding.
  • Result: Developers don’t get immediate feedback.
  • Result: Developers create more defects.

The authors point out that a lean organization optimizes the whole value stream, from the time it receives an order to address a customer need until software is deployed and the need is addressed.  They point out that, if an organization focuses on optimizing something less than the entire value stream, it's almost guaranteed that the overall value stream will suffer.  This is a major theme of the book, which offers the tools to root out sub-optimization and other forms of inefficient process.

Note: for those who are members, this book is now available on O'Reilly's Safari Online.


About the Authors

Mary Poppendieck is a popular writer and speaker in the software world. She has been in the Information Technology industry for thirty years, managing solutions for companies in several disciplines, including supply chain management, manufacturing systems, and digital media. As a seasoned leader in both operations and new product development, she brings a practical, customer-focused approach to software development problems.

Mary first encountered the Toyota Production System in her role as Information Systems Manager in a video tape manufacturing plant, a process which later became known as Lean Production. She implemented one of the first Just-in-Time systems in 3M, resulting in dramatic improvements in the plant's performance.

Tom Poppendieck has 25 years of experience in computing. His early work was in IT infrastructure, product development, and manufacturing support, and evolved to consulting project assignments in healthcare, logistics, mortgage banking, and travel services.

Tom is an enterprise analyst and architect, and an agile process mentor. He focuses on identifying real business value and enabling product teams to realize that value. Tom specializes in understanding customer processes and in effective collaboration of customer, development and support specialists to maximize development efficiency, system flexibility, and business value.  He led the development of a world-class product data management practice for a major commercial avionics manufacturer that reduced design to production transition efforts from 6 months to 6 weeks.


This material has been posted by permission of Pearson Education. It is taken from the publication Implementing Lean Software Development by Mary Poppendieck and Tom Poppendieck, ©2007 Pearson Education. ISBN: 0-321-43738-1


Related content: Mary and Tom Poppendieck Discuss Their Next Book
  • This article is part of a featured topic series on Agile
Broken link by Eric Torreborre Posted
Re: Broken link by Deborah Hartmann Posted
Re: Broken link by Eric Torreborre Posted
Re: Broken link by Deborah Hartmann Posted
ERROR : broken link even today by anjan bacchu Posted
Re: ERROR : broken link even today by Deborah Hartmann Posted
  1. Back to top

    Broken link

    by Eric Torreborre

    Hi, the link to the sample chapter is broken,...
    Thanks,
    Eric.

  2. Back to top

    Re: Broken link

    by Deborah Hartmann

    Links work for me... what browser are you using? Pls send further details to me at deborah a t infoq d o t com - I'll see what I can do. Thanks for letting us know.

  3. Back to top

    Re: Broken link

    by Eric Torreborre

    Hi Deborah,

    I tried this link in both Firefox and IE
    www.infoq.com/resource/news/poppendieck-impleme...

    and got a:

    "Oops! The server couldn't find the requested information" message.

    Anyway, I can wait for the book, I have pre-ordered it 3 months ago,...

  4. Back to top

    Re: Broken link

    by Deborah Hartmann

    Solved. Thanks for your patience.

  5. Back to top

    ERROR : broken link even today

    by anjan bacchu

    www.infoq.com/resource/news/poppendieck-impleme...

    is broken. Monitoring comment logs for strings like broken/error can make it easy to manage forums like these.

    BR,
    ~A

  6. Back to top

    Re: ERROR : broken link even today

    by Deborah Hartmann

    Uh oh, there were two links, only one got fixed. Done.

Educational Content

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.