Lean Software Development: An Agile Toolkit (The Agile Software Development Series)

Paperback
from $0.00

Author: Mary Poppendieck

ISBN-10: 0321150783

ISBN-13: 9780321150783

Category: Programming Methodology

Lean Software Development: An Agile Toolkit\ Mary Poppendieck Tom Poppendieck\ Forewords by Jim Highsmithand Ken Schwaber\ \ Adapting agile practices to your development organization\ Uncovering and eradicating waste throughout the software development lifecycle\ Practical techniques for every development manager, project manager, and technical leader\ \ Lean Software Development: An Agile Toolkit\ Lean software development: applying agile principles to your organization\ In Lean Software...

Search in google:

Lean Software Development shows software professionals how to achieve breakthrough quality, savings, speed, and business value by adapting the seven "lean" principles that have already revolutionized manufacturing and R&D. Drawing on 25+ years' experience leading enterprise projects, the authors show how to use these principles to create agile processes that work - because they're optimized for your environment.

Preface \ I used to be a really good programmer. My code controlled telephone switching systems, high energy physics research, concept vehicles, and the makers and coaters used to manufacture 3M tape. I was equally good at writing Fortran or assembly language, and I could specify and build a minicomputer control system as fast as anyone. After a dozen or so years of programming, I followed one of my systems to a manufacturing plant and took the leap into IT management. I learned about materials control and unit costs and production databases. Then the quality-is-free and just-intime movements hit our plant, and I learned how a few simple ideas and empowered people could change everything.\ A few years later I landed in new product development, leading commercialization teams for embedded software, imaging systems, and eventually optical systems. I liked new product development so much that I joined a start-up company and later started my own company to work with product development teams, particularly those doing software development.\ I had been out of the software development industry for a half dozen years, and I was appalled at what I found when I returned. Between PMI (Project Management Institute) and CMM (Capability Maturity Model) certification programs, a heavy emphasis on process definition and detailed, front-end planning seemed to dominate everyone's perception of best practices. Worse, the justification for these approaches was the lean manufacturing movement I knew so well. I was keenly aware that the success of lean manufacturing rested on a deep understanding of what creates value, why rapid flow is essential, and how to release the brainpower of the people doing the work. In the prevailing focus on process and planning I detected a devaluation of these key principles. I heard, for example, that detailed process definitions were needed so that "anyone can program," while lean manufacturing focused on building skill in frontline people and having them define their own processes.\ I heard that spending a lot of time and getting the requirements right upfront was the way to do things "right the first time." I found this curious. I knew that the only way that my code would work the first time I tried to control a machine was to build a complete simulation program and test the code to death. I knew that every product that was delivered to our plant came with a complete set of tests, and "right the first time" meant passing each test every step of the way. You could be sure that next month a new gizmo or tape length would be needed by marketing, so the idea of freezing a product configuration before manufacturing was simply unheard of. That's why we had serial numbers—so we could tell what the current manufacturing spec was the day a product was made. We would never expect to be making the exact same products this month that we were making last month.\ Detailed front-end planning strikes me as diametrically opposed to lean manufacturing principles. Process definition by a staff group strikes me as diametrically opposed to the empowerment that is core to successful lean manufacturing. It seems to me that the manufacturing metaphor has been misapplied to software development. It seems to me that CMM, in its eagerness to standardize process, leaves out the heart of discovery and innovation that was the critical success factor in our move to total quality management. We knew in manufacturing that ISO9000 and even Malcolm Baldrige awards had little or nothing to do with a successful quality program. They were useful in documenting success, but generally got in the way of creating it. It seems to me that a PMI certification program teaches a new project manager several antipatterns for software project management. Work breakdown. Scope control.\ Change control. Earned value. Requirements tracking. Time tracking. I learned all about these when I was a program manager for government contracts at 3M, and was keenly aware of the waste they added to a program. We certainly knew better than to use them on our internal product development programs, where learning and innovation were the essential ingredients of success.\ This is not to say that CMM and PMI are bad, but only that for anyone who has lived through the lean revolution, they tend to give the wrong flavor to a software development program. In this book we hope to change the software development paradigm from process to people, from disaggregation to aggregation, from speculation to data-based decision making, from planning to learning, from traceability to testing, from cost-and-schedule control to delivering business value. If you think that better, cheaper, and faster can't coexist, you should know that we used to think the same way in the pre-lean days of manufacturing and product development. However, we learned that by focusing on value, flow, and people, you got better quality, lower cost, and faster delivery. We learned that from our competitors as they took away our markets. May you lead your industry in lean software development.\ Mary Poppendieck

ForewordForewordPrefaceIntroductionCh. 1Eliminate Waste1Ch. 2Amplify Learning15Ch. 3Decide as Late as Possible47Ch. 4Deliver as Fast as Possible69Ch. 5Empower the Team95Ch. 6Build Integrity In125Ch. 7See the Whole153Ch. 8Instructions and Warranty179Bibliography187Index195