Hofstadter's Law: Six Ways to Pad a Plan, Compared

Hofstadter's Law says work runs late even when you allow for it. Six estimate-padding methods compared, and why a Friday update beats extra buffer.

In this article5 sections

“It always takes longer than you expect, even when you take into account Hofstadter’s Law.” Douglas Hofstadter put that sentence in Gödel, Escher, Bach in 1979, and it is deliberately circular: if the rule were fixed by padding, you would pad, and the rule would apply to the padding. So the short answer to what to do about it is that padding helps less than people hope, and the thing that helps most is learning early that you are behind, while there is still room to cut.

This post compares six ways of building slack into a plan, shows where each one breaks, and ends with a version that uses a person instead of a spreadsheet.

What is Hofstadter’s Law, exactly?

Hofstadter’s Law is a self-referential rule of thumb about estimating: tasks take longer than you predict, and your attempt to correct for that also falls short. Hofstadter offered it in the context of predicting how soon computers would play chess well, but anyone who has planned a thesis, a renovation or a product launch recognizes it.

The psychology underneath has a separate name. Daniel Kahneman and Amos Tversky described the planning fallacy in 1979, the same year the book came out, and the 1994 thesis study by Buehler, Griffin and Ross put numbers on it. Hofstadter’s Law adds a second-order warning: knowing the bias is not enough to remove it.

Which padding method works best?

None wins everywhere. Each method fixes a different part of the problem and leaves another part open.

MethodHow it worksWhere it helpsWhere it breaks
Flat percentage padAdd 25% or 50% to every estimateQuick, needs no historyThe right percentage differs by task; tends to be applied once and then forgotten
Double it and bump the unitDouble the estimate and move up one unit (2 hours becomes 4 days). A folk rule, not a researched oneReminds you that small tasks balloonCrude; can overshoot on routine work
Three-point estimateGuess best, likely and worst case, then weight them, as in (best + 4 x likely + worst) / 6, the formula from the PERT technique developed for the US Navy’s Polaris program in the 1950sForces you to picture the bad caseAll three numbers still come from the inside view, which is where the bias lives
Your own overrun ratioDivide actual by planned time on past projects, multiply new plans by the medianThe most evidence-based option; the outside view in practiceNeeds three or four honest records, and new kinds of work have none
Pooled buffer at the endEstimate tasks tightly and put one shared reserve before the finish (Goldratt, Critical Chain, 1997)Stops buffer being spent on early tasksNeeds discipline to treat the reserve as shared, which is hard for a solo project
Fixed time, variable scopeDecide how long the work is worth, then shrink the deliverable to fit. Basecamp’s Shape Up (Ryan Singer, 2019) calls the time budget an “appetite”Turns slippage into a cut decisionRequires someone willing to say what gets dropped

The row most worth stealing is the last. Every padding method above it tries to make the estimate truer. The last one admits the estimate will be wrong and decides in advance what gives.

Why does padding fail so often?

Padding fails because slack gets spent before the plan needs it. Goldratt’s argument in Critical Chain is that safety time built into individual tasks is wasted in two ways. People start later because the deadline feels far away, which engineers sometimes call the student syndrome. And the work grows to fill the time available, the dynamic usually credited to C. Northcote Parkinson’s 1955 essay.

There is a third failure that applies to personal goals more than to team projects: nobody sees the slip. A deadline you set alone moves quietly. On day 40 of a 60-day plan you can renegotiate with yourself at no cost, and the renegotiation does not feel like failure. It feels like being realistic. Self-set deadlines tend to behave this way, because nothing outside you changes when they pass.

Frederick Brooks noted a fourth, for software teams, in The Mythical Man-Month (1975): adding people to a late project tends to make it later. For one person with a personal goal the equivalent is adding hours at the end. It rarely works, because by then the shortfall is too big to close.

What does a witness change that a buffer doesn’t?

A witness changes the information, not the estimate. Suppose you promise a friend a Friday update on a 12-week goal. Your estimate of 12 weeks may be exactly as optimistic as before. What differs is that in week two you have to say something concrete to a person, and the gap between what you planned for week two and what happened is no longer private.

That early gap is the most useful number in the whole project. It is the only measurement of your real pace that arrives while you can still act on it, and it arrives in a form you cannot easily argue with. Faced with a Friday, most people do one of two things: they cut the deliverable to something they can finish, or they state a new date. Both are honest scope decisions, which is the “fixed time, variable scope” row of the table, performed because someone is waiting rather than because you remembered a book.

Some of this is the usual social-pressure machinery. A related post covers what the Friday ritual did for one person’s side project, including a week when the update was faked. The faking is instructive: the Friday was still the thing that made the miss visible.

Two caveats. A witness does not make plans more accurate, and a person who never asks for the update adds nothing. And a witness is a poor fit for goals where the output cannot be shown, because “I worked on it” is easy to say and hard to check.

How do you set up a Friday witness for a goal?

Here is the short version of the setup.

  1. Pad once, using the method that matches your history. If you have no records, use a flat 50% as a placeholder and replace it after the first project.
  2. Choose one person and one weekday. Fridays work because a weekend follows.
  3. Make the weekly deliverable something that can be looked at.
  4. When you are behind, say so before the Friday and name what you are cutting.
  5. Write one line of planned versus actual after each Friday.

How to ask someone to be your witness covers the conversation, which is where most people stall. Saying the plan out loud to the person, rather than just sending it, has its own effect, and the seven-day explain-it-aloud protocol goes into that.

For a goal that fits on a camera, DontSnooze is one way to run the Friday. You post a short video or photo of the thing done, your friends see it and can react, and a week with no post is visible to them. That works for wake-ups, workouts, a shelf built, a chapter printed. It does less for a goal whose proof is a long document, where a text message to a friend is the better tool.

On the next goal, write your padded date on a note and your Friday on the calendar. At the end of week two, check which of them was closer to the truth.

Its mirror image, work expanding to fill the time, is Parkinson’s law.

Keep reading