Shane and I divided our book up into three parts: Getting Started, Practicing XP, and Mastering Agility. I thought that having a topic on each of these subjects might generate some interesting conversations. I'll be following the other threads and responding to them as well.
"Getting Started" is about the basics of agility and Extreme Programming. (We chose to focus on XP in our book--I'll explain why, and why the book is called "The Art of Agile Development"--in the Extreme Programming thread.)
Topics covered in this part of the book:
How to Be Agile (this is about choosing an agile method, and why we chose XP for the book)
[ October 30, 2007: Message edited by: James Shore ]
James Shore, coauthor of <a href="http://www.amazon.com/Art-Agile-Development-James-Shore/dp/0596527675" target="_blank" rel="nofollow">The Art of Agile Development</a>. Website and blog at <a href="http://www.jamesshore.com" target="_blank" rel="nofollow">http://www.jamesshore.com</A> .
IMO, agile method is a very good practice in software development. I wonder whether there are any statistics or research data on the acceptance level by the industry, especially the acceptance level by those major players, like Microsoft, Adobe, Oracle, IBM, Google, etc.
greenapple, Welcome to the ranch. Could you please check the Naming Policy and change your name accordingly.
Joined: Sep 21, 2007
No, we don't compare to other agile methods in the "Why Agile?" chapter. It's more of a brief rationale for agile development. We talk about the danger of thinking of agile as a silver bullet and how, despite its current popularity, agile development is only worth trying if it can improve your ability to deliver successful software.
Then we spend some time talking about the flaws of the traditional definition of success ("on time, on budget, as specified") and present an alternative definition of success instead ("organizational success, technical success, and personal success"). We wrap up by talking about how agile development might help the reader be more successful in those three areas.
In the second chapter ("How to Be Agile"), we explain why we chose XP, but again we don't compare with other methods. Here's our explanation:
The Road to Mastery
The core thesis of this book is that mastering the art of agile development requires real-world experience using a specific, well-defined agile method. I've chosen Extreme Programming for this purpose. It has several advantages:
Of all the agile methods I know, XP is the most complete. It places a strong emphasis on technical practices in addition to the more common teamwork and structural practices.
XP has undergone intense scrutiny. There are thousands of pages of explanations, experience reports, and critiques out there. Its capabilities and limitations are very well understood.
I have a lot of experience with XP, which allows me to share insights and practical tips that will help you apply XP more easily.