Hofstadter’s Law: It always Takes Longer Than You Expect

 

Hofstadter’s law is the adage that “It always takes longer than you expect, even when you take into account Hofstadter’s Law”. This means that people tend to underestimate how long things will take them to do, even when they try to account for their tendency to underestimate this.

Hofstadter’s law has implications across many domains, like project management and personal productivity, so it’s useful to understand it. As such, in the following article you will learn more about Hofstadter’s law, and see how you can account for it in practice.

 

Examples of Hofstadter’s law

An example of Hofstadter’s law is that if you initially expect a programming project to take a week, then it will likely take longer than that (e.g., two weeks), even if you tried to account for your tendency to underestimate how long the project will take. Similarly, if you expect to be able to finish a school assignment in an hour as a worst-case scenario, then it might end up taking three hours to complete instead.

In addition, the original example used to illustrate Hofstadter’s law was proposed by scholar Douglas Hofstadter in his 1979 book “Gödel, Escher, Bach: An Eternal Golden Braid”, in the context of technological progress:

“In the early days of computer chess, people used to estimate that it would be ten years until a computer (or program) was world champion. But after ten years had passed, it seemed that the day a computer would become world champion was still more than ten years away…”

Finally, other examples of Hofstadter’s law appear in various other domains, including workplace time management, scientific research, and environmental issues. One such example is described in the context of construction:

“History is rife with examples of projects taking longer than expected, costing far more, and hitting endless unexpected hurdles. The Sydney Opera House stands as the great monolith in the history of the world for cost overruns and time delays, being completed more than 10 years late (scheduled to be completed in early 1963, its actual completion being in 1973) and horrifically over budget (initial budgeted cost $7,000,000; final total cost, $102,000,000).”

Note: A conventional pronunciation for “Hofstadter” is “hof-sta-ter”.

 

Reasons for Hofstadter’s law

Hofstadter’s law revolves around underestimating the amount of work needed to complete tasks, as well as the likelihood and impact of potential issues (like the scope of the work being extended, or external constraints that prevent work from taking place).

From a psychological perspective, this can occur due to various underlying phenomena, such as:

  • The optimism bias, a cognitive bias that can cause people to underestimate the likelihood that they’ll encounter obstacles in their work.
  • The availability heuristic, which can cause people to think that unexpected issues are less likely than they are, because those issues don’t easily come to mind.
  • The tendency to think about far-future projects in an abstract way, and consequently to underestimate their complexity, as predicted by construal level theory.

Note: Hofstadter’s law is strongly associated with the planning fallacy, which occurs when people underestimate how long it will take to complete future tasks, despite knowing that similar past tasks took longer to complete than expected.

 

Caveat about Hofstadter’s law

Hofstadter’s law is a humorous and general observation of people’s tendency to underestimate timeframes, rather than an absolute empirical reality. This means that you shouldn’t take it too literally, and shouldn’t expect it to apply in every situation.

Notably, there are many cases where it’s false, and people either accurately estimate the time it will take to do things, or even overestimate it. This can be particularly likely among people who are pessimistic, and therefore might do things like overestimate—rather than underestimate—the likelihood of encountering issues in their work.

In addition, there are cases where Hofstadter’s law is partially true, in the sense that people do initially expect things to take less time than expected, but are then able to properly modify their initial estimates by accounting for this issue, so their final time estimate is accurate.

 

Corollaries of Hofstadter’s law

A humorous corollary of Hofstadter’s law is that:

“Your worst-case time estimate isn’t going to be bad enough.”

This can also be formulated in a way that includes the recursive and self-referential nature of Hofstadter’s law:

“Your worst-case time estimate isn’t going to be bad enough, even when you take this issue into account.”

In addition, the following is a more moderate formulation of Hofstadter’s law, which takes into account that this law isn’t always true:

“It often takes longer than you expect, even when you take into account that things often take longer than you expect”.

Alternatively, this can also be formulated as:

“People tend to underestimate how long it takes to do things, even when they take into account this tendency.”

Finally, a rule of thumb that’s often associated with Hofstadter’s law is that, in order to calculate how long something will take, you should double your initial estimate, and then move up a unit. For example, if you initially estimate that something will take 1 hour, then you should assume that it will take 2 days instead.

 

How to account for Hofstadter’s law

