Put more correctly, why do we use agile methods? Why do we use any methodology? What is the purpose of RUP, XP or Waterfall? Seems to me that the ultimate purpose for using any form of process is twofold.
- To maximise production of value while minimising waste.
- To minimise variation and increase repeatability.
In agile terms, ‘production of value’ could be translated as velocity, usually measured as ideal days per actual days. This is the value that tells you how efficiently you are delivering functionality in terms of developer productivity. Any activity that occurs that doesn’t produce value must be producing waste.
Minimising variation essentially boils down to trying to reduce the effect of random chance and unforseen circumstances on the outcome of the project, and increasing the accuracy of estimation and planning.
Seems to me that agile methods like XP tend to emphasise the first point, while high-ceremony methods like waterfall tend to focus more on the second one. Interesting.
High-ceremony methods may focus on minimising variation. The question is whether they are any good at it 🙂
I find that agile methods seem to be a lot better at estimating and planning than high-ceremony methods. For example Release Plans (to take the XP route) tend to be accurate and get more accurate as time goes on, in my experience anyway.
As for dealing with the effects of random chance – XP is built around being flexible in the face of external changes so it copes very well! As ever YMMV.
Both high and low ceremony methods exist at a basic level to increase quality. Most important than what they try to do is what that means. We know nearly nothing about software development – it took a million years and a few revolutions for us to get to the Ikea stage for furniture, it should take less time for software but I’d be surprised if it involved fewer revolutions 🙂
The high ceremony methods take one view, and the agile methods take another. But make no mistake that it both are attempting to maximise quality — we just don’t understand what that is yet.