-3

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 its 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?

7
  • 4
    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
    Commented Apr 15, 2020 at 14:30
  • 6
    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
    Commented Apr 15, 2020 at 20:06
  • @Kramii I'll include an example the next time I come across a suitable one.
    – handle
    Commented Apr 16, 2020 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
    Commented Apr 16, 2020 at 10:44
  • @Kramii An example that happened to me (no disrespect meant to the user who spent their time to write an answer with their expertise- I appreciate them, but the fact is that they didn't answer the question that was asked): music.stackexchange.com/a/127001/89547. I think they should have just asked their own question to give that answer to, but I didn't feel comfortable at the time "confronting" them on it.
    – starball
    Commented Mar 5, 2023 at 7:00
  • The origin of this concept is Eric S. Raymond's essay Asking Questions the Smart Way. The Stack Exchange piece, coining the term "X/Y problem" carries that torch, perhaps. But there is still something missing, I think, which brought to mind this old folk adage. But I see no reason there can't sometimes be more than one solution and more than one problem. Commented Mar 5, 2023 at 12:15
  • ...^^ that are related in an important way. Commented Mar 5, 2023 at 12:50

4 Answers 4

15

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.

13

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
    Commented Apr 16, 2020 at 12:15
3

I like to call it "The XY Answer"; I ask the for the answer to X, but I am given the answer to Y because they assume that their solution will solve my problem.

For example: In a bicycle forum, I asked if there was a way to convert from a horizontal drop out to a vertical drop out?(The X-Problem) I was asked why, to which I responded with several reasons. To which several people gave me solutions on how to tighten the axle (The Y-Answer).

Note: Almost every modern bicycle has vertical drop outs i.e. this is a reasonable question to ask, and not an XY Problem

2
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.

3
  • Will a downvote decrease anything but votes on an answer? The users' accounts (both) will be unchanged? Commented Mar 5, 2023 at 12:09
  • @Bryan-StackExchange It will decrease your Reputation by one, and their Reputation by two.
    – nick012000
    Commented Mar 5, 2023 at 13:19
  • found this : stackoverflow.com/help/whats-reputation ... I guess I'd say : vote deliberately, vote knowledgeably. Commented Mar 6, 2023 at 18:20

You must log in to answer this question.

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