Accounting for Hofstadter’s law can help you generate more accurate time estimates, and assess the reliability of time estimates that are generated by yourself and others. The key to doing this is to remember the general tendency to underestimate the time needed to do things, even when trying to account for this estimate. In addition, when dealing with the issues associated with Hofstadter’s law, you can use the following techniques to try to generate more accurate time estimates:

  • Explore the reasoning behind the estimate. For example, consider the quantity and quality of the evidence that was used to make the estimate.
  • Unpack large projects into small steps. For example, figure out what exactly needs to be done, how, and in what order, to complete the project that you’re trying to estimate the timeline for.
  • Visualize the work process. For example, imagine yourself going through it step-by-step, to help yourself identify issues that you might encounter later.
  • Learn from past situations. For example, consider how long similar tasks took to complete in the past, and how accurate the time estimates for those tasks were. This can involve focusing on an outside view (as opposed to an inside view), whereby instead of focusing on the specifics of the current project, you identify similar past projects, consider how long they took, and compare the present project to them.
  • Get estimates from multiple people. For example, you can ask people who managed similar projects in the past how long those projects took. When doing this, it can be particularly helpful to get estimates from people with diverse but relevant perspectives, including external people, who aren’t involved with the current project.
  • Wait until after you progressed before making an estimate. For example, you can wait until after you’ve written the outline for a paper before estimating how long it will take to finish the paper itself. However, if the beginning of the project is fundamentally different from the rest of it—and especially if it’s easier—then you should avoid letting this make you overconfident.
  • Use other debiasing techniques. For example, you can use self-distancing, and ask yourself how you would assess your planned schedule if someone else came to you with it.

When using these techniques, you should also keep the following caveats in mind:

  • Hofstadter’s law is just a general humorous observation, rather than something that’s always entirely true.
  • We tend to underestimate our biases, so you may be unaware of various issues with your time estimates.
  • Trying to account for Hofstadter’s law can cause issues, such as overestimated timelines and lack of confidence in good estimates.
  • It’s not always necessary to have a highly accurate time estimate, so before trying to generate one, you should ask yourself how accurate the estimate needs to be, and whether it’s even necessary.

In addition, the following time-management techniques can also be useful for minimizing issues associated with Hofstadter’s law:

  • Use defensive pessimism. For example, try to imagine things that can potentially go wrong with the project, and assume that you’re underestimating how likely they are.
  • Add a safety margin. For example, after accounting for all the issues you can think of, you can add extra time to your estimate, to give yourself time to deal with unexpected delays.
  • Have heuristics for estimating timelines. For example, you can have a consistent Hofstadter’s multiplier of 2, meaning that you always multiply initial estimates by 2 to get a more realistic estimate. You can also have different heuristics (e.g., different multipliers) for different situations.
  • Set clear deadlines. For example, you can set a series of intermediate deadlines to make sure you regularly assess your progress, and set concrete and enforceable deadlines to reduce the likelihood that tasks will drag out unnecessarily.
  • Understand and modify incentives. For example, if it’s clear that someone can benefit from underestimating the time it will take them to complete a project, change their incentives accordingly.

 

Related concepts

When accounting for Hofstadter’s law, you can also benefit from accounting for related concepts, including:

  • Parkinson’s law, which is the adage that “work expands so as to fill the time which is available for its completion”. This signifies that the more time people dedicate in advance to a certain task, the longer it will take to complete it, even if it could have been completed in less time.
  • Brooks’ law, which is the observation that “adding manpower to a late software project makes it later”. Applied broadly, this principle denotes that when it comes to various types of projects, adding more resources—especially more people—is often unhelpful and even counterproductive.

In addition, another useful concept is the Pareto principle, which denotes that in many situations, 80% of outcomes are derived from 20% of causes.

Finally, a humorous but somewhat useful concept from software development is the ninety-ninety rule, which states that “The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.”.

 

Summary and conclusions

  • Hofstadter’s law is the adage that “It always takes longer than you expect, even when you take into account Hofstadter’s Law”.
  • For example, if you expect a project to take only a few days, and then plan for it to take a week in case you underestimated this timeline, then it might end up taking two weeks instead.
  • This happens for various reasons, including the tendency to underestimate the complexity of future work and the likelihood of encountering potential issues.
  • Accounting for Hofstadter’s Law can help you generate better time estimates, and assess the accuracy of other people’s estimates, though keep in mind that this adage is sometimes wrong.
  • You can also use various techniques to generate better time estimates, including unpacking large projects into small steps, considering similar past work, visualizing the work process, asking what could go wrong, and talking to external people.