Skip to main content

The XY Problem

What is it?​

The XY problem is asking about your attempted solution rather than your actual problem. This leads to enormous amounts of wasted time and energy, both on the part of people asking for help, and on the part of those providing help.

  • User wants to do X.
  • User doesn't know how to do X, but thinks they can fumble their way to a solution if they can just manage to do Y.
  • User doesn't know how to do Y either.
  • User asks for help with Y.
  • Others try to help user with Y, but are confused because Y seems like a strange problem to want to solve.
  • After much interaction and wasted time, it finally becomes clear that the user really wants help with X, and that Y wasn't even a suitable solution for X.

The problem occurs when people get stuck on what they believe is the solution and are unable step back and explain the issue in full.

What to do about it?​

  • Always include information about a broader picture along with any attempted solution.
  • If someone asks for more information, do provide details.
  • If there are other solutions you've already ruled out, share why you've ruled them out. This gives more information about your requirements.

Remember that if your diagnostic theories were accurate, you wouldn't be asking for help right?

Examples​

Example 1​

The Discord User doesn't actually want to store multiple values in a global variable, they want a table, so why ask for multiple values

How can i store multiple values in a global variable?

You could store them in a comma seperated format or use a JSON object

Why do you need to store multiple values? What do you really want?

Do you want a table?

Yes.

Global variables aren't designed for that, trying to store multiple values doesn't solve the problem

Use a database it's exactly what you are looking for

Example 2​

If the Discord User had just started by explaining they want to lock a slash command to users with certain permissions, this could have been a much shorter and more productive discussion.

I can't seem to find the discord endpoint that returns the user's permission, can anyone help?

If you look through discord's docs at https://discord.dev you should be able to find the exact endpoint

Ok, but i don't know anything about the discord API

Well you are going to need to look around for it because there's no block that returns that info

I really need to get the user's permission. Can Inventor do this?

You could check their roles

I need to lock a slash command to user's with certain permissions

Slash commands provide that natively, you can select the permisions from the permission dropdown


This page is heavily influenced by https://xyproblem.info/