All posts

The XY problem

📅 Created 5 months ago 👁️ 54

🏷️ #management #jtbd

I need to feed the dog.
I think(!) there’s the bag of dog food in the shed.
The light in the shed is broken so I’m looking for a new light bulb.

But I should look for the dog food!

This is a well-known XY-problem. Having the problem Y, we think of solution X but sudden we realize that we need some help with it.

We ask for help with assumed solution rather than asking for help with initial problem!

Common examples

— How do I extract last 3 chars of the filename?
%example_in_favorite_language%. Why?
— I need the file extension.
— Well, it’s not always 3 chars. Might be more, might be less or even none.
Use the /(?<=\.).*$/1.

— How do I renew HTTPS certs automatically?
— Check out the Let’s Encrypt manual. In a nutshell, cron or so + some scripting. Why?
— Need it for the service X.
— This service is planned for max. 4 months. In worth case we’ll do it manually in <60sec.

The XY-problem correlates with main JTBD2 principle: always look for deeper reason. It might be pretty far away from current subject and might be achieved in different, often easier, way.

References

  1. The /(?<=\.).*$/ regular expression means:
    .*: take any amount of chars
    $: from the end
    \.: prepended by the “dot”
    (?<=...): but not including the “dot” itself.

  2. JTBD — Jobs To Be Done; the framework by Clay Christensen.
    It encourages Product decisions based on what Customers really want to do (their “jobs”) and how the Product helps with it.

Timer app 🕗 🙂