Warning: jargon ahead!
If you’ve been kicking around the Internet, especially as an engineer, for longer than my oldest dog, you probably already know these terms.
If you don’t, you’ve experienced them but you didn’t know they had a name.
Bikeshedding is the act of spending all the time involved in making decisions fighting about the inconsequential stuff.
As it was explained to me…. if you get a bunch of people in a room (say, a township board of supervisors) and you give them a hard question (should we approve a nuclear power plant?) and an easy question (what color should the bike shed at the local park be painted) they will spend 90% of the meeting arguing about the paint color and never get to the hard question even if you introduce the hard question first.
I recently put myself in a bad bikeshedding situation in a meeting where I asked a bunch of managers to make a strategy decision and a tooling decision and they spent the whole meeting on the tooling decision…. which was ridiculous because we couldn’t actually choose a tool if we didn’t have a strategy. Result: the strategy was “decided” based on the tool, which we all know is bass-ackwards. See “the tail wagging the dog” for examples of when this happens with people instead of decisions.
Yak shaving is working through all the little things that have to be done so the next big thing can happen.
For the longest time, I thought yak shaving was just procrastinating. And sometimes it is. You look at a big project on the horizon and you think “you know, I really need to fix all the spelling errors in the documentation before I work on that database” but the spelling errors have no impact on the database. That’s yak shaving.
But it’s also when there’s a whole bunch of tasks that don’t look related to the big thing but have to be done for the big thing to be done correctly. “You know, I have to fix all these spelling errors in this documentation because the documentation is going to be parsed by this other application and then put in the database so the data’s got to be clean… and that also means I have to fix the parser to ensure that it kicks anything that has a spelling error… which means the parser code needs to be upgraded to the latest version…” is also yak shaving.
This clip from the show Malcolm In the Middle is classic yak shaving.
In my house this is also called “fixing the transmission” aka “hey I thought you were going to make coffee why are you outside with the dogs and why is the sink running?” “I’m fixing the transmission!”.
My team is in a huge project right now and one of our biggest struggles is ensure that we account for time to do the yak shaving. It’s going to happen, especially the 2nd type. If we account for it, it will happen without destroying the schedule. If we don’t account for it, it will destroy the schedule.
And if you’re prone to yak shaving (hello fellow ADHDers!), try to ensure you’re doing the 2nd type or have a really good justification for the first type. (Sometimes that justification is really “look my brain is fried and it needs a simple job.” Sometimes other people don’t like that justification. They are the ones with the problem.)