What is yak shaving?

Engineering culture and software practice

Yak shaving is the chain of small, fiddly subtasks you have to clear before you can do the thing you actually set out to do. The chores are not random; each is linked, however indirectly, to the original goal. The term, coined at the MIT AI Lab, captures the absurd feeling of being busy all day while the real task keeps receding into the distance.

What this means

Yak shaving is what happens when a simple job grows a beard. You set out to do one thing, fix a bug, send a document, deploy a patch, run a test, and before long you are buried in a stack of implausible little chores that seem to have wandered in from somebody else's day. The key point is that the chores are not wholly random. They are linked, however indirectly, to the thing you meant to do. In the classic MIT explanation, there is a "chain of twelve causal relations" between the fiddly task in front of you and the real task you started with.

That is why yak shaving is more precise than plain old distraction. Answering messages instead of writing your report is procrastination. Discovering that you cannot write the report until you retrieve a file, cannot retrieve the file until you renew a certificate, cannot renew the certificate until you update a dependency, and cannot update the dependency until you repair a broken local build, that is yak shaving. It feels absurd because each step is small and local, while the original aim keeps receding into the distance.

Why it matters

The genius of "yak shaving" is not zoological accuracy. It is emotional accuracy. The phrase captures the peculiar mix of necessity and ridiculousness that modern work generates. We live inside systems built from dependencies, permissions, versions, handoffs, access rules, forgotten defaults, brittle tooling, and hidden assumptions. The main task is often easy to describe and strangely hard to reach. Yak shaving gives a name to the feeling that the shortest route to the goal has somehow turned into a side quest through procurement, configuration, and archive archaeology.

It also endures because it is funny without being trivial. Engineers like it because it sounds as ridiculous as the experience feels. People outside engineering like it because the pattern is not confined to code. By 2005 the term had already moved into broader writing about work and productivity, where it was being used to describe how groups and organisations lose the thread of the thing they were actually trying to get done. Once a term can describe both a broken Emacs configuration and a committee meeting that has somehow become about the wrong spreadsheet, it has escaped jargon and become a durable metaphor.

How it works

Where the term came from

The origin story matters because it is often told a bit wrong. The phrase came out of the MIT AI Lab culture, not as a timeless folk saying. Carlin J. Vieri coined it in the 1990s after seeing the "Yak Shaving Day" segment from The Ren and Stimpy Show. In a later account, Vieri recalled that he saw the episode after late night hockey, then, sometime afterwards, reached for the phrase when he was struggling to overnight a document and found himself snarled in administrative preliminaries such as permissions, courier setup, and purchase order paperwork. He told his officemate that he was "yak shaving", and then tried to get the term to catch on around the lab.

The cartoon supplied the imagery

Later accounts of the phrase tie Vieri's coinage to the bizarre Yak Shaving Day material in the early Ren and Stimpy run from the autumn of 1991. Contemporary summaries of that material describe a mock holiday involving shaving cream, a razor, and the expectation of a shaven yak turning up with presents, which explains why the phrase has always sounded faintly unhinged even when used to describe perfectly ordinary software pain.

How it entered the written record

The first strong public documentation of the term is an internal MIT archive from 11 February 2000. In that message, Jeremy H. Brown wrote to the all-ai mailing list that "our very own Carlin Vieri invented the term", then defined yak shaving as doing a stupid, fiddly task whose connection to the real work is only visible through that long causal chain. That archive matters because it nails down the lab context and the attribution. The Jargon File later recorded the term as MIT AI Lab slang and noted that it probably came from a Ren and Stimpy episode, which is broadly right, though Vieri's own later explanation makes the sequence clearer than the Jargon File's cautious wording.

How it spread

The story was garbled almost as soon as the term escaped the lab. In March 2005, Seth Godin popularised it for a broader audience, but his first post misattributed it to the MIT Media Lab and even gave the wrong date. By October that same year, he published a correction, explicitly crediting Carlin J. Vieri and linking to the MIT archive. Joichi Ito also wrote about the term in March 2005, treating it as a piece of technical slang that had already begun to travel beyond its original home. So the clean version of the story is this: the cartoon supplied the image in 1991, Vieri coined the phrase at the MIT AI Lab in the 1990s, Brown's 2000 mailing list post gave it a durable written definition, and the blogosphere helped it spread into wider culture in 2005.

Examples

