Yak Shaving - What is it and why you probably do it!

Search for a command to run...

No comments yet. Be the first to comment.
In this series, expect some longer posts that are more opinion based on the business side of development. Anything from salary to teamwork to mentorship!
Introduction "A reader lives a thousand lives before he dies. The man who never reads lives only one." - George R.R. Martin As developers our lives are FILLED with constantly learning new things. Be it a new programming language, new best practice ...
In the world of web development using C#, the Response.Redirect method is a common way to guide users to different pages within a web application. However, there's a glaring issue that we need to address: the second parameter, which introduces unnece...

Ever need to trap the focus of the browser to a modal, a tour guide, or something else while trying to balance accessibility? I am far from an expert, but one thing I found on StackOverflow that helped me was this snippet from Shane McCurdy from th...

The Intro We had a dilemma today of an issue found in our code that needed to be fixed. After some time hunting I was able to find a distinct "this is good" reference in time and a distinct "this is not good" reference - but had no idea which commit ...

Introduction Ideally - we want our components to be kinda "dumb". Mostly just displaying data or gathering input from the user - the front end components shouldn't be smart enough to know what to do with said info once they have it. Usually this mea...

You can find the podcast episode around this topic below!
I shall begin with a quick story of something I went through this past week.
I had a task to create analytics events for a few new key features that we wanted to track usage of - as part of our measurements of how successful that new feature was in the short term.
A few hours later - I found myself taking a look at half our integration tests after a brief change to our login page.
How did this happen?
Yak shaving is when your current goal is overridden by multiple recursive sub goals that aren't absolutely necessary - but minor enough that you should just handle it now while you're there. After some time - this leads to the original goal not being met and all is not well.
You can find my absolute favorite visual aid for this here!
So while developing, it can be easy to get distracted with little "nice-to-have's" that are equally important as they are distracting.
Honestly - I don't think it's a bad idea. If you have the time for it - go for it. But there is a better method of how then what was visualized above.
Follow this rule of thumb and your yaks should all be shaved in no time:
And that is it. Do this - and you should see much success! (and some shaved yaks along the way!)
Have a good one! You can reach me at hello@workingunittests.com or https://workingunittests.com