As I said in my last two posts, 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.
"Mastering Agility" is one of my favorite parts of the book. In the first two parts, we're very focused and pragmatic, but that also requires us to make some simplifying assumptions. We only cover one agile method (XP), we tell you to have everybody sit in the same room, and so on. These are good choices (or so I think!) because it makes learning the material easier.
In Part III, we talk about what it takes to truly master the art of agile development--what it's like to deeply understand agile values and principles, set aside the canned rules of the first two parts, and build your own agile method.
To create this section, we scoured all of the agile books we could find and wrote down all of the core principles from each one. We ended up with over 100 index cards, which we then spread out on the floor in an affinity mapping exercise. We ended up with fifteen agile principles that seemed truly universal. I'm really happy with these principles because they represent the intersection of the underlying themes of all of the major agile methods. I feel like we uncovered some fundamental truths with these principles.
In this part of the book, we talk about what the principles are, what they mean, and how to use them to customize your method. It's cool stuff. My thoughts for this topic were to talk about "master"-level concepts like underlying principles and values. Discussion of practices to use in specific situations should go in the Practicing topic, or start a new topic.
We grouped the fifteen principles into five chapters:
Improve the Process: Understand your project, tune and adapt, break the rules
Rely on People: Build effective relationships, let the right people do the right things, build the process for the people
Eliminate Waste: Work in small reversible steps, fail fast, maximize work not done, pursue throughput
Deliver Value: Exploit your agility, only releasable code has value, deliver business results, deliver frequently
Seek Technical Excellence
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> .
Originally posted by Chai Chamsai: what're advantage and disadvantage if i only use XP or xp+other?
We chose XP for two reasons. First, we have the most experience with it of all of the available agile practices. Jim and I have practiced it on multiple projects with a variety of teams in several very different circumstances. It's much more effective to draw from personal experience when evaluating an entire field of practices than to do it without.
Second, and most importantly, we both believe that XP is the most complete of all of the agile practices, which is important from a didactic sense. Scrum has a lot of good practices, for example, but it expects that you already have solid development practices in place that support short iterations without getting you into technical debt.
We didn't want to assume that everyone who read the book had those practices in place yet, so we chose XP as the most effective place to start. If you're already using Scrum or another agile process, that's fine too. We just wanted to give everyone the best possible opportunity to evaluate agile development as a whole without accidentally overlooking anything important.
Author of <a href="http://www.amazon.com/gp/product/0596527675?tag=jranch-20" target="_blank"><i>The Art of Agile Development</i></a>
if you have a new question to ask that is not strongly connected to the ongoing discussion or the original post, please post a *new thread*. Having several discussions ongoing in the same thread will just lead to confusion.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
@James, I read most of your articles at http://www.jamesshore.com/index.abstract and must say I recognized a lot. But somehow I'm afraid that only programmers read these types of articles. In your book, do you address how to implement agile development in a sceptic and hesitating environment ?