Things alway seem to take longer than expected. Why is that?

Maybe it’s because we are overly optimistic and ambitious with our plans. Maybe we underestimate the difficulty of what we have set out to do.

Or maybe estimating time is just hard. After all, how does one determine the amount of time needed to complete a one-off task? It requires experience. And more experience yields better estimates.

But even then, we sometimes get it wrong.

Estimating time for coding tasks

Coding tasks can vary wildly in time needed to complete them. To prevent untimely crunches, and to have time to clean up and document my code, I prefer to have a buffer. Therefore, I follow this guideline: I take my best time estimate, based on experience and intuition, and multiply it by 9.

I choose 9 because I multiply by 3 for having been too optimistic, and multiply by 3 once more for any unforeseen problems that may occur.

The benefit of this guideline is obvious. I give myself more time than that I think I need. And I will feel good if I complete the task early.

It might not be the best approach for freelancers or individuals with angsty managers. Indeed, when time is directly linked to an hourly rate, it could scare off potential clients. But time negotiations with clients are often a bit of a tug of war. Either way, make sure not to oversell your time unless you are confident in your skills.

Ideas to try out

  1. To estimate a task’s time, break your task down into its fundamental time-able components and uncertainties. Assign each component a set amount of time and each uncertainty a multiplier. Sum up the components and multiply by the uncertainties. Use this number as your estimate for how long the task should take.

  2. Time yourself and take note of how long a particular task takes. It should not be stressful, because you are not accounting. You are merely observing your own pace. Finally, see how the recorded time compares to your estimated time.

  3. Adjust your calculation as needed, and repeat until your estimate approaches or supersedes your recorded time.

  4. A rule of thumb to go by is if you ever catch yourself thinking about how much time a task will take you, it will probably take you more time than you think. Conversely, if you are not thinking about how much time something will take, you probably don’t have to worry because your mind was not subconsciously alerted to the issue in the first place.

One more maybe

There is one more “maybe” I failed to mention at the start.

Maybe things always seem to take longer than expected because we realize that our time, in life, is limited. We fail to recognize this because we are desperate for things to take less time. We strive to minimize time spent on the less fun things, so that we can maximize time spent on the more fun things.

In other words, maybe things take time because things take time.