Browse Definitions :

yak shaving

What is yak shaving?

Yak shaving is programming lingo for the seemingly endless series of small tasks that have to be completed before the next step in a project can move forward. The term is a great example of internet slang making its way into the collective consciousness and being used to describe impediments to coding.

The term was coined by Carlin J. Vieri, a Ph.D. student at Massachusetts Institute of Technology in the 1990s, and was inspired by an episode of the Nickelodeon channel's cartoon The Ren & Stimpy Show. In the episode, Ren informs the viewers of an upcoming holiday called Yak Shaving Day, where one must leave shaving cream and a razor on the bathroom sink so that, at night, the Shaven Yak can come and leave presents.

Of course, Vieri was being sarcastic, but the term yak shaving caught on. It refers to engaging in a meaningless task that has no obvious relationship to what's supposed to be worked on but may be necessary to troubleshoot a larger problem. The process of making a simple task unnecessarily complicated may also qualify as yak shaving.

A yak is a domesticated, horned, cowlike mammal native to Tibet that looks similar to a Texas longhorn cow -- albeit with shorter horns -- but with a thick, shaggy coat to help cope with the cold climate of Tibet.

Examples of yak shaving

Examples of yak shaving fall into two categories: procrastination and necessary annoyance. In the case of the former, it's easy to slip into while working from home, where temptations and distractions abound.

For example, procrastination is when there's a report due today, but it seems dull and a waste of time because no one will ever read it. So, it falls to the end of the priority list behind other household chores -- anything to avoid writing the report.

Necessary annoyance occurs when the original goal is to complete task A, but an unforeseen cascade of circumstances intervenes to distract from completing it. Those involved with software development may be especially sensitive to necessary annoyances. For example, a field entry name must be changed in source code because it was changed in the database. But, as the software engineer looks into the code, other errors become apparent and need to be corrected. The required changes affect other apps, and then those, in turn, affect yet more applications. That can lead a developer down a rabbit hole of dependency hell that needs to be fixed before making the initial modifications.

How to avoid yak shaving

Avoiding both types of yak shaving requires self-discipline and self-awareness. In the case of procrastination, it comes down to recognizing it, stopping the time-wasting exercises and getting on with the unpalatable task at hand.

Steps to avoid yak shaving
Follow these steps to avoid falling down a rabbit hole.

In the case of distraction, stopping isn't an option because these are necessary steps. Even if a half-dozen other updates occur before making a planned change, they must be done.

It is possible to reduce the distracting effects of yak shaving by reframing the situation. Here are some steps to consider:

  1. Realize you have been sidetracked. The moment you realize you are moving toward yak shaving, stop.
  2. Understand the task at hand. You can't get back on track until you realize what the track is. Refocus to become aware of possible distractions.
  3. Have a plan of action. Once you've recognized you are off course, formulate a project plan to get back on course.
  4. Set modest goals. A series of small tasks is easier to accomplish than one giant task.
  5. Set periodic checkpoints. Stop periodically to ensure you are still on the planned path.
  6. Have a better working environment. This is ideal advice for avoiding procrastination: Reduce as many distractions and temptations as possible.

One method for setting periodic checkpoints is the Pomodoro Technique, which breaks work into 25-minute chunks punctuated by five-minute breaks.

Fostering well-being is essential to productivity. These 10 digital wellness tips help workers stay on task and improve work experience.

This was last updated in January 2023

Continue Reading About yak shaving

  • Telnet

    Telnet is a network protocol used to virtually access a computer and provide a two-way, collaborative and text-based ...

  • big-endian and little-endian

    The term endianness describes the order in which computer memory stores a sequence of bytes.

  • Address Resolution Protocol (ARP)

    Address Resolution Protocol (ARP) is a protocol that maps dynamic IP addresses to permanent physical machine addresses in a local...

  • Mitre ATT&CK framework

    The Mitre ATT&CK (pronounced miter attack) framework is a free, globally accessible knowledge base that describes the latest ...

  • timing attack

    A timing attack is a type of side-channel attack that exploits the amount of time a computer process runs to gain knowledge about...

  • privileged identity management (PIM)

    Privileged identity management (PIM) is the monitoring and protection of superuser accounts that hold expanded access to an ...

  • employee resource group (ERG)

    An employee resource group is a workplace club or more formally realized affinity group organized around a shared interest or ...

  • employee training and development

    Employee training and development is a set of activities and programs designed to enhance the knowledge, skills and abilities of ...

  • employee sentiment analysis

    Employee sentiment analysis is the use of natural language processing and other AI techniques to automatically analyze employee ...

Customer Experience
  • customer profiling

    Customer profiling is the detailed and systematic process of constructing a clear portrait of a company's ideal customer by ...

  • customer insight (consumer insight)

    Customer insight, also known as consumer insight, is the understanding and interpretation of customer data, behaviors and ...

  • buyer persona

    A buyer persona is a composite representation of a specific type of customer in a market segment.