-6

There is the XY problem, where a solution for X is wanted, but a question about Y is asked.

I think there's also the problem of the assumed XY problem, where a question about Y is asked, but X is assumed.

While the question may be specific, instead of providing possible answers, the people defaulting to assume the XY problem want to figure out X and either reproach the asker and/or require details about the assumed X that are likely not needed to answer Y ("tell us what you are really trying to do or we can't help you").

I think SE's platform with it's focus on very specific issues and answers limits the issue, while forum discussions can easily lose focus on the original question and extend to other aspects of the (assumed / underlying) problem.

How is this motivated? Do people

  • genuinely want to help, and assume the asker really wants help with X?
  • assume they "know better" that what is being asked is not the actual question (arrogance)?
  • find Y is too easy (boring) / see a better challenge in finding/solving an underlying X (achieve more "rep")?
  • like to point out there is such thing as the XY problem to show they are more knowledgeable, but do not actually intend to help with either Y nor X?

Is there a name for this "opposite" as well? How can people assuming there's an X to the Y be convinced otherwise?

4
  • 3
    Have you come across real examples of this, or is your question hypothetical? If this relates to real situatuons, then links to the examples might help us answer. – Kramii Apr 15 '20 at 14:30
  • 5
    Note that "assume they 'know better'" is often motivated by experience (not arrogance), either with questions asked or with the technology used. Assume good intentions ;) – Tufkamt Apr 15 '20 at 20:06
  • @Kramii I'll include an example the next time I come across a suitable one. – handle Apr 16 '20 at 10:36
  • @Tufkamt I do, that's why it's the first bullet point. And an "are you sure you want Y and not X?" is absolutely fine by me, while repeated "we can't help you with X since you're not telling us xyz" is on the other end of the spectrum. Sometimes these people only seem to post to reproach, not adding to the discussion, and rarely respond when they then are given the requested information about xyz. – handle Apr 16 '20 at 10:44
11

Yes, I think the situation you describe can happen, but (way) less often than actual XY problem cases.

How can people assuming there's an X to the Y be convinced otherwise?

By editing the question to provide more clarity, more context and/or prior research. Answerers on Stack Exchange are not clairvoyant and will assume certain things from what they do read; this is just human nature.

11

Let's take an example where it's very obvious to me.

I'm trying to insert a new user in an SQL database, but get an error if a users name contains an apostrophe '. I've noted that it doesn't happen if it contains a pretty apostrophe . How can I replace all apostrophes with pretty apostrophes in the name?

The question is very simple and specific (if code would be provided and a programming language), no matter the language.

The underlying problem (X) is that the user is using string concatenation to insert content in SQL databases and writing code that's open to SQL injection, and should be using parameterized queries instead

Problem X (SQL injection/parameterized queries) is far more complicated to understand and fix than problem Y (replacing characters in a string). X is also a lot less specific, while Y is very specific.

This is often a theme for X-Y questions. There's a simple, specific question, caused by a clear flaw in the design of a program. You can say No, I really only want to know about making apostrophes pretty! but the user suggesting writing parameterized queries to avoid SQL injection is never going to be convinced, as he understands you haven't fully understood the actual problem.

Unless you demonstrate a thorough understanding of problem X, people will insist you fix it, be it a security issue, a broken design leading to problems, or something else.

The reason is they actually do want to help and teach you.

There might be the very rare deviation where X is not actually the issue, but I've yet to encounter that. It's much more common for the person asking Y to insist X is not the issue while it so very clearly is. If you think you asked such a reverse X-Y question, I'd suggest you invest a lot of research into X before you start contradicting the person trying to help you.

This example is very SO-specific, but the theme of an underlying more complicated and general issue that's harder to understand and fix probably applies to other network sites too. I can at least think of examples in home improvement, academia and motor vehicle repair

1
  • 2
    In my opinion both X and Y problems would be good to be answered. The reason is that people that googled "How to replace a character in a string?" and landed on the question may be really looking for this answer, and their code could be completely unrelated to SQL queries. – user000001 Apr 16 '20 at 12:15
1

Leave comments, downvote the Answers you don't like and upvote and/or Accept the ones you do.

Stack Exchange already includes the tools needed for dealing with this problem: comments, upvotes, downvotes, and accepted answers. If someone posts an answer that doesn't answer your actual question, downvote it. That's literally what the downvote button is there for. Additionally, you can post a comment explaining why you downvoted it; in this case, it might be something like "I downvoted because you didn't answer my actual question". The purpose of comments is to provide feedback to improve the quality of questions and/or answers.

When someone posts an answer that's helpful, upvote it! If it's the one you liked the best, Accept it! That's what the upvote and Accept Answer buttons are for.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .