eXtreme Programming Is Not Agile!
In the course of my blogging, I've often come across comments or other bloggers talking about XP (eXtreme Programming) as though it *is* agile.
Truth is, XP is Agile, but Agile is not XP...
Although I like a lot of the concepts in eXtreme Programming, whether or not you use XP practices does not define whether or not you are doing agile development.
It's quite feasible that you're not doing Test Driven Development. That you're not doing Automated Unit Testing. That you're not doing Pair Programming. And that you're absolutely doing agile development.
Agile development is a set of values and principles. And eXtreme Programming is just one of the agile methodologies that supports these principles.
People using Scrum are doing agile. People using DSDM are doing agile. People using 'home-made' forms of iterative, incremental, collaborative development are doing agile. To a greater or lesser extent, I admit, and with a different emphasis. But they are certainly 'doing agile'.
eXtreme Programming, whilst one of the more popular forms of agile development, is only one form of agile development. And as it's name suggests, it is probably the most extreme. 'Milder' forms of agile can be equally beneficial, and should not be dismissed as 'not agile'.
Kelly.
P.S. Click one of the icons below to join the growing community of people reading this blog by RSS or by email...
Photo by grisei
Truth is, XP is Agile, but Agile is not XP...
Although I like a lot of the concepts in eXtreme Programming, whether or not you use XP practices does not define whether or not you are doing agile development.
It's quite feasible that you're not doing Test Driven Development. That you're not doing Automated Unit Testing. That you're not doing Pair Programming. And that you're absolutely doing agile development.
Agile development is a set of values and principles. And eXtreme Programming is just one of the agile methodologies that supports these principles.
People using Scrum are doing agile. People using DSDM are doing agile. People using 'home-made' forms of iterative, incremental, collaborative development are doing agile. To a greater or lesser extent, I admit, and with a different emphasis. But they are certainly 'doing agile'.
eXtreme Programming, whilst one of the more popular forms of agile development, is only one form of agile development. And as it's name suggests, it is probably the most extreme. 'Milder' forms of agile can be equally beneficial, and should not be dismissed as 'not agile'.
Kelly.
P.S. Click one of the icons below to join the growing community of people reading this blog by RSS or by email...
Photo by grisei
17 April 2008 13:42
Wow, you almost got me upset there for a while, but after reading the article I have to agree with you. The title fooled me big time though. :-)
18 April 2008 17:28
I think the problem is your title is logically incorrect. It can be more clearly stated as, XP is an Agile method. XP is Agile. XP provides sufficient conditions to meet the definition of Agile.
Your point-
Agile methods are not limited to XP. Hence, Agile is not XP. The conditions of XP are not necessary conditions of an Agile method.
In the short form XP provides sufficient, but not necessary, conditions for an Agile method.
I think the more interesting point is why people are so disappointed with Agile methods that don't feature aspects of XP. There is so much wisdom in Mr. Beck's book that is extremely powerful in improving software projects, that it was a prime mover in driving Agile adoption. Other methods, such as Scrum, that don't address these practices should often be supplemented with things like continuous integration, 10 minute builds, etc. or they will be missing out on a lot of opportunity for awesome performance.
So, I think the real heart of the issue is not that practices which aren't XP aren't agile, and no one with any sense would say that, but rather that projects using other processes would often be well served to adopt as much of XP as they can.
18 April 2008 17:52
I know the title is logically incorrect btw; I was just being provocative :-)
Many thanks for your comments though Matt. You speak sense...
Kelly.
19 April 2008 13:45
I agree completely. In fact I have written a couple of posts about Kanban. The case study that is the subject of the posts seemed to some to be very non-agile in the sort of confused sense mentioned in your post. But from another perspective it seemed very agile. Have a read of this if you're interested. http://witi-work.blogspot.com/2008/04/agile-and-orthodoxy.html
amd
Cheers
Adam
23 April 2008 10:29
Title is very provocative, when i saw it i was about to jump straight to the comments :) i love XP because we use it in our company, we use SCRUM by the way too, though i agree that it is just one of the many Agile processes.
1 October 2009 20:14
The title should be "XP is Agile, but Agile is not XP".
I think everybody would agree on this statement There are various other methodologies which are agile but not XP eg:
1) Scrum
2) Feature-Driven Development (FDD)
3) Crystal methodologies
4) Dynamic Systems Development Method (DSDM) and Atern
5) Adaptive Software Development (ASD)
6) Lean
XP is one of the methodology in Agile software development.