Velocity is the key to any project’s success. Plain and simple. I think that just about every project in some way or another tries to figure out this metric. It’s how this metric is obtained that is so important.

Let’s say hypothetically that you’re leading a team. How would you_** want**_ to measure this metric?

Do you want to gauge this metric from your users? Maybe they could tell you in terms of features how fast your team is. An example of that might be, “It took Widget Company 6 months to produce a new release with 3 major features, and 2 minor features.” There’s a problem here, though. How do you know how much effort it took to accomplish these features? Users may call a feature major or minor, but that certainly has no correlation to the effort involved to produce that feature. So that won’t work.

Does the project manager know what the metric is? To answer that question I would ask: Does the project manager have any more information about the effort involved for each feature than the users from the previous example? If the answer is no, then you’re in the same situation.

Leads have the same problem. Even technical leads, who actually know exactly what’s going on with their teams at all times, and probably even do a fair bit of the coding themselves, can’t figure out the effort by themselves. They’re missing the information just like everyone else.

And this is where we’re left. We need to know what the effort is. How can we figure out the effort? Well, what if we estimated the effort involved for each feature, and then tracked the progress of the team for each feature. After they completed that feature, we could give them “credit” for that effort. Then we could use this “credit” as a way of describing how fast our team works.

The trick to understanding this “credit system” is in our next topic: