← Back to context

Comment by relix

3 years ago

I often encounter the opposite. I would have a complex problem that I can legitimately solve by something reasonably simple yet I don’t posses the expertise on. Asking how to do Y, I need to spend an godawful amount of time wasting to convince people that no, it really is not an XY problem, and could we just focus on the literal problem description, which you could answer in like 3 minutes, instead of you trying to score points by being able to claim it’s an XY problem.

This is because I was not up front about all of the context of course, but to fully explain the context and constraints that I’m working in, which I have already synthesised into my original question, would take two days due to complexity of the problem.

Let’s just get on with the problem solving instead of playing the meta game.

(I understand that knowing more context might be necessary to answer the question. I am referring to situations where that is not the case)

I like to call this the "YZ answer"; I'm asking Y, which is the actual question I have, but someone else tries to convince me that my "real" question is "Z" because they happen to know the answer to that.

Tangentially related, but does anyone else besides me have an irrationally strong dislike of the name "XY problem" for this phenomenon? I feel like that name could apply equally well to basically any problem where you have two things you could call "X and Y", which is...a lot of problems. Why not call this something like the "mistaken question" problem or the "incorrect premise" problem?

  • I refer you to Mark-Jason Dominus's original explanation of what X and Y had to be. It got renamed "XY Problem" after the fact, and that name didn't take off for a long time, really not until Stack Overflow appeared and became popular, well over a decade after MJD posted about this and well after many of us had for that time not been calling it this on volunteer-support mailing lists and Usenet newsgroups.

    * https://jdebp.uk/FGA/put-down-the-chocolate-covered-banana.h...

  • On Stackoverflow in particular, there is also a ~YY answer. You explain that you specifically don't want Y, then someone tells you you are wrong and to simply use Y.

    • Might as well just call this the "Stackoverflow problem", although it is really a family of problems where either the requestor or (typically) the responses are less than helpful.

      As a third party searcher looking for answers to a specific problem, I would prefer to see a direct solution to the stated question first, even if it is followed by admonitions that "you probably don't want to do that" or "this other thing is a better approach".

    • Well, yes, but many of the times people on SO say they don't want to use Y, it's because of some assumptions they have about Y, and actually they do want to use Y, or use it differently than usual etc.

  • You're saying the problem isn't what the XY problem is, but that it isn't called Z. So an XYZ problem. /s

I'm sorry, but if people often do this to you, maybe reflect on them actually being right? Or that you're legitimately asking a stupid question given your self-proclaimed lack of expertise?

People don't answer that way to be smug or so. They do it because the thankless person they're spending their own free time helping will just come back with a new asinine question the moment one answers their posed question. It's from experience after helping thousands of people, not pettiness.

