XY problem
The XY problem is a communication problem encountered in help desk, technical support, software engineering, or customer service situations where the question is about an end user's attempted solution (Y) rather than the root problem itself (X).[1]
The XY problem obscures the real issues and may even introduce secondary problems that lead to miscommunication, resource mismanagement, and sub-par solutions. The solution for the support personnel is to ask probing questions as to why the information is needed in order to identify the root problem X and redirect the end user away from an unproductive path of inquiry.[2][3]
Terminology
The term XY problem was implicitly coined by Eric S. Raymond in How To Ask Questions The Smart Way when he wrote "How can I use X to do Y?" in the "Questions Not To Ask" section (note that in this original version X and Y are swapped):[4]
Q: How can I use X to do Y?
A: If what you want is to do Y, you should ask that question without pre-supposing the use of a method that may not be appropriate. Questions of this form often indicate a person who is not merely ignorant about X, but confused about what problem Y they are solving and too fixated on the details of their particular situation.
The concept of the problem itself, however, was known long before it received this name. In operations research scholar Gene Woolsey's[5] 1980 text Applied Management Science: A Quick and Dirty Approach, he described an example of the XY problem thus: When management received complaints about having to wait too long for elevators, they researched elevator protocols in order to reduce wait times, but Woolsey realized that the actual problem was that "people were complaining"—installing large mirrors in the lobby gave people something to do and complaints went down drastically.[6]
Examples
Often, end users end up in XY problems when posing a question that does not directly address the desired outcome that originally motivated the question. Examples from software engineering include:
- Asking about how to grab the last three characters in a filename (Y) to get the file extension (X), since not all file extensions are three characters long[2]
- Asking about how to change Nmap output (Y) rather than asking how to prevent other people from detecting the operating system (X)[7]
- Asking about how to get a string between two delimiters (Y) rather than how to parse JavaScript data structures (X)[1]
- Asking how to construct a regular expression to extract values from XML instead of using an XML parser.
See also
References
- ^ a b "What is the XY problem?". Meta Stack Exchange. Stack Overflow. Retrieved 6 January 2022.
- ^ a b Greg (GreyCat). "XyProblem". Greg's Wiki. Archived from the original on 4 January 2022. Retrieved 6 January 2022.
- ^ Živković, Miloš (16 December 2020). "3 Tips to Overcome the XY Problem". BetterProgramming. Retrieved 6 January 2022.
- ^ Raymond, Eric Steven. "How To Ask Questions The Smart Way". Eric S. Raymond's Home Page. Eric Steven Raymond. Retrieved 14 June 2018.
- ^ Wessels, Gysbert (June 2015). "Remembrances of Gene Woolsey". OR/MS Today. 42 (3). Retrieved 6 January 2022.
- ^ Hesse, Rick; Woolsey, Robert E.D. (1980). Applied Management Science: A Quick and Dirty Approach. Science Research Associates.
- ^ "The XY Problem". The XY Problem. Retrieved 6 January 2022.