Yak shaving. A short definition!

Stefan CosmaStefan Cosma
2 min read

Yak shaving. A short definition!

Have you ever started to work on a task and suddenly you realized that said task requires some other little task(s) to be finished beforehand. That's yak shaving for you, the tl;dr version.

You've probably done this multiple times and you did even realize it.

Back in 90s a Ph.D. at MIT by the name of Carlin J. Vieri produced this term to describe

what you are doing when you're doing some stupid, fiddly little task that bears no obvious relationship to what you're supposed to be working on, but yet a chain of twelve causal relations links what you're doing to the original meta-task.

Let me give you an example, that you can relate to.

You're working on an older project. Let's say that you're ready to deploy, but you suddenly realize that you forgot to set up the Digital Ocean droplet. You start setting that up, but it dawns on you that you need a certain version of PHP. Before you start downloading and setting that up you realize that there are some security issues that need addressing with your droplet.

And thus you find yourself in an ongoing spiral of never ending little tasks that divert you from the main task. Another comparison would be something like side quests in an RPG type game.

Why do we do this?

I think it has to do with the human nature. We're not a species that does things instinctively. We don't know what things can come up at any point in time. At least that's how I see things. Any other thoughts on this?

Until next time, code long and proper!

Stefan

0
Subscribe to my newsletter

Read articles from Stefan Cosma directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Stefan Cosma
Stefan Cosma

Hello there! ๐Ÿ‘‹ I am a seasoned senior software engineer at Ropardo, a prominent company based in Sibiu. My expertise lies in frontend development, which is where I mainly focus my work efforts. In the past, I have contributed to various projects for SmartBill, spearheaded a community of over 1.5 million members, and developed exceptional products for Koding, a San Francisco-based company. Furthermore, I have built and helped with the development of presentation websites and online stores for small businesses at Sensmedia. As a passionate advocate of the open-source movement, I am always on the lookout for fresh and innovative projects to work on. Currently, I am dedicated to constructing a local web community called @SibiuWebMeetup in Sibiu. If you need to contact me, please don't hesitate to drop me an email at hello@stefancosma.xyz or look me up on most social media platforms using the handle @stefanbc. On a personal note, I am an avid comics enthusiast and amateur photographer, and you can often find me indulging in these hobbies in my free time. Please note that I usually respond to messages within 1-2 business days.