Back to blog
Estimates are complicated or engineers are naive?
Sep 15, 20233 min read

Estimates are complicated or engineers are naive?

Estimating software development tasks accurately has proven to be a challenging endeavour for engineers, leading to a historical pattern of overcommitment and under-delivery.

Rizwan Memon

Estimating software development tasks accurately has proven to be a challenging endeavour for engineers, leading to a historical pattern of overcommitment and under-delivery.

Why your estimates might be going awry?

Estimating unquantifiable scopes of work

Estimations can go wrong when attempting to quantify work that is inherently difficult to estimate accurately. It's not uncommon to witness project managers requesting deadlines for work that may take weeks, and it becomes even more problematic when software developers start shooting in the dark.

Lack of streamlined processes:

Inefficient or convoluted processes can also contribute to estimation errors. It is crucial to establish streamlined processes to mitigate such issues. It is recommended to strive for frequent shipping, ideally merging all changes at the end of each day. Implementing continuous delivery and deployments can greatly benefit this approach. By avoiding stagnant branches and utilizing feature flags, you can deploy to production on day one, resulting in improved outcomes.

Developer productivity holds importance, as many of us occasionally find manual deploys or waiting for app compilation and building to be vexing. Prioritize robust developer productivity right from day one. TLDR: Try to keep your developers happy!

Attempting to compensate for missed deadlines

In situations where deadlines are missed, teams often consider adding more members to the team or extending work hours as a quick solution to catch up. While this may seem like a viable and straightforward approach, it rarely addresses the root causes of the delays.

Absence of historical estimates data:

Without access to historical data, teams may never achieve good estimations. Let’s see why not having historical data might be a problem.

  • Your devs might be shooting in the dark
  • The only way to say you are fast is to look at historical data and figure out if you are doing better or worse.
  • Historical data helps get balanced estimates by looking at how long have similar scopes of work taken in the past.

How would you fix estimates?

Knowing when to estimate and when to commit is a crucial skill for engineers.

A skilled engineer understands when to provide a precise deadline and when to offer a rough estimate. When a senior engineer commits, they ensure it gets done, even if it means occasionally working beyond regular hours. The varying pace of work is common, especially if you are in a regulated sector like Fintech. It is also important for engineers to learn to adapt to such fluctuations.

Estimating smaller batches as a group

It may sound a bit controversial, but any work batch exceeding a two-week timeframe is likely to result in inaccurate estimates. The smaller the batch, the more precise the estimation – particularly when a group of engineers collaboratively engages in this process. Let's face it; each engineer's output varies.

Conducting this activity as a team, leveraging historical data on the time taken for similar user stories in the past, and focusing on smaller work units will significantly enhance the accuracy of your deadlines. Nevertheless, it's important to acknowledge that even with these efforts, missed estimates can still occur. It's an iterative journey, a constant drive for improvement. As long as you're better today than you were yesterday, that's what truly matters.

More posts

All posts
Building Frontend Observability
ObservabilityFrontend
Feb 1, 20268 min read

Building Frontend Observability

A deep dive into building an o11y platform for frontend performance, errors, and user sessions - from MVP to production.

Rizwan MemonRead
Maximizing 1-on-1 meetings for career growth
Jun 7, 20236 min read

Maximizing 1-on-1 meetings for career growth

Do you ever find yourself thinking, "My manager doesn't care about my growth, and our 1-on-1 meetings are a complete waste of time"? If so, you're not alone. But 1-on-1 meetings can be the most valuable mechanism to affect your career and ensure that your career is moving forward the way you want it to.

Rizwan MemonRead