New Lingo
Recently, I came to learn two new terms, bikeshedding and yak shaving.
Bikeshedding
Cyril Parkinson, a British naval historian, is foremost known for Parkinson’s law, which states that work and meetings expand to fill the time allocated to it. A lesser known of his laws is the law of triviality, to describe how organizations tend to focus on trivial issues and put aside more complex matters.
Bikeshedding is another term for Parkinson’s law of triviality, describing our tendency to devote a disproportionate amount of our time to menial and trivial matters while leaving important matters unattended.
The term supposedly originated during nuclear power plant planning meetings when too much time was spent on the color of the bike shed, rather than on the construction and safety of the nuclear plant.
Bikeshedding occurs because trivial tasks are easier to comprehend than more complex issues; consequently, we feel more comfortable working on and discussing the simple issue.
It is important to be aware of bikeshedding because it helps identify instances in which a valuable resource — time — is being wasted on trivial matters. Bikeshedding means that we are operating at a suboptimal efficiency and may not complete everything that we have set out to resolve.
An awareness of bikeshedding is vital to countering its effects.
There are various techniques that can be used in order to ensure that a group or team is being efficient with the time they spend on each topic.
One method to avoid bikeshedding is to have a separate meeting for any major, complex issue. If the topic is brought into a meeting with a long agenda, it can get lost under the trivial issues. However, if it is the main and only purpose for a meeting, it is difficult to avoid talking about it. Keeping meetings specific and focused on a particular issue can help counter bikeshedding. It may also be a good idea to have a particular person appointed to keep the team on task and pull back focus if the discussion does get sidetracked.
Another way of pulling the focus onto particular issues is to have fewer people present at the meeting. Bikeshedding is a big problem in group settings because simple issues entice multiple people to speak, which can drag them out. By only having the necessary people present at a meeting, even if a trivial issue is discussed, it will take up less time since there are fewer people to voice their opinion.
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.
Wikipedia’s definition shows both the negative and positive spin one can give the definition
- Any apparently useless activity which, by allowing you to overcome intermediate difficulties, allows you to solve a larger problem. “I was doing a bit of yak shaving this morning, and it looks like it might have paid off.”
- A less useful activity done consciously or subconsciously to procrastinate about a larger but more useful task.
It originated in the MIT media lab.
You see, yak shaving is 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.
Be aware of the army of yaks that threatens your time and sanity.
Experienced developers will generally try to steer clear of yaks by rethinking the problem, analyzing different solutions, and picking the most efficient one.