Hofstadter's Law: It always takes longer than you expect,
even when you take into account Hofstadter's Law.
The best advice I ever got on project-time estimation (from a biology postdoc) was: make your best, most honest best effort, and then double it.
When I make projections with a spreadsheet, I have a cell that copies my grand total of all costs and call that copy "unforeseen costs". I always hate bidding that high at the start, but the estimate ends up being close to right surprisingly often.
This article says 30% overruns are common, which is within my former boss' +100% bounds.
The other nice thing about doubling your cost estimate is it prevents you from catching the winner's curse and landing an overly-stingy client. Plus if you really can keep costs within your spec for the project, then you win extra profits. You'll never win that "game" if you don't leave room for error.
I think people should start using confidence intervals. Then the upper bounds become more realistic. If you need to estimate roughly with 90% condifence intervals, then a developer can communicate the uncertainity: I think task A will take about a week. At least 2 days. And no more than 3 months.
You can immediately see that it's probably best to either a) work with this tasks a few days and make a new estimate based on the acquired knowledge b) or if that's not possible, try to split the task to smaller subtasks to identify which parts are the most uncertain.
Doubling your estimate is a common rule of thumb that goes way back but over time if you keep learning from your previous estimates you should be able to become more accurate on average. There's another subtle thing going on is that many times when the estimate increases so does the actual time, a self fulfilling prophecy, hence Hofstadter's law...
When I make projections with a spreadsheet, I have a cell that copies my grand total of all costs and call that copy "unforeseen costs". I always hate bidding that high at the start, but the estimate ends up being close to right surprisingly often.
This article says 30% overruns are common, which is within my former boss' +100% bounds.
The other nice thing about doubling your cost estimate is it prevents you from catching the winner's curse and landing an overly-stingy client. Plus if you really can keep costs within your spec for the project, then you win extra profits. You'll never win that "game" if you don't leave room for error.