From the first time I had an estimate, it seemed to me that previous experience with a task was extremely helpful to accurately estimate . For example, if you installed a particular library a couple of times, you should have a good idea right now about how long you usually need?
What the current methods do
Every person at a team has different levels of familiarity with each task, so it does not matter if a person estimates all tasks or if you have an average of the estimates of several people. In both cases there is a loss of valuable information.
Strange enough, this trust factor is largely ignored by teams I've worked with. My current "Planning Poker", for example, tries to have some people agree about an estimate. The problem is, what if only one of them actually implemented such a task? The weight is on that guy to agree with everyone. Average estimates can lead to total useless results.
Waterfall had a similar, or no worse problem. Usually in this kind of environment, the team leader would estimate, or he would postpone another team member. Again, programming experience was ignored. No person does all estimates.
Peer Press wipes the problem under the carpet
Another relevant factor that is normally ignored is: who will actually perform it? Certainly, the estimate can not be accurate if you label a task as low complexity and then assign it to someone with zero previous experience with such a task. This problem can not be avoided by a system that differentiates the estimate of the implementation.
Some teams try to reduce this by re-estimating the implementator, but then you waste the time it dear twice and, in my experience, as the estimates differ greatly, there will be a pressure on the implementator to reach him with the previous estimate .
The Benefits of Targeting Job Alert
An interesting thing to pay attention to task awareness seems to have no interest in playing this statistic. They know they are doing something or knowing nothing, so of course there is less gambling.
If you like songs, you can perform a survey in your team to measure how familiar each person is with each task.
Begin building a table of team members and tasks, and each cell must be a number of 0 to 10 how familiar each member is to that task. Once you've done that, you can use that table to help you make decisions and calculate valuable things.