The X/Y Problem


One thing that many open source communities have to handle is supporting whatever is built. People will come to the maintainers with legitimate bugs on occasion, but often people will describe problems they’ve encountered as bugs, when they may not be bugs at all. One of the more common communication problems that happens when offering support is what is referred to as “The X/Y Problem”. We’re going to take a look at what this pattern entails and how to resolve it.

The X/Y Problem is when someone asks for help with their solution instead of asking for help with the underlying problem. That is, they are trying to solve  X  and they believe that  Y  should work. When they run into trouble, they ask for help with  Y  when they need help with  X.  It is often the case that Y is much more complex than the typical solution and leads to confusing questions and non-sequiturs that make the process much more time consuming. If you ever get the feeling that someone is trying to do something that is pointlessly hard, sometimes described as “like nailing jelly to a tree” or “ice-skating uphill”, you might be encountering an X/Y problem.

For example, imagine that someone is trying to print a document. Nothing comes out of the printer and they’re certain they saw paper go in, so they’re convinced that what is causing the problem is a paper jam. They’ve looked in all the normal places and couldn’t find any stuck paper, so now they’re asking for help disassembling their printer. Perhaps they say something like, “I can’t get my printer to print, so I need the disassembly manuals for printer model ABC.” This is where many support people will ask the fateful question, “Is the printer connected to the computer?” Why do they ask something so obvious? Because of situations just like the printer problem, where someone is predisposed to solve the problem in a specific way that blinds them to the real solution. This is referred to as the Einstellung effect.

Much of the time, I find that simply asking, “Can you describe the original problem you are trying to solve?” is enough to get people to take a step back and give me the information that I need to better help them. Unfortunately, this problem is particularly challenging when the person asking for help believes they know more than you. In this case, the requester will often rebuke attempts to ask more clarifying questions to get a better picture of what is going on, seeing it as a waste of time. When I have found myself in this kind of situation, I will sometimes play along until the requester reaches a point of frustration or some other teachable moment. This is when I will take the opportunity to ask to start over and have them describe everything from the beginning.


I hope this helps people recognize this pattern more readily so that, when you are supporting people in your community, you can get to the root of the problem faster and help more efficiently. It can be a real time and stress saver. Do you have examples of the X/Y problem that you’ve run into? How did you handle it? Do you think you might handle it differently in the future now?