In software engineering, yak shaving usually begins with a task so modest it barely seems worth mentioning. You want to change one label in a form. You want to run one migration. You want to update one package. Then the dependencies pile in. A library update forces a newer runtime. The newer runtime breaks an old plugin. The plugin depends on a tool nobody has touched for years. The tool's installer no longer works on your machine. At that point you are three hours deep, surrounded by logs, and technically still "just changing a label".

The famous folklore example starts with wanting to wax a car and winds backwards through an absurd chain until somebody ends up at a zoo. Its endurance comes from the structure rather than the details. Here is a more contemporary version. You only meant to ship a one line hotfix before lunch. The continuous integration job fails because the build image is outdated. Updating the image requires a newer package manager. The package manager cannot talk to the internal registry because the company root certificate expired on your laptop. Renewing that certificate means signing into the security portal. The portal now insists on a new single sign on app. The app update requires a full operating system restart. The restart surfaces an unfinished firmware patch, which triggers disk recovery screens and an apologetic call to IT. At 3 pm you have not touched the hotfix, but everything you have done can still, in a grimly legal sense, be traced back to it. That is yak shaving.

Common misunderstandings

Yak shaving is just procrastination. It is not. Procrastination is wandering off to do something unrelated. Yak shaving is work that is genuinely linked to your goal through a long causal chain, even when that link only becomes visible once you are ankle deep in it.

It is always a waste of time. Not necessarily. Good yak shaving removes a real blockage, and once the blockage is cleared, progress resumes. The trouble is only when the detour stops being necessary.

It is an old folk saying. It is recent and specific. It was coined at the MIT AI Lab in the 1990s and traces its imagery to the Ren and Stimpy cartoon, not to traditional proverb.

It only applies to programming. The pattern shows up anywhere work sits inside systems of dependencies, permissions and handoffs, which is why the term has spread well beyond engineering into general writing about work.

Risks and boundaries

The most useful distinction is not between yak shaving and not yak shaving. It is between good yak shaving and bad yak shaving. Good yak shaving removes a real blockage. You cannot do the task until this other thing is fixed, and once it is fixed, progress resumes. Bad yak shaving loses the plot. The detour starts as a prerequisite and then blooms into redesign, optimisation, tidying, or curiosity driven wandering. Vieri's test is a good one: is this actually related to your primary objective, or are you merely flattering yourself with activity. Modern advice on the term makes a similar distinction between necessary annoyance and plain procrastination.

Vieri's own clarification is useful here. He said yak shaving should involve tasks that are related to your main objective, not just random distractions. That keeps the phrase honest. Proper yak shaving is not simply getting bored and wandering off. It is work before the work, often necessary work, but work whose necessity is only visible after you are already ankle deep in it.

What to do next

Practitioners pull themselves out of the trap by making the original goal explicit and treating every detour as guilty until proven necessary. Write down the task you actually meant to finish. Ask whether the new subtask genuinely blocks it right now. If it does, do only the minimum needed to unblock it. If it does not, capture it and come back later. In software terms, this often means refusing to smuggle refactoring, clean up work, and tool improvements into a job whose actual purpose is to fix one urgent defect. If you separate the current unblock from the attractive extra improvements, the yak may still need shaving, but at least only the relevant bits of it.

FAQs

What does yak shaving mean?

It is the chain of small, fiddly subtasks you must clear before you can do the task you actually set out to do. Each subtask is linked to the original goal, however indirectly, which is what separates it from simple distraction.

Where does the phrase come from?

It was coined at the MIT AI Lab in the 1990s by Carlin J. Vieri, who took the imagery from the Yak Shaving Day material in the Ren and Stimpy cartoon. Jeremy H. Brown's MIT mailing list post in 2000 gave it its first durable written definition.

Is yak shaving the same as procrastination?

No. Procrastination is doing something unrelated instead of your task. Yak shaving is doing things that are genuinely connected to your task through a long chain of prerequisites, even though it can feel just as unproductive.

Is yak shaving always bad?

No. Good yak shaving clears a real blockage so the main work can continue. It becomes a problem only when the detour stops being necessary and turns into tidying, optimisation or curiosity driven wandering.

How do I stop yak shaving?

Write down the task you actually meant to finish, then treat each new subtask as guilty until proven necessary. If it genuinely blocks you now, do the minimum to unblock and no more. If it does not, capture it for later.

Why does the term use a yak?

The image comes from a cartoon, not from any real practice. Its absurdity is the point: it captures how ridiculous it feels to be busy all day on prerequisites while the simple original task remains untouched.

Sources