Browse Definitions :
Definition

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

Networking
  • Network as a Service (NaaS)

    Network as a service, or NaaS, is a business model for delivering enterprise WAN services virtually on a subscription basis.

  • network configuration management (NCM)

    Network configuration management is the process of organizing and maintaining information about all of the components in a ...

  • presentation layer

    The presentation layer resides at Layer 6 of the Open Systems Interconnection (OSI) communications model and ensures that ...

Security
  • backdoor (computing)

    A backdoor attack is a means to access a computer system or encrypted data that bypasses the system's customary security ...

  • Heartbleed

    Heartbleed was a vulnerability in some implementations of OpenSSL, an open source cryptographic library.

  • What is risk management and why is it important?

    Risk management is the process of identifying, assessing and controlling threats to an organization's capital and earnings.

CIO
HRSoftware
  • team collaboration

    Team collaboration is a communication and project management approach that emphasizes teamwork, innovative thinking and equal ...

  • employee self-service (ESS)

    Employee self-service (ESS) is a widely used human resources technology that enables employees to perform many job-related ...

  • learning experience platform (LXP)

    A learning experience platform (LXP) is an AI-driven peer learning experience platform delivered using software as a service (...

Customer Experience
  • headless commerce (headless e-commerce)

    Headless commerce, also called headless e-commerce, is a platform architecture that decouples the front end of an e-commerce ...

  • chief customer officer (CCO)

    A chief customer officer, or customer experience officer, is responsible for customer research, communicating with company ...

  • relationship marketing

    Relationship marketing is a facet of customer relationship management (CRM) that focuses on customer loyalty and long-term ...

Close