3 ms·
A great way to deal with things like this is to stop using weird analogies that everyone understands differently. Dont call it yak shaving, call it what it act
by lionkor 3y ago
A great way to deal with things like this is to stop using weird analogies that everyone understands differently.
Dont call it yak shaving, call it what it actually is you're doing. Dont say "youre yak shaving lol stop", say "youre refactoring parts that worked fine" or something.
Not everything has to be a cool metaphor, sometimes that really doesnt work well. Same for technical debt. Ask four people to define it and youll get four pretty different answers.
- klysm 3y agoI disagree. Yak shaving, bike shedding etc, are good because they capture something that’s a lot longer to describe in a short form and give you a “mental handle” to the concept.
- rzzzt 3y agoThat "mental handle" makes it way too easy to push or pull on the "mental door" behind which the concept lies. "That's an XY problem".
- projektfu 3y agoThat's not really yak shaving, though. Yak shaving, to me, is where you want to make a small improvement to something or test something out. But you're not currently working on that part of the project, so you pull it out of source control. However, it doesn't compile on your machine, you don't have a dependent library. So you get the library but it's not compatible with some version of something else. Yadda yadda yadda. Since 2005 there have been a lot of tools to avoid yak shaving, although some of them are easy and some present a lot of potential yaks to shave if you're not already using them. For example, venv+pip+pinned versions is a good solution in python, and relatively easy to use. Docker is great if you're skilled with it but for a new user, it is basically yak shaving to get used to it. Nix could potentially eliminate a lot of yak shaving but also has a learning curve. Vagrant was/is useful for spinning up development machines that match production, especially if you're not super skilled in containers or not using them in production. I find a lot of yak shaving in the Javascript ecosystem, and also when there is some third-party API or scripting language is involved. ETL is usually like this as well. As a casual programmer, this is the stuff that makes programming unfun and intimidating.