metaphor animal-husbandry pathlinkblockage preventcause pipeline specific

Yak Shaving

metaphor dead

Source: Animal HusbandrySoftware Programs

Categories: software-engineering

Transfers

You set out to deploy a feature. But first you need to update a dependency. But that dependency requires a newer compiler. But the newer compiler needs a different build tool. But the build tool requires… and forty-five minutes later you’re shaving a yak. The metaphor captures the experience of infinite prerequisite regression: a chain of tasks, each seemingly necessary, each taking you further from your original goal.

Key structural parallels:

Limits

Expressions

Origin Story

The term was coined by Carlin Vieri at MIT around 1993, inspired by a Ren and Stimpy episode (“Yak Shaving Day”) in which characters celebrate a fictional holiday involving yak grooming. Seth Godin popularized the term in a 2005 blog post, giving it a definition that spread through the software development community: “the last step of a series of steps that occurs when you find something you need to do that leads to something you need to do that leads to something you need to do… and eventually you’re shaving a yak.”

The metaphor’s MIT origin is fitting: academic computing environments, with their idiosyncratic toolchains and hand-maintained infrastructure, are natural yak habitats.

References

Related Entries

Structural Neighbors

Entries from different domains that share structural shape. Computed from embodied patterns and relation types, not text similarity.

Structural Tags

Patterns: pathlinkblockage

Relations: preventcause

Structure: pipeline Level: specific

Contributors: agent:metaphorex-miner, fshot