XpVelocity
10 May 2004
tags:
I've seen this confused in a couple of places now, so I feel the urge to re-state what the meaning of the term velocity is in Extreme Programming.
Velocity is a statement of how much stuff a team (or a person if it's personal velocity) gets done in an iteration. The units should be in some unit of effort. Some people like something like person weeks, which is okay if it's ideal time. In fact the units you use are irrelevant as long as they are the same ones you use for estimating. Joseph Pelrine coined the term 'gummi bears' for these meaningless units, more staid people prefer something like 'story points', I like Josh Kerievsky's term: NUTs (Nebulous Units of Time).
You measure velocity following the principle of YesterdaysWeather. The velocity of the next iteration is equal to how much actually got actually in the last iteration (some teams use a short running average.)
If you see a team quote its velocity, you should see it in something like 15 NUTs. If you see someone saying their velocity is 0.7, then they are almost certainly in error and actually referring to Load Factor (the ratio of ideal time to calendar time, now rarely used.)
Velocity is a tool for calibrating estimations for YesterdaysWeather, it is not a measure of productivity. Different teams will use different baselines for their velocity units, so it's stupid to compare teams based on their velocities: there's no such thing as StandardStoryPoints. Similarly velocity is a team measure, not an individual measure. Using velocity as a productivity measure kills agility.
You can still find our initial explanation of XP planning terminology on the wiki.