Skip to content

Comment on Don't Shave That Yak (2005)parent

Comments

I've always interpreted yak shaving as "work that is neither necessary nor sufficient to complete a task."

Sometimes it's bikeshedding (looking through color swatches for your navbar when you dont even have a working CRUD system), sometimes it's indirect value add to you or your team (evaluating new ORMs or IDEs), sometimes it's just karma farming in the universe (sending PRs to a new GitHub repo you've found that almost solves your issues...)

I think of it as concentric circles: the center is the goal, the first ring is the tasks you need to complete, and so on ... and yak shaving is anything more than 2 layers away (or outside the circle entirely!)

If it's not necessary to complete the task then it's not yak shaving, it's just procrastination.

Well, sure, procrastination is a subset of yak shaving ... but it's also a matter of degree.

Consider my example of evaluating ORMs.

Option 1: Blindly choose first ORM from a Google search.

Option 2: spend 2 hours reading reviews, blogs, etc. to compare the 3 most popular ORMs.

Option 3: spend a day spinning up containers for each ORM, testing out a CRUD prototype for each, evaluating some basic cases.

Option 4: spend a week down the deep rabbit hole of ORM internals, query rolling, edge cases at scales your app will never see ...

And everything in between. None of it's necessary - even the ORM itself - but it's not all wasted effort either.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.