It is common sense to judge incorrect estimates as one of the main causes for initiatives failure. A poorly made estimate leads to immeasurable problems with deadlines and costs, mainly, which can compromise the success of the project.
It is also a consensus that the greater the maturity of na organization or a team, the estimates tend to be more accurate, due to availability of historical data, well-defined process and experience of the team.
But what if your team or company is not that mature at this point? What to do? Abort projects? Define floats for every estimate? This can lead to prices and deadlines that are completely unrealistic and make your company uncompetitive. After a few years of trial and error and some experiences in the classrooms, I developed an estimation process that has proven to be very effective. This process can be used to estimate durations, costs, probabilities, impacts, and so on.
The first step is to ask yourself if there are historical data related to the intended estimate. It they do exist; your problems are over. Use it to estimate but taking care to adapt to your present context.
If the historical data are not available, which is more common, go to the second step, which is to ask someone on the team or even or organization if someone knows how to perform the estimate reliably. If the answer is yes, again, your problems are over. Use that expert to help you. Sometimes Google will help you but remember that no matter how much effort the Google team makes, they will never be able to give you an estimate of how likely your employee is to make a programming error. If you have reached this second step and were unsuccessful, go to the third step and brainstorm with your team and ask everyone to make the estimate. Write down all the results, regardless of whether they are absurd or not.
Thereafter ask the group to give real, comparative, realistic, logical and rational justifications for the listed estimates to be unreal and to be eliminated from your list. On that way you will be able to discard everything that the group agrees that does not make sense. The only justification that is not valid in this process is “I think”. In this process, nobody “thinks” anything. If there is a consistent justification for eliminating the estimate do it. Otherwise, keep it on the list. This process of justification must be kept until the team reaches a consensus on the estimate to be defined. Remember that you don’t have to get the perfect estimate, because after all this is just an “estimate”. My experience has shown that making estimates in this way, the numbers are very close to reality and your team gets confident to them, since they took part of the process. Finally, the last advantage is that the more your team uses the technique, the more efficient the estimation process will be, as people will start thinking about estimates instead of just guessing a number without reasoning.