If perhaps you're the one in a million case where this isn't applicable, just add the context, then. Don't be angry about having to do it, that's quite entitled given that you're asking people to solve your problem for free..

  • Did you reflect on the case that actually you might be the smug one in this scenario, assuming that every person who asks a question doesn’t know what they are talking about, and you know better than them?

    I have experienced this many times, and it’s extremely frustrating, when people ask for the context, and I answer something to the effect of:

    > the context is quite hard to explain but I assure you I thought through this question and this is precisely what I need to know

    And people will still insist that you don’t know what you are talking about and this must be an XY problem.

    Even in the case that someone might be wondering down the wrong path, it’s more valuable for the community to let them make their own mistakes and learn from them. That’s how we become experts, not from blindly trusting the “authority” of people who spend a lot of time earning karma on Stack Overflow.

    I think it’s good to answer a question in the form: “this seems like a strange question because X, but here is the answer”. It’s also fine to ask for context.

    But it’s quite arrogant to harass someone into providing context until you are satisfied they are solving a problem in a way you deem worthy. If you don’t like the question you’re free to not engage with it.

    • > > the context is quite hard to explain but I assure you I thought through this question and this is precisely what I need to know

      I dunno, I mean, to me this just sounds like the "senior developer" phrasing of the same logic that the noob was using in the linked page. The core problem is that you don't know what you don't know, right, and no one is immune to that, regardless of age or experience.

      IMO that we should all try to avoid believing things that sound like "I assure you I thought through this question and this is precisely what I need to know", since -- while we may be right pretty often (maybe even more often than not!), there will be times we're wrong, and in those times, our attitude about it will make us even harder to help than the "noob".

      2 replies →

    • > the context is quite hard to explain but I assure you I thought through this question and this is precisely what I need to know

      Oh man, I field questions on a technical subreddit, and you wouldn't believe the sheer number of non-expert askers who confidently believe this. It doesn't take much follow-up to realize that not only is the context easy to explain for anyone who truly understands it, but the asker is actually asking about X.

      You are one in a million, congrats. The vast majority of people who say what you said are bringing their own arrogance, simultaneously accepting that they need help while preparing to reject the help of the actual experts they are appealing to.

      > “this seems like a strange question because X, but here is the answer”

      This is a good first response and how I answer suspected XY Problems. It often leads to the asker reevaluating their assumptions, which is a valuable teaching moment and the goal if my true motivation is to help people.

    • The simplest way I can put it is, be careful that you're not rationalizing when you ought to be reasoning.

      The former is the main source of the XY problem, and comes up very often in cases where people are stuck and asking for help. The main issue they would be having is that they're framing the problem incorrectly in their heads and working through the logic of the ideal solution based on faulty grounds.

      I would like to point out the subtle irony in responding to these comments with a meta-scale XY problem: you think your problem is other people don't see the Y for what it is (people don't understand my questions are really about Y and not about X), while you are yourself blind to the X (I may not be framing my problem correctly in my mind which is leading to my overconfidence that it is Y and not X).

    • If you know what you're talking about so well, why is it so hard to explain the context? You know the old saying about if you can't explain something, you don't really understand it.

      If you know what you're talking about so well, why are you unable to solve your problem? Perhaps the context would help someone help you.

      If you can't be bothered, don't bother asking for others to use their own time to help you.

  • > they're spending their own free time helping

    Oh, man, if it's such a bother, just don't. Nobody is forcing you to spend your own free time.

    But well, let's be clear. This is a Stack Overflow problem only. And it's Stack Overflow only because every interaction on that site includes a veiled threat of "do what I say or I'll make sure nobody ever answers your question and you are blocked away from this site".

    Any unreasonable comment on a random forum is just a bunch of text you can jump over. Any unreasonable comment on SO is a demand from unforgiving authority that people do your bullshit. People have every right to be pissed of the people making those comments.

    > If perhaps you're the one in a million case

    From the answers I see on SO, the odds there are around 80% that you are wrong.

    • From me reviewing thousands of questions in the review queue, odds are you're the one in the wrong. You perhaps only see the cases that actually survived.

      When you have to weed through a hundred questions to see the one of any actual quality, it's no wonder people seem a bit jaded. I know it's a meme here that SO is super bad, but no one would visit if it didn't have the strict moderation. It would be a waste field of low quality stuff.

      1 reply →

    • > This is a Stack Overflow problem only.

      Were this only to be true. I first encountered this issue on a coding forum before StackOverflow even existed. Though the term XY problem hadn't been coined yet, there was a regular poster who would come in and accuse people of asking the wrong question. Someone would ask how to make an HTTP connection in Objective-C and he'd explain that Objective-C was the wrong tool for that job and that they should be using C#. The poster would then explain that they were writing an iPhone app, ruling out C# in early 2008, but he would then explain that an iPhone app was the wrong tool for the job and that the poster should be writing a Windows desktop app. Someone would point out that making an iPhone app was a decision made at the CEO level and beyond their capacity to change and this fellow would say that they should quit their job and work for a company that makes desktop apps for Windows.

  • the general gist of what you’re saying is fair, but I’m extremely sceptical of the claim that there’s no smugness involved. these kinds of forums are full to the brim with smug, vindictive assholes who can’t wait to point out how silly and misguided you are. in my experience there’s no correlation between your propensity towards helping people online and a positive disposition

    in fact there are definitely people who, if they aren’t helping as an excuse to be rude in the first place, feel it’s okay to be rude because they’re helping. you get this offline too. Gordon Ramsey is a good example

  • Even if they're wrong, why not answer their question as stated?

    If they're asking how to delete all the files on their root disk, tell them how, they can try it, and either you've solved their problem or they've learned something valuable. But more importantly, maybe someone else will come along who actually does want to delete all the files on their root disk and be helped by your answer after the fact.

  • Of course, because every time it happens, unless I don't want the answer, in order to move forward I do need to explain the context.

    So I do. And invariably either the original responder goes radio silence, or admits that my question is the correct one and they can't help me with it.

    I think saghm really hit the nail on the head with his YZ answer: https://news.ycombinator.com/item?id=36080243

  • People do it often because it's a cheap way to feel smart without putting in any effort. It's the same reason how people mention Dunnking-Kruger any chance they can.

    I doubt adding full context would help much in terms of getting a quality answer. Someone who answers questions in good faith will answer if they are there. All it would do is remove all the XY people I guess

