Preface
Q: How do you get to Carnegie Hall?
A: Practice, practice, practice!
I want to help you master the art of Agile development.
Agile development, like any team-based approach to software development, is a fundamentally human art, subject to the vagaries of individuals and their interactions. To master Agile development, you must learn to evaluate myriad possibilities, moment to moment, and intuitively pick the best course of action.
How can you possibly learn such a difficult art? Practice!
First and foremost, this book is a how-to guide. It’s a detailed description of one way to practice Agile development. It’s based on Extreme Programming, but it also brings in ideas and practices from Scrum, Kanban, DevOps, Lean Software Development, Lean Startup, and more. Ultimately, it’s a practical guide that will allow you to successfully bring Agile development to your team and organization—or it will help you discover that Agile isn’t a good choice for your situation.
Second, this book exists to help you master the art of Agile development. Mastering agility means going beyond a cookbook of practices. Software development is too context-sensitive for one approach to be a perfect fit, and too nuanced for any book to teach you how to master it. Mastery comes from within: from experience and an intuitive understanding of the ripples caused by a pebble of a choice.
I can’t teach you how your choices will ripple throughout your organization. I don’t try. You must provide the nuance ...