DEV Community

loading...
Cover image for 4 Things Software Developers Tend to Forget About When Calculating Time Estimates
7pace

4 Things Software Developers Tend to Forget About When Calculating Time Estimates

madeby7pace profile image Devs @ 7pace Updated on ・3 min read

Understanding the reasons why your time estimates are inaccurate is a key step in becoming a better predictor of time.

Most software developers are habitual underestimators for a few key reasons:

1. Parkinson’s Law

You’re likely familiar with the concept of Parkinson’s Law. If not, Parkinson’s Law refers to the idea that work expands to take up the entirety of the time you’ve set aside for it: regardless of how much time it would normally take.

To give an example, this means that if you’ve scheduled an hour time block for a task that would normally take 30 minutes, you’ll find a way to use up that entire hour. Of course, if you’re not sure how long a given task will take, this wasted productivity is to be expected.

2. Everyone is Different

Regardless of the fact that Bob has accurately predicted his ability to execute a given feature in a set amount of time has no bearing on you.

It’s important for both individuals and managers within a team to understand that time estimates are non-transferrable: everyone needs to do their own time estimating in order to be accurate.

3. Software Development is a Process

When you’re assigned a new task, it’s not just about writing code: oftentimes you’re also tasked with researching new concepts, collaborating with other software developers, and sitting in meetings related to the task at hand.

Most time estimates do not accurately account for all of the additional time that goes into a major task, which could be as much as twice your original estimate (or more!).

4. It Takes Time to Get “In the Zone” for Each Project You’re Working On

Did you know that it can take up to 25 minutes to get back on track after dealing with a distraction?

Oftentimes, software developers are working on multiple projects at the same time, waiting for input from other team members in order to move forward or finish a certain task. As a result, they’re constantly being pulled into and out of a given project. There’s a cognitive cost associated with constantly having to refocus on your current task, which can also impact your time estimate accuracy.

With all of these things in mind, you’re in the right mindset to improve your time estimate accuracy.

The Solution: Using Historic Data to Calculate Future Estimates

Why does all of this matter from a business standpoint? McKinsey found that 66% of enterprise software projects have cost (and effort) overruns.

With the way most projects are set up, an incorrect time estimate can have critical and exponential impacts on a business. Understanding how software developers normally estimate their role in a project timeline is the first step for increasing your team’s time estimate accuracy.

To try and rectify some of these measurement inaccuracies, many managers of software developers use time tracking as a strict mechanism in an attempt to keep projects on track. This approach can work—but only when applied as part of a more comprehensive planning process: involving input from your team.

The trick to making time tracking work for your team of software developers is to use historical data instead of raw estimates. You must coach each individual member of your team to improve their abilities to estimate and manage their own time.


7pace Timetracker is the only integrated, professional time management solution for teams using Azure DevOps.

Alt Text

Discussion

pic
Editor guide