XY problem, XY question: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<!-- | <!-- | ||
{{warning|'''X and Y got reversed between first mention, and people picking up this concept. Ignore which one is X and Y, the importance is their | {{warning|'''X and Y got reversed between first mention of this idea, and people picking up this concept mode widely. Ignore which one is X and Y, the importance is their separation}} | ||
Building on [http://mywiki.wooledge.org/XyProblem this] summary: | |||
* User wants to do X. | * User wants to do X. | ||
* User doesn't know how to do X, but thinks they can | * User doesn't know how to do X, but thinks they can probably solve it if they can just manage to do Y. | ||
* User doesn't know how to do Y either. | * User doesn't know how to do Y either. | ||
* User asks for help with Y. | * User asks for help with Y. | ||
Sometimes this works, sometimes it's the most awkward possible way to arrive at a good solution. | |||
Sometimes you get a better solution, in less time, by involving the other person. | |||
Because to everyone else the only thing they see is | |||
* User asks for help with Y. | * User asks for help with Y. | ||
* Others try to help user with Y, but are confused because Y seems like a strange problem to want to solve. | * Others try to help user with Y, but are confused because Y seems like a strange problem to want to solve. | ||
* After much interaction and wasted time, it finally becomes clear that the user really wants help with X, and that Y was a dead end. | * After much interaction and wasted time, it finally becomes clear that the user really wants help with X, and that Y was a dead end. | ||
After more inquiry, it becomes clear that what happened is: | |||
* (User has problem X.) | |||
* Rather than asking for help with X, you think up a Y, ask someone to help with Y, ''omitting all existence of X''. | |||
* (User asks for help with Y.) | |||
* (Others try to help user with Y, but are confused because Y seems like a strange problem to want to solve.) | |||
* (Others waste a lot of time coming up with partial solutions, user says no, actually, I needed question variant Y2, Y3, ... | |||
* Others eventually find out, ask, find out about X, find a much more elegant way to do X | |||
* Others point out the existence of XY problem | |||
--> | |||
<!-- | |||
Examples: | |||
* programming: | |||
** Y: "How can I get the last three characters of a filename?" | |||
** presumable X: "How can I get the file extension?" | |||
** in this case the a proper answer to Y would not be a robust fix to X (file extensions can have more than three characters since the nineties, and less than three characters since always) | |||
I rather like [http://mywiki.wooledge.org/XyProblem this one]: | |||
* Y: "How can I get the size of a file within a shell script" | |||
* X: "How do I detect minor changes in a file changes without transferring the whole file, and transfer just the changes because my network connection is slow?" | |||
* this one is ''several'' steps away from its origin (a middle question would be something like "How do I do a rolling hash of a file") The person is trying to implement a complex thing themselves, -- without checking whether a tool like that exists. It does, it's called [[rsync]]. | |||
--> | |||
'''What would have been much more useful''' is to phrase | |||
<!-- | |||
'''What would have been much more useful''' is to double check you're solving the same issue. | |||
The person who got asked can take a moment to ask "what are you trying to get done?" | |||
If you're aware this stuff happens, the person who asks can also try to avoid such issues by | |||
phrase the question like "How do we do step Y to get to goal X?", | |||
when cooperatively working on something, or asking for assistance. | when cooperatively working on something, or asking for assistance. | ||
Line 65: | Line 109: | ||
Line 107: | Line 139: | ||
--> | |||
<!-- | |||
http://xyproblem.info/ | |||
https://mywiki.wooledge.org/XyProblem | |||
https://medium.com/swlh/90-of-the-battle-is-won-when-we-solve-the-xy-problem-in-product-management-5a7aef1fa4fa | |||
https://www.perlmonks.org/?node=XY+Problem | |||
https://blog.lelonek.me/how-to-solve-an-xy-problem-8ff54765cf79 | |||
https://artyom.me/yx | https://artyom.me/yx | ||
http://www.catb.org/esr/faqs/smart-questions.html#goal | |||
--> | --> |
Latest revision as of 14:30, 31 March 2024