Live data from Hacker News

The XY Problem (2014)

xyproblem.info

91–100 of 111 posts

Re: The XY Problem (2014)

#91
post #2

The worst XY problem is knowing you want to do Y, even if its strange or whatever, asking how to do it, and people asking you "why do Y? Do X instead". Happens all the time in Stack Overflow. Just answer the fucking question, and then give the lecture on why you think it should be done that way, or why it shouldn't be done at all...

I think this is due in part to the gamification in stack overflow. Often Y is a very detailed question that few people know the answer to. But X is a more general problem that anyone knows some answer to. So you answer the question you know how to answer, even if it wasn't asked.

However, at least in the case of stackoverflow, you're getting advice for free, even if it's occasionally unhelpful. You aren't entitled to an answer.

Re: The XY Problem (2014)

#92
I get that this is a real problem, especially in tech support. And this write-up is better than others I've seen. At the same time, I think people referencing this don't seem to understand how self-centered this perspective is. As the asker, you've got a stack of problems that might start with: well, I need to eat, so I got this job, so I need to do this task, ... (20 technical problems later), so I'm trying to do Y. How am I supposed to know how far up my stack _you_ want to go? If I knew I made a wrong step 3 problems ago, presumably I would have just asked about that problem.

The suggestions here are fine. Still, I think it's more important that the responder have some empathy and be willing to go back and forth a bit to understand someone's problem instead of expecting the asker to guess what information the responder is going to want.

Also, what's with the name "XY problem"? If "asking about Y when you want to do X" makes it an "XY problem", couldn't any problem involving any two things also be called an "XY problem"?

Re: The XY Problem (2014)

#93
post #84

To quote the TFA: 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. (emphasis mine) Whose time was wasted? For the asker, the exploration of Y and the eventual realization that it is not a good way to pursue X is a learning experience with value. For the answerer, they may feel their time is wasted if the goal is…

> Whose time was wasted? The time spent on the interaction between asker and those who answered to actually get the asker to provide context and outline his X. If the asker had done this right from the start, instead of making the answerers guess, then the goal to help the asker deepen their understanding can be reached much more quickly.

Absolutely. Which is why we require askers to fill out a template which asks the big questions up-front; version, config, logs, what do you want to do, what did you try, what did you read. It always takes longer if askers are stubborn and don't answer those questions properly. Help me help you.

Re: The XY Problem (2014)

#94
post #58

Earlier quoted context omitted.

'a lot of the time the one doing the asking has explicitly said "I know this is unorthodox" or "just answer how to do Y please, don't give me your 'better' options".' After being burnt by a person who never wanted to do anything in a conventional, well-supported way* and kept making that explicit request, I have given up volunteering my time to appease them. At work I get paid to say "I know a couple of ways of doing…

> After being burnt by a person who never wanted to do anything in a conventional, well-supported way* and kept making that explicit request, I have given up volunteering my time to appease them. That's fine and completely fair. Just don't provide unasked for answers as an alternative.

I’ve found (on both sides of the conversation) it’s really effective to find a third party that consistently asks what X is: when I’m on the “answering” side of this problem, I’ve generally found that saying something like “Y is impossible” or “Y can be done this way but that’s usually a bad idea, why do you ask?” Goes a long way to being effective at answering the question.

Re: The XY Problem (2014)

#95
post #29

Earlier quoted context omitted.

There are a few people who frequently have this complaint, but I don't think it's a real problem. If you actually need to do Y in a situation where most people who think they need to do Y are wrong, it's not everyone else's responsibility to divine that you are the magical case. It's your responsibility to demonstrate that you actually do know what you're doing. This isn't something you do by discussing how unfair ot…

If you're the one asking the question for the first time, yes, you should make it clear in your wording that you know about X and you really want Y. There are two failure modes though: 1) You really want to do Y, not X. You are not asking the question, just searching for the answer, and find that "how do you do Y?" question, and the answer is "do X instead". Because you're a special case, these answers will likely do…

I've come across this multiple times. Some communities are worse than others on StackOverflow about it. Golang in particular seems to look for reasons not to answer a question, and I've come across your 2nd more than once.

