Should you track completed effort for your tasks?

Many (agile) projects uses a burn down chart to track remaining time. It is a commonly used visualization "tool" for progress. But there are also teams that keep track of completed time for each task. Typically they do this in order to see how the completed time corresponds to the initial estimate. using this information the team hopes to improve their ability to estimate things correctly.

So even though the purpose is often the same, the reason is often one of two things. If the team is lucky it was the team that decided to track completed effort because the team believed this was the best way to improve the team's estimation skills. On the other hand I think a much more common scenario is that management want the team to track completed effort because they want to know how good the team is at estimating and management thinks that tracking completed effort will help the team improve estimation skills.

In the past I've had no problem when the team decides to track completed effort since it is a team decision. But when it is enforced by management all kinds of alarms are triggered in my head and I do my best to prevent it. I guess this is how many people see this and many other things. As long as it is a team decision to do something it is alright. The team will stop doing it if it turned out to be a bad idea.

So if you're working as an agile coach and the team comes up with the idea of tracking completed effort in order to gather data and improve their estimation skills, should you encourage them to do so? Up until recently I would have said yes every time. But now I've changed my mind since I recently was involved in a discussion regarding this and I was presented with an argument that made me change my mind completely. take a look at the following burn down chart.

Example burndowns 

The chart consists of an iteration with 20 working days. The team starts the iteration with the assumption it will complete 20 story points (or what ever you want to call them). So in essence they believe they will complete one story point per day. So if the team is making correct estimations they will complete just that and there is no need to track completed effort since the estimate is correct.

Now look at the green (over estimate) line. The team have over estimated the effort and completes 20 story points in just 14 days. This means their velocity is not 1 story point per day but rather 1,43 story points per day. So they have over estimated every thing by approximately 40%. Without having to look at each task we can see that the estimates should be reduced by 40% if we want to do 20 story points each day.

Looking at the red (under estimating) line we see that the team completed 14 story points in 20 days giving us a velocity of 0,7 story points per day. Adjusting the estimates means we have to add 40% to each existing estimate if the goal is to do 20 story points in each iteration.

When using story points you don't typically change the estimates - you change the velocity for the next iteration. But I think this example shows that tracking completed effort is not really needed if you want to improve estimation skills. Some estimations will always be higher and some lower. And looking at the totals there is no need to track completed effort since the total completed effort is a known value. It is the length of the iteration. Using this technique you'll probably have enough data to improve without adding the overhead of tracking completed effort or risking the team thinking tracking completed effort is just a way of tracking who does a good job and who doesn't.

So now for the advanced part of this dilemma. I still think there is one situation where tracking completed effort may be of value. First of all it must be a team decision. Second, it must be a team decision. And third, the purpose is to identify tasks that grow extremely much in order to evaluate the reason for such growth during the retrospect. The team might even be good at estimating on average, but they have a feeling (or just know) that some things are extremely over- and/or under estimated. And the team wants to make sure they identify these tasks in order to discuss them specifically during the retrospect. But the team must remember the purpose here. The completed effort does not need to be very accurate. Just accurate enough to identify the extremes. And in order to do that I don't think the team have to track effort on every task.