Project Management: Time estimations

Author: Jacek Trociński, Last Revision: 2022.11.30, Topic area: Project Management

Time estimates are essential to managing any software related project.

Early on, I never really understood the value of time estimations or how to do them. I often thought to myself “I’ll do it when I do it” or “how can I estimate something I’ve never done before?”. From a business perspective though, time estimations are invaluable. If your project frequently misses deadlines, it’s going to be difficult for the business to function. Everything from budgeting to marketing relies on your project running on schedule.

So how should you estimate tasks? If you’re estimating a task that you’ve done before then you’ll know how much time it takes to do it. Here’s the key part though, don’t just put down the time it takes to do the task.

E.g., let’s say it takes me 5 hours to create an ETL job to stage data into a table from a REST API. While working on the task, I spend two hours in meetings, take an hour-long lunch break, respond to emails for another hour, and read a couple blogs leisurely for another hour. That’s another five hours of time that I've spent that was not strictly related to the task. Add that time to your estimate! Instead of 5 hours, estimate the task to take 10 hours.

But how do you estimate new tasks that you’ve never done before? During the first round of estimations just put down your best guess. Once you start working on the task, you’ll start to get a sense of how long it will take.

E.g., if you’ve estimated a task to take 2 days and you’ve already spent a day on it and you’re only a quarter way complete, then revise your estimate. Instead of 2 days, put down 4.

Why does this matter? As soon as you’ve revised your estimate in JIRA, your PM will get a notification. They’ll be able to notify key stakeholders immediately and adjust expectations accordingly. The business can now begin preparing for delays. Trust me, it’s better to give the businesspeople a heads-up than to have them come to you asking why you failed to deliver on time.

Imagine you hired a plumber that you pay by the hour to fix a leak, and they estimate it’ll take them 2 days to fix. At the end of the second day the leak isn’t fixed, and you confront them, to which they respond that it will take them another 2 days. Shouldn't they have informed you earlier about the delay? What if you have something planned for tomorrow, like a birthday party, and it's too late now to make last-minute venue changes? You’ll never hire this plumber again, even if they did an excellent job fixing the leak.

Time estimates matter not only to the business but they’re a reflection of your level of expertise as a software developer. An experienced software developer can keep tasks on schedule and communicate delays in advance.