Yeah the whole premise of the "XY" problem seems like it was written up by someone who regulars Stack Overflow. It's pretty frustrating when the highest-upvotes answer to a question is "actually you don't want to do that. do something else instead".

  • The goal of asking a question is not to get the exact answer to the words you spoke, it is to solve the problem the question is inspired by. It's a funny psychological thing, though, where people perfectly comfortable with the idea they don't know the answer to a question are easily offended by the implication that they don't know what question would lead to a solution, even though the foundational knowledge to answer the question is often the same as that required to ask it.

    The reason people assume it's the wrong question is because they've seen a thousand other people ask the wrong question. This assumption is not a reflex that comes naturally, it is learned.

    Experienced people who really have the question, understand XY just fine and start off with the context, but are happy to provide more; experienced people who say they are offended at common assumptions of XY tend to be in complete denial about legitimate cases of XY.

    • > Experienced people who really have the question, understand XY just fine and start off with the context, but are happy to provide more; experienced people who say they are offended at common assumptions of XY tend to be in complete denial about legitimate cases of XY.

      That's not how it works on Stackoverflow and similar sites. Here's what happens when an experienced person who really does have the question, understands XY just fine, provides context, and is willing and able to provide more context is needed tries to get an answer on Stackoverflow.

      1. They do a search and find that people have asked X before on Stackoverflow.

      2. They read those questions and answers and find that in all of them the answerers decided that it was an XY problem and answered Y. Maybe the answers were right or maybe they were wrong, but in either case nobody answered X.

      3. They post a new question asking X, explaining that the existing questions and answers do not apply because the person actually needs X and provides sufficient context to show this.

      4. The question quickly gets closed as a duplicate of one or more of the others.

    • People are OK with what they know they don't know, as no one knows all the "trivial details", but not OK with what they know being wrong.

  • It wasn't. Mark-Jason Dominus was the cause of that name.

    I, Raymond Chen, Charles Cazabon, and Eric S. Raymond didn't use that name at all.

    I, in particular, chose a name that reinforced the an important part of the concept, missed in this discussion here, that the problem was nonsensical as posed.

    * https://jdebp.uk/FGA/put-down-the-chocolate-covered-banana.h...

    • Thanks! But it was actually Greg Bacon (responding to my original article) who thought of calling the phenomenon "XY problem".

      1 reply →

  • I think this is because people Googling a question often end up at a SO post that answers a slightly different question. But since the keywords blazed a trail to a certain answer, that's the one that gets the upvotes, even though it's not the "correct" answer.

    This has happened to me many times.

    • That’s incredibly common and so frustrating. The title will be “How do you delete a column from a dataframe?” and then they’ll include a bunch of super specific code and paragraphs of context. The only answer will be “You actually don’t ever use that column. Just don’t add it in the first place.”, which is not an answer to the title question at all.

  • It does happen very often when person trying to fix the issue is not an expert in the domain they are tinkering with and it is just some extra needed for their job and not main part of it.

    We see it all the time with developers for example:

    "I need sudo access to do XYZ"

    "Why?"

    "Because I can't access this directory"

    "Ok, I fixed permissions and put it in CM, test it without sudo"

    "Oh, it works, thanks".

    But, of course, on SO you don't have that context.

    • That's why a good question gives some context regarding the motivation, or says something like "I have to do Y for reasons. Please don't answer about problems X or X' or X'', I just need to do Y."

Yeah, it's a false positive identification of the XY problem.

The audience falsely identifies your problem as an XY problem. This is, IME, due to the audience wanting to refactor the problem into something they can understand.

It's worse in JavaScript probl ms, where, due to the actual inability to do something simple like pause the runtime for 5s, the experts all spend tons of effort trying to convince you that there is no situation in which this is reasonable rather than simply say the runtime environment is too crippled to allow this.

It's nonsense of course.

  • It’s true that with the way JS is designed, you almost never want to freeze up the entire program like that because it doesn’t exactly have threads so it would freeze the whole page or application even if you could. You can get a similar effect using async functions which can pause for a bit while still allowing events to be processed (or do it the old way using callbacks)

    So both are true; yes, you almost never want to do that, and the reason you don’t is because is because of JavaScript’s design, which you could argue is a flaw but it does also have advantages

I think this highlights that the usefulness of the XY problem framing will depend on context.

As a platform product manager working with customers (both internal and external/paying), the most important thing I can do is know with certainty what problem I’m trying to solve and why. Maybe it’s annoying right now, but it ensures we don’t spend 6 months building something that solves nothing. I can’t count the number of times someone asked for features instead of describing their problem and after returning to the problem it quickly became apparent that the feature ask was not the only path forward and probably not the best path forward.

In the context of engineers seeking help from other engineers, I can understand why this can quickly become something else.

As with all things, context matters. Don’t insist on understanding X to the nth degree just because you encountered xyproblem.info. But don’t assume that someone trying to understand X is just trying to assert their superiority.

Pretty much stopped asking any questions on web forums because of this. Some people tend to "XY" you whenever they don't immediately know the answer to a complex question.

  • I’ve seen a pathology where people ask for irrelevant details to stall for time. As in: “hmmm what version is your operating system? And what’s the version of every package/dll on your computer?”

> Let’s just get on with the problem solving instead of playing the meta game.

I feel like a lot of things in tech have become --- for lack of a better word -- memes, that people trot out to make themselves appear smart. The XY Problem is one of them. Sometimes we have actually thoroughly explored our problem space and know what we need to do, just not how to do it! But someone else seems to think they're going to get Cleverness Points by uselessly derailing the discussion.

Yeah it’s often like speaking to ChatGPT, you have to put in an enormous preamble saying “answer exactly what I’m asking, I promise I’ve thought about it, I know it’s weird”.

im often accused of xy problem. Thing is, I want answers to x AND y. So when they've answered y, i ask x, and that makes them mad