View Review Details


Book:   The Art of Agile Development
Subject:   Agile and XP Grow Up
Date:   2007-12-21 21:30:04
From:   Rob Myers
Rating:  StarStarStarStarStar

This book is very well-timed. Now that agile development practices are "crossing the chasm" towards professionally accepted standards, this book reminds us that "agile" is neither a narrow, prescriptive set of standardized practices, nor a free-for-all smorgasbord of every possible practice.


This book will give teams and their management the information necessary to make informed decisions about the make-up of a software product team, and how it operates. The Art of Agile Development is intelligent, thoughtful, professional, and realistic. It is based on years of varied experiences, and it reveals a well-tested set of recommendations.


Part I


The book starts out with high-altitude answers to "Why?" and "How?" and a satisfying definition of "success." This is followed by a story of a hypothetical XP team. The story is full of dialog revealing the day-to-day functioning of a well-running team as a new hire joins the team. That dialog may seem contrived, but it's likely more of a composite of things heard on various teams. Yes, agile teams do enjoy their work, and people who enjoy their work talk about it as portrayed. I think this portrayal brings forth an important decision for the reader: Do you suspect that your development teams could truly run more smoothly, or are you merely looking for a way to dismiss this weird new "agile movement" and get on with your agonizing career? (Either way, keep reading!)


Part II


The second section of the book is a detailed exploration of the development practices recommended by the authors. There are a number of practices recognizable from XP, with some additional thoughtful practices, some realistic alterations, and some notable replacements. As I said, this is neither a full buffet, nor is it a restrictive diet. This is a menu prepared by two experienced chefs. They talk about contraindications and alternatives for each practice, but they also warn of the pitfalls of removing key ingredients.


Each chapter, or practice, comes with embedded boxes highlighting important points, and "allies," which are the names of other related (and supporting) practices and their page numbers. These allies appear in little grey boxes in the margins. They give you the ability to use the book as a reference, but they also paint an important picture of how the practices fit together.


I have to give special credit to the authors for the chapter they call simply "Trust." Under "alternatives" they state rather clearly that there are none. No replacement for trust! It seems so obvious, and yet teams struggle every day because they don't have it. The authors, thankfully, provide suggestions for establishing lasting trust.


Another noteworthy chapter is "No Bugs." If you're standing in the bookstore trying to decide whether or not to buy the book, turn to this chapter. These practices bring numerous others into focus. Again, if you're thinking "pipe dream," keep reading. If you follow this menu conscientiously and rigorously, you will arrive at the sweet dessert of extremely high-quality code.


Part III


Have you ever had a delicious meal at a friend's house, obtained the recipe, tried it for yourself, and thought "Oh, that didn't turn out well!" What can you do?


It takes experience (and that means real time in the kitchen) before you can comfortably tweak a chef's recipe. You can also go back to your experienced friend and ask for advice or clarification. This book provides the same opportunity. Read Parts I and II, go try it for a while, then come back to Part III.


This section describes the underlying values and principles behind the agile practices, and will help your new process and your team's existing culture work together towards greater and greater success. If a lot of the chapter titles in this section sound like Lean product-development principles, well, I think that's intentional.


It is perhaps difficult to pinpoint what is truly "agile." This book represents true agility without claiming to fully define it, and I hope it helps others on real software projects navigate a successful jump across the chasm.


This is mature, no-nonsense agility, in book form!


See larger cover