XY problem

From Wikipedia, the free encyclopedia

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 (X) rather than the root problem itself (Y or Why?).[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 Y and redirect the end user away from an unproductive path of inquiry.[2][3]

Terminology[edit]

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:[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.

Examples[edit]

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 (X) instead of how to get the file extension (Y), which may not consist of three characters[2]
  • Asking about how to change Nmap output (X) rather than how to prevent untrusted remote machines from detecting the operating system (Y)[5]
  • Asking about how to get a string between two delimiters (X) rather than how to parse JSON (Y)[1]
  • Asking how to construct a regular expression to extract values from XML (X)[6] instead of how to parse XML (Y).

See also[edit]

References[edit]

  1. ^ a b "What is the XY problem?". Meta Stack Exchange. Stack Overflow. Retrieved 6 January 2022.
  2. ^ a b Greg (GreyCat). "XyProblem". Greg's Wiki. Archived from the original on 4 January 2022. Retrieved 6 January 2022.
  3. ^ Živković, Miloš (16 December 2020). "3 Tips to Overcome the XY Problem". BetterProgramming. Retrieved 6 January 2022.
  4. ^ Raymond, Eric Steven. "How To Ask Questions The Smart Way". Eric S. Raymond's Home Page. Eric Steven Raymond. Retrieved 14 June 2018.
  5. ^ "The XY Problem". The XY Problem. Retrieved 6 January 2022.
  6. ^ "RegEx match open tags except XHTML self-contained tags". Stack Overflow. Retrieved 25 February 2024.