TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How do you effectively predict how long a task will take?

9 pointsby NextHendrixover 2 years ago
Often when dealt a task by a client&#x2F;project manager it&#x27;s followed with a request for how long it will take. Also often, I find answering this request a considerably more difficult problem than the engineering task itself, especially when the response is taken as gospel on pain of death. Over time I&#x27;ve realised that my inability to accurately predict how long a certain task will take is a weakness that I&#x27;d like some strategies for dealing with.<p>Personally, it stems from tasks in the past that have turned out to have details or foibles that make it considerably more involved than initially predicted, or finding a lack of required information once I&#x27;ve got stuck in.

8 comments

ioblomovover 2 years ago
I found the agile practice of estimating a task&#x27;s complexity along a Fibonacci scale (1, 2, 3, 5, 8, 13) and then multiplying it by a conversion factor based on my proficiency (or familiarity with the code base) has worked best for me—since clients aren’t typically familiar with agile methodologies!<p>For example, let’s say I’m working on an app and estimate task A as having a complexity of 5. Because I was the primary author of the app, I use a conversion factor of 2 hours&#x2F;complexity unit, yielding a time estimate of 10 hours.<p>The idea here is to leverage the fact that engineers have a better grasp of complexity, while business stakeholders can only appreciate time.<p>Keep track of your estimates over time and you can adjust the conversion factor accordingly (higher, lower, or even using days instead of hours) for more accurate predictions going forward.
brezelgoringover 2 years ago
If you&#x27;re only concerned about metrics on some bossware, overestimating seems acceptable if you lack the experience to accurately fashion a real timetable, and with time, you&#x27;ll do it better and better.<p>If you&#x27;re working with humans you can overshoot, which will make you look great if you take less time than estimated, or just say you&#x27;ll give an estimate once you&#x27;ve started the task, they should understand (Consider using: &quot;How long? Let me look into it first&quot;, &quot;How long? About $(your_bad_estimate)*1.5 minutes&quot; or similar). And if they don&#x27;t understand, consider asking why that estimate is so important in the first place.<p>Maybe the customer must approve jobs before they are executed, and the customers get an estimate billing based on your estimated time? A big estimate might scare them. Who knows?
brudgersover 2 years ago
Experience have given me an intuition of what incomplete information <i>feels</i> like.<p>And the expectation that the future always involves change...this is information I am always missing. I think about my estimate on two time scales, wall clock time and calendar time. Clock time is the resources I will need to commit. Calendar time is the external dependencies.<p>But, all that said, the only way to get the experience for having intuition is by estimating.<p>And basically, your choice (and mine) is to come up with something that might be wrong after a long arduous process or come up with something that might be wrong quickly.<p>Quickly provides empirical feedback faster.<p>Good luck.
BOOSTERHIDROGENover 2 years ago
determine the smallest number that your sure is larger than the true answer. (2) determine the largest number that you are sure is smaller than the true answer. (3) take the geometric average of the two. (i.e., sqrt(a * b)) The reason this does well, is that oftentimes, (1) overestimates the true answer by roughly the same multiplicative factor as (2) underestimates the true answer by. So the geometric mean cancels the over and under estimates in order to get an estimation that does pretty well.
controlledchaosover 2 years ago
My company has developed a spreadsheet based on actual historical effort that spits out a SWAG (Scientific Wild-Ass Guess). Things are split up into different categories, as building with one technology could be more costly than building with another. It has been remarkably accurate as long as we can stay within the original scope.
kleer001over 2 years ago
Tangentially I find it best with these things to work with a trustworthy and flexible team. That way if my good-faith estimate was way off they can communicate that to the client and make room for the surprise work.
I_dev_outdoorsover 2 years ago
If it&#x27;s not something you can scope out when the task is brought up, you can specify how much time it would take you to research it in more detail to get an estimate.
gabelschlagerover 2 years ago
Hofstadter&#x27;s Law: It always takes longer than you expect, even when you take into account Hofstadter&#x27;s Law.<p>I usually take my prediction, multiply the time by 2 and add another 1&#x2F;4 of the time to it.<p>If it turns out to be faster, win-win for everyone. But usually, my guess is quite accurate that way.