Synopses & Reviews
This succinct book explains how you can apply the practices of Lean software development to dramatically increase productivity and quality. Based on techniques that revolutionized Japanese manufacturing, Lean principles are being applied successfully to product design, engineering, the supply chain, and now software development. With The Art of Lean Software Development, you'll learn how to adopt Lean practices one at a time rather than taking on the entire methodology at once. As you master each practice, you'll see significant, measurable results. With this book, you will:
- Understand Lean's origins from Japanese industries and how it applies to software development
- Learn the Lean software development principles and the five most important practices in detail
- Distinguish between the Lean and Agile methodologies and understand their similarities and differences
- Determine which Lean principles you should adopt first, and how you can gradually incorporate more of the methodology into your process
- Review hands-on practices, including descriptions, benefits, trade-offs, and roadblocks
- Learn how to sell these principles to management
The Art of Lean Software Development is ideal for busy people who want to improve the development process but can't afford the disruption of a sudden and complete transformation. The Lean approach has been yielding dramatic results for decades, and with this book, you can make incremental changes that will produce immediate benefits.
"This book presents Lean practices in a clear and concise manner so readers are motivated to make their software more reliable and less costly to maintain. I recommend it to anyone looking for an easy-to-follow guide to transform how the developer views the process of writing good software."-- Bryan Wells, Boeing Intelligence & Security Sytems Mission System
"If you're new to Lean software development and you're not quite sure where to start, this book will help get your development process going in the right direction, one step at a time."-- John McClenning, software development lead, Aclara
This succinct book explains how users can apply the practices of Lean software development to dramatically increase productivity and quality. As developers master each practice, they will see significant, measurable results. It is ideal for busy people who want to improve the development process but can't afford the disruption of a sudden and complete transformation.
About the Author
Curt Hibbs has always been slightly obsessed with new technologies and tracking technology trends. But he will tell you that this is simply because he is lazy, always looking for new methods and technologies to make his work easier and more productive. This led to his discovery of Ruby in 2001 (when it was still relatively unknown outside of Japan) and to his founding several highly successful Ruby open source projects.
For most of his professional career, which started in the early 1970's, Curt has been a consultant to well-known companies like Hewlett Packard, Intuit, Corel, WordStar, Charles Schwab, Vivendi Universal, and more. He has also been a principal in several startups. Curt now works as a Senior Software Engineer for The Boeing Company in St. Louis.
Steve Jewett is a software developer with The Boeing Company, where he is involved in the development of network-centric cognitive decision support systems. His software experience started with BASIC and FORTRAN on a DEC PDP 1170 back in high school. The trail from there to the present day includes a litany of languages, a broad spectrum of design strategies and development methodologies, and a bevy of software projects, some of which were actually successful. Over a 20+ year career, he has developed software for automated test equipment, weapon/aircraft integration, embedded systems, desktop applications and web applications. His primary areas of interest are software architecture design and software development methodologies, particularly agile software development and its relationship to lean processes.
Mike Sullivan has over 6 years of experience teaching at the university level, and has spent the last 4 years working with software teams in small companies and large corporations to drive valuable solutions and improve team dynamics. He is currently working in a small research team within a large corporation, implementing Lean techniques to improve the software his team delivers. Mike's interests include golf, Cardinals baseball and teaching.
Table of Contents
Preface; Who Should Read This Book?; Conventions Used in This Book; Using Code Examples; Safari® Books Online; Comments and Questions; Acknowledgments; Chapter 1: Why Lean?; 1.1 The Problem with Software Development; 1.2 The Agile Success Story; 1.3 The Lean Success Story; 1.4 Lean Principles; Chapter 2: Applying Lean to Software Development; 2.1 Lean Software Development; 2.2 Lean Versus Agile; 2.3 Getting Started; Chapter 3: Practice 0: Source Code Management and Scripted Builds; 3.1 About Zero Practices; 3.2 Source Code Management; 3.3 Scripted Builds; 3.4 Discipline in an Integrated Environment; 3.5 Summary; Chapter 4: Practice 1: Automated Testing; 4.1 Why Test?; 4.2 What Is Automated Testing?; 4.3 Kinds of Tests; 4.4 Approaches to Testing; 4.5 Summary; Chapter 5: Practice 2: Continuous Integration; 5.1 End-to-End Automated Builds; 5.2 Dedicated Build Servers; 5.3 Continuous Integration Software; 5.4 Implementing Continuous Integration; 5.5 Continuous Integration Builds Quality in; 5.6 Resistance to Implementing CI; 5.7 Summary; Chapter 6: Practice 3: Less Code; 6.1 Leaning out the Codebase; 6.2 Developing Less Code; 6.3 Resistance to "Less Code"; 6.4 Summary; Chapter 7: Practice 4: Short Iterations; 7.1 Short Iterations Generate Customer Value; 7.2 Developing with Short Iterations; 7.3 The Fallacy of Iterative Development; 7.4 Big Tasks in Little Pieces; 7.5 Summary; Chapter 8: Practice 5: Customer Participation; 8.1 Customer Participation Is a Two-Way Street; 8.2 Paving the Street; 8.3 An All-Too-Common Problem; 8.4 Summary; Chapter 9: What Next?; 9.1 Lean Thinking and the Analysis Practices; 9.2 Kaizen; 9.3 Kaizen Workshops; 9.4 Value Stream Maps; 9.5 Other Lean Techniques; 9.6 Other Complementary Approaches; 9.7 Where to Go from Here; Resources; Chapter 1: Why Lean?; Chapter 2: Applying Lean to Software Development; Chapter 3: Practice 0: Source Code Management and Scripted Builds; Chapter 4: Practice 1: Automated Testing; Chapter 5: Practice 2: Continuous Integration; Chapter 6: Practice 3: Less Code; Chapter 7: Practice 4: Short Iterations; Chapter 8: Practice 5: Customer Participation; Chapter 9: What Next?; Other; Colophon;