Which Agile Methodology Should You Use?
People's attitudes toward communication, user involvement, and frequent releases is more important than the specific process you use. However, if you are a novice in the field, and you want to introduce an agile methodology into your shop, this chapter gives you some advice.7
At last you have decided that agile methodologies (AMs) are worth a try, and now you are looking for the right methodology to introduce in a pilot project at your firm. Unfortunately, many AMs happen to be waiting for your decision. Which one should you use?
The first thing to consider is that not all AMs are at the same level. One, Extreme Programming (XP), is quite different from the others because it is a set of very detailed planning, design, and programming practices. The other AMs are much less detailed and typically cover only the planning and project management phases. The programming practices are left to the team's choice. In fact, many XP practices are also recommended by the other AMs, and there are efforts to merge XP with them.
Now let's examine the main AMs, and I'll give some advice on what to choose. (These are, of course, my personal opinions.)
Extreme Programming
XP is the most documented 6, the most supported, and perhaps the most used AM. It was invented in 199899 and started to spread in 2000; it seems that, at the time of writing this chapter, it doesn't yet have many well-known successes.
Because XP is very detailed, it is easy to understand and follow each of its practices. However, it is very difficult to follow them all at once, and to try to follow XP "by the book" is very risky.
XP is the best choice for small development teams (up to ten to 15 people) that agree to follow its practices. Most XP practices are also suited for individual programmers.
[Editor's Note: For a more information on Extreme Programming, see this chapter on the Principles of Extreme Programming.]