If you’re reading this, you’re probably a developer. Being a developer myself and having worked with developers I know that one of the most dreaded questions for a developer is about time:
How long time will it take to implement this?
Most developer hates that question, simply because it is so hard to answer. Programming is about solving unknown problems. Often more than 50% of the job is already done when the problem is analysed enough to be known. We can’t do 50% of the job just to get a time estimate, we have to estimate based on experience of similar problems and experience of time estimating similar problems.
I’m often doing time estimations and I think I’m decent at it. I used to be mediocre. In this post I’ll try to share some experience of time estimation and my thoughts on how to improve time estimation skills.