This is
an amazing book! The
Art of Agile Development is nothing less than 10+ years' worth of agile
development experience distilled into a single compendium of practical insight
and mindful application of Agile practices and principles. James Shore and Shane Warden have succeeded
marvelously in doing exactly what they set out to do: "packed everything we
knew about the day-to-day practice of agile development into 400 pages ... to provide
a complete how-to guide and starter kit for beginning and intermediate agile
practitioners" (quoted from the
book's website).
The book
is split up into three parts: Getting
Started, Practicing XP, and Mastering Agility. The focus is almost
exclusively on Extreme Programming (XP) and its practices, and at one point
during reviews of draft chapters I had commented that the book seemed more
about the craft of XP rather than the more general art of agility. That is certainly true, but it is also much more. The
chapters on Mastering Agility, and even much of the insights generously
sprinkled throughout the rest of the text, manage to transcend the specifics of
XP and get to the crux of what it means for a software development project to
be agile.
The book
is ideally suited for someone who is a member or lead of a small-to-moderate
sized project team. It gives them everything they need to know to gain an
initial understanding of Agile/XP, start practicing it, and then tweak and tune
it as necessary as they increase their understanding and effectiveness with it.
This book
is very clearly aimed technical practitioners and coaches. For those who are
more interested in a book covering more of the management and planning aspects
of how to adapt agile to a large, multi-sited corporate environment, this is probably
not the book for you (although there are certainly many helpful hints about how
one can adapt some of the practices in a geographically dispersed setting).
Several of XP's project management practices are also covered. And while there
are certainly other books that focus more specifically on Agile project
management in particular, there is still plenty of practical project-management
related knowledge that is important for software development practitioners to
know which the authors do an outstanding job of explaining.
One of the best things about the book is the way it is so
thoroughly organized beyond the mere parts and chapters:
- Practically
every other page has at least one "tip," "note," or key point highlighted
in large font.
- All
throughout each described practice are thumb-tabs visible from the side of
the book (when it is closed) which call out the "Allies" (other practices)
that synergistically support that practice and the page each supporting
practice is described on.
- Each
practice also has a very visible note indicating its target audience, as
well as sections for how-to, common questions, results, contraindications,
alternatives, and often one or more prerequisites and/or organizational
strategies to help the reader see how to apply it in his own workplace.
- The
supporting pictures, graphs, charts, and tables are all clear and
compelling.
- The
authors clearly know that there is more than just the technical side of
development and development practices. They explicitly address specific
key factors of each practice related to underlying agile principles,
organizational culture, and teamwork and collaboration.
Throughout each page of the book, it instills within the
reader the very attitude of collaboration and technical excellence that
underlies the principles and practices it describes.
I
can't think of a better XP practitioner-guide to date that conveys both the
practices and principles of XP for novices and intermediate-level readers, and
also goes beyond explaining them to provide quintessential insights, tips,
contraindications, alternatives, and organizational strategies for how to
overcome the many technical and organizational barriers that can stall an
otherwise successful attempt adopting XP.
About the Reviewer
Brad
Appleton is an enterprise SCM/ALM solution architect for a Fortune 100
technology company. Currently he helps projects and teams adopt and apply agile
development & SCM practices. Brad also author's the Agile CM Environments blog, and is
co-author of Software
Configuration Management Patterns: Effective Teamwork, Practical Integration, the
"Agile SCM" column
in CMCrossroads.com's CM
Journal, and is a former section editor for The C++ Report. Since 1987,
Brad has extensive experience using, developing, and supporting SCM
environments for teams of all shapes and sizes. He holds an M.S. in Software
Engineering and a B.S. in Computer Science and Mathematics.
Comments () |
 |
|
|
|
Tags:
ali,
Click to add your tags...,
|