Rob Smyth

Wednesday, 26 November 2008

More Thoughts - Is XP really Agile

'Agile' is term created at a meeting in 1999 (might have been 2000) by a gathering of mythologists who each promote a different methodology. This group concluded that they needed a word to communicate attributes that they all agreed on. The word they chose was 'Agile' and its definition is given by the agile manifesto here. Those present included Kent Beck who is co founder of XP but also those authors of many other methodologies. So 'Agile' was intentionally not intended to mean XP but was to enable communication of attributes that many mythologist find to be important.

Agile refers to 4 attributes concerning colloration. XP however is a process based methodology for teams and project management. Its primary focus is on the software development team. Doing XP is clearly defined as doing the 12 basic practices found here. Agile is a term used to describe collaboration while XP is a set of processes. XP is about how a team does things while Agile is about the attitude.

To say that Agile is XP is to redefine the intended and rob us of the language its authors intended.

In the software development industry process/methodology skills are not well developed. As a result it is not uncommon to find teams that claim to use RUP, waterfall, XP, etc, but in fact do not. Likewise most teams claiming to do XP do not.

XP does work. I know as I have seen it introduced into one company with some amazing successes. XP, like all methodologies, can also fail miserably. I've also seen this at the same company. Every methodology addresses a particular set of problems (e.g. efficiency or sustainability, short delivery time or predictability) and situations such as team size and critically. No process fits all and people always trump process.

The most common anti-pattern is to apply a methodology, such as XP, to an entire existing work force. People are different, projects are different, so processes/methodologies should be different. No company, with a large number of developers, will never be able to apply XP to all teams without first replacing most of its software development staff (not recommended).

No comments: