What problem are you trying to solve?

I hear people ask seemlingy good questions, but they often miss a fundamental part: What problem are you trying to solve?

I hear a lot of people ask seemlingy good questions:

  • What’s the right way to estimate an operations story in Scrum?
  • How do you manage many branches in a git repository?
  • How do I implement agile methologies on a large monolothic project?

As good as these questions are, they’re missing something very fundamental, without which none of these questions can be answered in any useful way:

What problem are you trying to solve?


Let me pick one example to make it specific:

How do you manage many branches in a git repository? Should we name branches after Jira tickets, or team name, or something else?

It turns out, this was actually an XY Problem. After some discussion, it became apparent the problem to be solved was:

These are stale branches, I want to know which ones I can delete safely.

Based on this new understanding my advice was simple: Delete any branch older than 3 months (or 1 month, or whatever is reasonable), and don’t bother with complicated naming standards.

Share this