Here is a very brief summary of the most important estimating best practices:
Compare actuals to estimates. After the work has been done, compare the actual time the work took to the original estimate. Track the percent off (either under or over) and report that information back to the team members. The best way to improve estimating accuracy is by paying attention. The best way to pay attention is by tracking metrics.
Use more than one approach or more than one person, or both. After you have one estimate, compare the logic using either another approach or another person’s perspective.
Clearly write out what makes this work complete. Many times there are unknown needed revisions, quality acceptance criteria, and a level of completeness that has not been clearly thought out, not to mention communicated to the person doing the estimating.
Present estimates in either a range or by indicating your level of confidence. For example, our project team estimates this will cost $100,000, and we have a confidence level of -20% to +60% (meaning it could very possibly fall between $80,000 and $160,000).
Understand the definition of an estimate. In many knowledge projects (such as engineering, research, IT, creative, etc) the time work takes to create unique deliverables can be extremely difficult to accurately estimate. And eventually the estimation discussion turns into a risk tolerance question. It generally needs to be agreed that without seriously inflating estimates to turn them into guarantees, that schedules are best planned with some flexibility and contingency for going over. There are diminishing returns in over-analyzing the project.
Ask SMEs. Subject matter experts can be a big help, especially in informing project managers what the commonly overlooked work or costs are. There are very common estimation omissions. You will benefit from questioning what they are.