How to learn to estimate
Could you estimate your age? Hmm, not bad but not correct though. Because 23 days, 4 hours, 52 minutes and 59 seconds were missing ;-). Estimation is never and should never be something out of the blue. The more you know about a certain topic, the better your estimate will be.
A couple of years ago while I was doing an internship, my boss told me I should learn how to estimate. He said that it would just need some “experience-in-estimation”, whatever that may be, to get your estimations right.
Over the years, I came to understand that proper estimation needs time. Experience in the field of work (programming), experience in the business area you are working in (e.g. the financial industry), moreover, experience in your company, team, related teams, colleagues, and yourself.
So I would bet when you are working as a baker, for 20 years in the same company with the same team, doing the same work, your estimation of how long it takes to bake a bread, should be pretty much perfect.
However, in a company, in an industry, in a business area you just joined with a new boss and new colleagues, estimation is more like a gambling. You have to remember that trust is a very important factor in estimation. For a more accurate estimation, you need a team and a boss that is trusting you.
When you are asked to estimate something, and let’s just say you answered “10”, people will probably start to negotiate. A “10”?! Why a “10”? Okay, let’s say it’s an “8”. An “8”? I will give you a “5”! A “5”?! You would respond. Never. Okay, a “7” then. DEAL.
Now, most of you would now say: “But that’s why you should do agile planning with a whole team” (e.g. using planing poker). Well, yes it’s better. Yes. Still, the “DEAL” factor still exists.
To improve estimation, it is a good idea to talk about the things to be estimated with ( smaller groups of ) people beforehand, or, alternatively, to point out what is included in a “10” and what will NOT be included in a “10”. Better even to define a task as “time boxed” as a “10”. This way you can give your best on the “10”, and then in a later iteration, especially with the new knowledge you gained, you can add another estimate for “iteration 2”, including everything that was missing after round one.