SPECIAL OFFER: Upgrade this ebook with OReilly
for more information on this offer!
Please note that upgrade offers are not available from sample content.
Preface
The most valuable of all talents is that of never using two words when one will do.
Thomas Jefferson
Everything has a beginning.
Sometimes you can point to a single event that set the wheels in motion, whereas other times a soup of ideas, events, and thoughts coagulate in some mysterious way that we never fully comprehend. In the case of this book, the single event model definitely applies.
Curt remembers it like it was yesterdaythe first time he sat down with a colleague to discuss Lean software development. As they discussed what Lean thinking meant when applied to software development, the colleague asked one simple question: If I could do only one thing, what should that be?
It was a good question, a question that stuck in Curts mind like a song that you cant stop hearing in your head, over and over. Pondering this question led him to better understand how much software developers and managers really want to believe that this Lean and Agile development stuff can help them. They feel like they ought to do something, but theyre reluctant (or unable) to adopt a whole methodology because of a legitimate fear of failure.
Its like asking someone to jump off a cliff with a handy-dandy new jet pack strapped to his back, saying, Trust me, this will get you to the other side of that chasm much faster. Maybebut what are the consequences if it doesnt work?
If thats how you feel, this book is for you.
The Lean approach has been yielding dramatic results in manufacturing for decades, and now Lean is being applied just as successfully to the supply chain, product design, engineering, and even software development! At the same time, the Agile software development methodologies have been proving the value of the very same core practices recommended for Lean software development.
These core practices are common to every Agile methodology and Lean software development implementation. Best of all, these practices can be adopted one at a time and still provide substantial benefitsyou dont have to swallow the elephant whole to see benefits.
Many people mistakenly think that Lean and Agile are two names for the same thing. Lean and Agile software development have the same goalto increase quality and productivitybut they take different philosophical approaches to get there. The first part of this book presents the Lean software development principles. We discuss the differences between the Lean and Agile perspectives as well as the similarities.
The second part of this book presents the core practices, ordered by value. We tell you which practice you should use first to get the most return for your effort and, if you are already doing that, we show you which practice you should adopt next.
This book covers, in detail, the five most important practices that you can adopt as you begin your Lean software development journey. These are simple, incremental steps you can take to lean out your software developmentone step at a time!
As you master each practice, you will see significant, measurable results. These successes will give you a deeper understanding of the power of applying Lean thinking to software development.
The more improvements you make to your software development process, the more attuned you will become to the impediments that still exist (waste, in Lean terms). This will give you the knowledge and ability to start making your own value judgments about how to continue improving your software development process. After all, Lean is a journey, not a destination!
Who Should Read This Book?
This book is for software developers and managers of software developers who are new to Lean software development and, possibly, new to Agile software development. It is for those who want to quickly understand why Lean software development is important and what it can do for you.
This is purposefully a short book, with short chapters. We know that you are just as busy as we are, and we dont believe in padding our chapters with useless fluff. In every chapter we try to be as succinct and to-the-point as possible. Our goal is to introduce you to the important topics and resources so that you know where to go when you need more details.
Conventions Used in This Book
The following typographical conventions are used in this book:
ItalicIndicates new terms, URLs, email addresses, filenames, and file extensions.
Constant width
Indicates computer code in a broad sense, including commands, options, switches, variables, attributes, keys, functions, types, classes, namespaces, methods, modules, properties, parameters, values, objects, events, event handlers, XML tags, HTML tags, macros, the contents of files, and the output from the commands.
Using Code Examples
This book is here to help you get your job done. In general, you may use the code in this book in your programs and documentation. You do not need to contact us for permission unless youre reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing a CD-ROM of examples from OReilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your products documentation does require permission.
We appreciate, but do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN. For example, The Art of Lean Software Development by Curt Hibbs, Steve Jewett, and Mike Sullivan. Copyright 2009 Curt Hibbs, Stephen Jewett, and Mike Sullivan, 978-0-596-51731-1.
If you feel your use of code examples falls outside fair use or the permission given above, feel free to contact us at
Safari Books Online
Note
When you see a Safari Books Online icon on the cover of your favorite technology book, that means the book is available online through the OReilly Network Safari Bookshelf.