Every now and then I hear people say I might have an "XY problem". What is that?
"XY Problem" explanations by various people:
You want to do X, and you think Y is the best way of doing so.
Instead of asking about X, you ask about Y.
— from Re: sequencial file naming by Abigail
You're trying to do X, and you thought of solution Y. So you're asking about solution Y, without even mentioning X.
The problem is, there might be a better solution, but we can't know that unless you describe what X is.
— from Re: How do I keep the command line from eating the backslashes? by revdiablo
Someone asks how to do Y when they really want to do X.
They ask how to do Y because they believe it is the best way to accomplish X.
People trying to help go through many iterations of "try this", followed by "that won't work because of".
That is, depending on the circumstances, other solutions may be the way to go.
— from Re: Re: Re: Re: regex to validate e-mail addresses and phone numbers by Limbic~Region
To answer question Y, without understanding larger problem (the context) X,
will most likely *not* help them entirely with X.
— from <email@example.com> by merlyn
A.k.a. "premature closure": the questioner wanted to solve some not very clearly stated X,
they concluded that Y was a component of a solution, and now they're asking how to implement Y.
— from <Pine.GHP.firstname.lastname@example.org> by Alan J. Flavell
The XY problem is when you need to do X, and you think you can use Y to do X,
so you ask about how to do Y, when what you really should do is state what your X problem is.
There may be a Z solution that is even better than Y, but nobody can suggest it if X is never mentioned.
— from <email@example.com> by Tad McClellan
When people come [in here] asking how to do something
stupid, I'm never quite sure what to do. I can just answer the
question as asked, figuring that it's not my problem to tell people
that they're being stupid. . . .
But if I do that, people might jump on me for being a
smart aleck, which has happened at times. ("Come on, help the poor
guy out; if you know what he really need why don't you just give it to
. . .
On the other hand, I could try to answer on a different level, present
a better solution, and maybe slap a little education on 'em. That's
nice when it works, but if it doesn't it's really sad to see your hard
work and good advice ignored. Also, people tend to jump on you for
not answering the question. ("Who are you to be telling this guy
what he should be doing? Just answer the question.")
. . .
I guess there's room for both kinds of answer. Or maybe there isn't
room for either kind.
— from <firstname.lastname@example.org> by MJD
MJD also posted an earlier diatribe on the subject, which has become a USENET classic:
Re: I never get answers to questions in newsgroups.
It has been updated several times over the years;
appears to have been the origin of the famous "Retardo!" quote.
His latest version is on his website:
TIP: How to post good questions.
Too bad that the more general problem, X, is often considered off topic for this forum.
Y has more of a chance to look like a Perl problem.
— from <email@example.com> by bart
— by me, just now.
ESR's How to ask questions the smart way includes a Q: How can I use X to do Y?
XYZ Questions suggests that people try to answer both the X and the Y.
On Answering Questions is an excellent article by merlyn, where he quotes this message he posted on the unix-porting mailing list.
We're building the house of the future together.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
Outside of code tags, you may need to use entities for some characters:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||