Word of the Day #6

yak shaving

  1. Small, tedious tasks you need to complete in order to make progress on your real project

The term Yak Shaving originated in the 1990’s, capturing the frustrating work that you need to do before you can actually do your work. This exists in all domains, but is especially relevant in programming; you follow the instructions to install something which requires installing something else, which breaks something else … until hours later you’re frustrated and have completely forgot what you were originally trying to do.

Here’s a real-life example:

My wife asks for a coffee. Of course I say yes!

  • Step 1: Go to the kitchen and boil some water.
  • Step 1.1: Realize the kettle’s connection is poor. Get the screwdriver to fix it.
  • Step 1.1.1: The electric screwdriver’s batteries are dead. Take the batteries to the charger.
  • Step 1.1.1.1: Plug the batteries in the charger. Charger cable has been taken by someone.
  • Step 1.1.1.1.1: Look around for another cable for the charger.

Wife asks what I’m doing. “Making coffee, what does it look like!”

This might be extreme, but I find it happens frequently, so happy Yak Shaving 🙃

P.S. Here is a classic video on Yak Shaving from Malcolm in the Middle.

The End