GET STARTED
Published:Oct 09, 2019

Stop Lying (To Yourself): How to Estimate Time Without Letting Yourself or Your Team Down

Software engineers have an honesty problem.

In fact, most people do, though they may not realize it.

It’s an uncomfortable truth that coders (and most people who work in the knowledge economy, to be honest) tend to overestimate their capacity to get things done. Whether by volunteering for extra work or agreeing to unrealistic timelines, we’re often dead wrong when we think we can get all that work done by that deadline.

It’s not that we have bad intentions. It’s just really hard to be realistic about how much time we can/do/will spend doing work.

We’re lying to clients, to our project managers, to our employers, and to our ourselves.

We have to stop, and not just because lying is a jerk move. We’re missing deadlines, letting people down, and living in constant stress, all because we’re failing to be honest with ourselves about work.

Here we’ll look at why so many employees lie to themselves and others about their capacity for work, and the skills and tools you need to estimate your time — honestly.

Productivity Lies We’ve Been Taught to Believe

Imagine you just got back from lunch.

Your boss or project manager comes to you with a task and asks what a reasonable deadline would be to finish it. After looking over the task and getting an idea of what might be required to complete it, you determine it’ll take about eight hours of work to complete. So you tell your supervisor a good deadline would be tomorrow afternoon, but let’s say EOD just to give yourself a little wiggle room.

Did you spot the lie?

What we have a hard time realizing is that eight hours at the office almost never equals eight hours of work. It’s called the planning fallacy, and it’s the phenomenon that has almost all people assuming they have more time for work than they actually do.

In reality, studies have shown that most people are able to do just under three hours of focused, productive work during every eight-hour workday. That’s it. So that eight-hour project you promised your boss would be done by tomorrow? Realistically, you probably need three to four days to finish it. At least.

Sure, we typically spend eight hours a day at the office (or wherever we work). But think about what an actual day looks like. There’s meetings. Taking trips to the break room. Stopping and chatting with coworkers on the way there. Going to lunch. Checking email. Responding to email. Reading texts and social media. Surfing the web. Taking breaks. Getting distracted.

Typical work schedule that shows the amount of work done per day (about 3 hours)

When you think about all of that, it’s no wonder we’re only able to do three hours of focused, deep work each day. Every workday is full of distractions.

This leads to a whole host of problems. We tend to make promises we can’t keep at work. We miss deadlines as a rule, which means we gradually grow to take deadlines less seriously. We give up time when we don’t actually have any available time to give. And all of that can lead to tensions in the workplace, stress, and burnout. 

The solution is to stop lying, and learn to estimate our time more accurately. 

But how?

5 Tips and Tricks for Estimating Time More Realistically

Accurately estimating our time at work is something we can all stand to do better at. Here are some of our favorite tips and tricks for coming up with realistic time estimates that won’t have you missing deadlines or disappointing the people who are counting on you to get sh*t done.

Use Historical Data to Make Time Estimates

If you’re not using a time tracker while you work, start now! 

Time trackers are not just for nitpicky bosses to keep close tabs on how developers spend their time. They can help coders build a bank of data based on their own historical work habits, and looking at how you spent your time when working on similar projects can help you better estimate the time you’ll need for projects now and in the future.

Build in Time for Delays

Donald Rumsfeld famously said this, a quote that is often used by project managers to illustrate the unpredictable nature of the job:

“There are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns—the ones we don’t know we don’t know.”

When planning a project, you have to plan for delays — whether they’re setbacks you can already see coming, or they’re hurdles you don’t even know exist yet. If you think something will take you four hours of work, a better estimate is probably around eight hours once you factor in delays from problems, setbacks, and distractions.

Have Someone Else Estimate For You

If you have a hard time making realistic estimates about the time it’ll take you to complete a project, a second opinion can’t hurt.

Plus, research shows that while we tend to suck at estimating how long it’ll take us to finish a task or project ourselves, we’re actually pretty good at making time estimates for others. Go figure.

Use a 3-Point Estimate

One way to overcome the optimism that makes us so likely to over-promise and under-deliver is to use a 3-point estimate when deciding how long something might take.

This means you actually come up with three time estimates:

  • A best-case scenario
  • A worst-case scenario
  • A most likely scenario

Just the exercise of considering that there might be delays or things that go wrong that lead to the worst-case scenario will make you more likely to land on a more accurate estimate.

Make Time Estimates During the Lowest Point of Your Day

You know when you’ve settled in at work and had a cup or two of coffee and you just feel really good and productive? Whatever time of the day that feeling hits you — don’t estimate deadlines during it.

Instead, look for the time of day when you hit a low point. For many people it’s right after lunch, when you’ve already put in half a day’s work or more and just filled your belly with something tasty. You’re feeling a nap, not the rest of the workday. 

That’s the time to make time estimates.

I may seem a little dark, but estimating the time it’ll take you to finish projects when you feel least like working is a great way to trick yourself into overestimating how long things will take — which is actually likely to give you a pretty accurate estimate.

It’s possible to work without lying to yourself (or others). It just takes reframing your thinking so you’re allowing yourself as much time as you actually need to get things done.

By Christina Marfice
Free eBook

Rethinking Timekeeping for Developers:

Turning a Timesuck Into Time Well Spent

1 comments

b

10-17-2019 12:38

Well, 3 point estimates seems to be useful (are better) yet from standpoint of a junior coder you won't get far with that. Team estimations tend to be more precise.

Send