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
  • net neutrality

    Net neutrality is the concept of an open, equal internet for everyone, regardless of content consumed or the device, application ...

  • network scanning

    Network scanning is a procedure for identifying active devices on a network by employing a feature or features in the network ...

  • networking (computer)

    Networking, also known as computer networking, is the practice of transporting and exchanging data between nodes over a shared ...

Security
CIO
  • strategic management

    Strategic management is the ongoing planning, monitoring, analysis and assessment of all necessities an organization needs to ...

  • IT budget

    IT budget is the amount of money spent on an organization's information technology systems and services. It includes compensation...

  • project scope

    Project scope is the part of project planning that involves determining and documenting a list of specific project goals, ...

HRSoftware
  • employee onboarding and offboarding

    Employee onboarding involves all the steps needed to get a new employee successfully deployed and productive, while offboarding ...

  • succession planning

    Succession planning is the strategic process of identifying and developing internal candidates to fill key organizational roles ...

  • recruitment

    Recruitment is the process of finding, screening, hiring and onboarding qualified job candidates.

Customer Experience
  • chatbot

    A chatbot is a software or computer program that simulates human conversation or "chatter" through text or voice interactions.

  • martech (marketing technology)

    Martech (marketing technology) refers to the integration of software tools, platforms, and applications designed to streamline ...

  • transactional marketing

    Transactional marketing is a business strategy that focuses on single, point-of-sale transactions.

Close