Typical situation: I get called in as a consultant/freelance/whatever, I inherited X. I can make a small patch if I can do Y. Even when I preface it with "I would normally rewrite X correctly, but that touches on all systems, how can I do Y?" It turns straight into an argument about doing X right.

It's like I'm driving, make a left turn and end up lost. They are telling me to make the right turn at Albuquerque instead of the left.

Other scenario is that I'm trying to glean some insight on the language and I'll reduce a problem to bare basics and ask something like, "what's going on here?" They will answer "don't use that, use X library instead." That wasn't the question, the question was what's going on with the programming language -- why is it acting weird. I know that nobody would write the code that way, I isolated the problem to specifically inspect a single element.

Re: The XY Problem (2014)

#96

The XY approach can be perfectly legitimate. You're a domain expert. You have a problem X. It's a standard problem in your domain but only you can really understand it. However, you can see that a general purpose approach, Y, could solve it. Y might even sound complicated but is at least fully explainable whereas X isn't easily explainable at all. Of course, the "XY problem" usually presumes a naive person ("user")wh…

Indeed. One should check for XY problem and one should not be offended when someone is checking, but just help them help you by getting through the standard procedure.

Re: The XY Problem (2014)

#97
post #2

The worst XY problem is knowing you want to do Y, even if its strange or whatever, asking how to do it, and people asking you "why do Y? Do X instead". Happens all the time in Stack Overflow. Just answer the fucking question, and then give the lecture on why you think it should be done that way, or why it shouldn't be done at all...

> Just answer the fucking question,

Beep Boop. Insufficient funds. Insert card to continue.

Or perhaps treat other people like humans instead of an answer vending machine?

If you came to learn something you failed if you respond like that to someone trying to help. Hope it was worth it.

Re: The XY Problem (2014)

#98
post #97
post #2

The worst XY problem is knowing you want to do Y, even if its strange or whatever, asking how to do it, and people asking you "why do Y? Do X instead". Happens all the time in Stack Overflow. Just answer the fucking question, and then give the lecture on why you think it should be done that way, or why it shouldn't be done at all...

> Just answer the fucking question, Beep Boop. Insufficient funds. Insert card to continue. Or perhaps treat other people like humans instead of an answer vending machine? If you came to learn something you failed if you respond like that to someone trying to help. Hope it was worth it.

I interpret this to mean: if you are going to answer the question, just answer the one asked rather than assuming that the question was asked in error and answering some other one.

I don’t interpret this to mean: I’m entitled to your answer.

That being said, I appreciate answers of the form: “here’s how you do Y. If you really just wanted X, you can do this instead”

Re: The XY Problem (2014)

#99
post #2

The worst XY problem is knowing you want to do Y, even if its strange or whatever, asking how to do it, and people asking you "why do Y? Do X instead". Happens all the time in Stack Overflow. Just answer the fucking question, and then give the lecture on why you think it should be done that way, or why it shouldn't be done at all...

True! Some XY problems are YY problems in disguise.

Re: The XY Problem (2014)

#100
post #97
post #2

The worst XY problem is knowing you want to do Y, even if its strange or whatever, asking how to do it, and people asking you "why do Y? Do X instead". Happens all the time in Stack Overflow. Just answer the fucking question, and then give the lecture on why you think it should be done that way, or why it shouldn't be done at all...

> Just answer the fucking question, Beep Boop. Insufficient funds. Insert card to continue. Or perhaps treat other people like humans instead of an answer vending machine? If you came to learn something you failed if you respond like that to someone trying to help. Hope it was worth it.

on stack overflow, the more friendly and 'treat other people like humans' esque a question is, the more off track it becomes. dry, cold questions tend to get the best answers. if the goal is to learn something, it's best to treat the site like an answer vending machine.

for example, a question treating other people like humans: "hi. I need to get the last two letters of a string in Javascript. can anyone help? thanks" is likely to attract a bunch of curious types of 'why do you need to get the last two letters of a string?' type answers, versus posting something deliberately robotic seeming: "javascript: get last 2 letters of string" immediately gets replied with no-nonsense answers from people wanting to drop their knowledge and get stack overflow green checkmark points for being the fastest answerer etc.

Post reply on HN