Twitter LinkedIn Github

JetBrains

Do you ever question why you do things? Whether it’s implementing a feature request, writing a blog post, giving a talk, do you question why you do it?


I’m sure you’ve probably heard of the 5 Whys, in which you repeatedly ask Why before trying to solve a problem. And since it seems in our field, we have an obsession with all things Toyota (and martial arts), we’ve also adopted the technique, often with less success than desired:

- Developer: Why do you need to a grid listing customers?
- Customer: Because I want to see customers
- Developer: Why do you need it in a grid?
- Customer: So that I can scroll
- Developer: Why do you need to scroll?
- Customer: So that I can search for the name
- Developer: That's absolutely silly. There's a better solution for that

…six months later

- Developer: Look I built you a powerful Query Builder


Query Builder


Do you ask Why 5 times?


This might answer the why, and it might point to doing the right thing, but then, after it’s done, how do you know if it’s the right thing? How do you know if it was worth it?

Stop. Analyse. Adjust

I’ve often found that at times I’ve done something because, well, I thought it needed to be done. And while it’s always been with the best intentions, often inertia has driven me to do it and continue to do similar things. This can be dangerous, or at the very least, unproductive.


A job shouldn’t merely be about ticking checkboxes on a TODO list, but adding value. To see if we’re adding value we sometimes need to slow down, take a step back and really think about what we’re doing and whether it adds value. We need to analyse results in light of the goals we set forth when we answered the 5 whys, and adjust accordingly.


Did anyone use that feature we debated about for so long?


Did anyone read that tutorial we wrote?


I often need to remind myself of this.