The XY Problem is an abstract concept that arises when a user is trying to solve a problem using solutions they think will solve it, or asking for solutions to a proposed or generic solution to an issue (which is called X
). The user may not be knowing or aware that the problem they are trying to solve could be multiple layers deep from the actual problem (which is called Y
).
This is a common occurrence in software development, including Resonite's GitHub. There are reporting requirements that state to avoid XY Problems.
Examples
The way something can be worded can really help when figuring out the actual problem. Here are few examples to think about when dealing with the XY Problem in Resonite:
X: Don't say - I want to make a cheese burger. --> Y: Say - I want to be able to put a cheese on a patty when making my burger. X: Don't say - I want to make a string parser for my incoming network string. --> Y: Say - I want to extract escape characters from my string. X: Don't say - I want a node that can do this and that. --> Y: Say - I have a problem, and adding a node or component would help as a feature.
Discussions
See Also
- Yellow Dog Man Studios GitHub Reporting Requirements
- Wikipedia's definition of XY Problem
- Meta-stack exchange on the opposite of the xy problem
- information of the XY Problem (as provided in the GitHub)