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.