If you’re like me, you like to think you’re good at estimating. After all, your hunches have been correct before. So when you’re asked to estimate a new feature you reply, with perhaps a level of unwarranted confidence, ‘it’ll only take a day or two’. But then a week goes by and you’ve only just finished implementing. Or, worse, there’s still a couple more days left to go!
Congratulations. You’ve now earned yourself a reputation as being unreliable. Feels awful right?
So how do we improve our estimating skills?
1. Do not rely on hunches alone
You’re not a super sleuth who can solve the most intriguing mystery on hunches alone. And there’s no shame in that! You need to base your estimate on data. Check your recent history of estimates and take a close look at how accurate you’ve previously been. Do you have a good track record or does it leave a lot to be desired? Have you been too optimistic or too pessimistic with your estimates? Log your estimates next to actual time taken and use the info to give yourself a chance of improving your accuracy. Like this, you will be a data-driven engineer and also you can increase your productivity!
2. Get specifics
Briefs can be vague and verbal requests can be almost entirely unhelpful. It’s impossible to produce accurate estimates when you have to guess what is being requested in the first place. Push back on requests, ask for further information, and only produce an estimate when you have a sound understanding of the request.
3. It’s your estimate
When your engineering manager or colleague says something along the lines of ‘this will only take a day or so right?’ you’ll probably find yourself nodding and agreeing without even realizing it. You need to remind yourself that you are the one producing the estimate, so it’s important to block out external influences. What seems like a couple of days work for some might actually take weeks, or even longer. Accuracy is important, so don’t merely confirm someone’s wild guess.
4. Give yourself time
Similar to the above, an accurate estimation takes time to produce. Sure, your engineering manager wants it five minutes ago and you have a million other things to do, but don’t fall for the temptation of plucking a number out of the air. Take the time you need to produce accuracy.
Overall, don’t just tell people what they want to hear. Take your time, back yourself, and produce as accurate an estimation as possible. Don’t shy away from probing for more information and avoid passively receiving requests.