6 ms·
This reminds me of the “XY Problem” framing [0], a concept that has been very helpful over the years when communicating with customers about feature requests.
by haswell 3y ago
This reminds me of the “XY Problem” framing [0], a concept that has been very helpful over the years when communicating with customers about feature requests.
Many people can imagine how they’d solve an immediate problem, but never pause to examine whether or not this solution is ideal, or generalizes beyond a specific situation.
Another phrase that comes to mind is “fall in love with the problem, not the solution”. If you understand the problem space deeply, either many solutions can emerge, or one solution emerges as clearly the best place to focus.
In my years as a product manager, it surprised me how many PMs don’t think this way, and just tack on feature after feature, convinced this is the best thing for the customer, when often the thing they need is not something they know how to ask for.
- [0] http://xyproblem.info/ http://xyproblem.info/
- sebzim4500 3y ago> This reminds me of the “XY Problem” framing [0], a concept that has been very helpful over the years when communicating with customers about feature requests. It also ruined stackoverflow, since replies which ignore the question and assume that the OP really meant something else end up being so much easier to write/vote on than an actual answer.
- haswell 3y agoLike anything, it needs to be applied appropriately, and I agree that blindly redirecting every request to this framing is not helpful. But the number of times that it is helpful has been pretty high for me over the years. This probably depends a lot on the customer’s own ability to comprehend the true nature of the problem. I worked in the enterprise/B2B space, where a significant number of requests came from people not technical enough to fully know what to ask without some deeper exploration.
- hooverd 3y agoAgreed. But sometimes, especially if you know about your problem domain, it feels like asking "how do a I keep water out of my basement" and all the answers are "simply rebuild your house at the top of the hill."
- hunter2_ 3y agoIt's a matter of vastly different costs, in that case: the solution to the modified problem costs much more to solve than the originally stated problem. The trick is avoiding such a large gap, hopefully with a breakeven that comes in the foreseeable future, if not immediately. For example: how do I repair water damage on my ceiling in a way that's quick enough to do it after every storm? You mean how do I repair my roof so I only have to repair the ceiling one more time? It's more upfront cost to do both now, but the breakeven is only a small handful of storms away, which is palatable enough to get serious consideration. If the breakeven was (for some reason, hypothetically) 20 years away, actually figuring out how to make quick work of repeated ceiling repairs might be more desirable.
- jameshart 3y agoAlso when, for example, someone suggests a strategy that is useful in scenario X, but because it can be problematic in scenario Y, they get a bunch of replies warning them about that - even though they had no intention of advocating applying it in scenario Y. That’s also a kind of XYing - “oh don’t do that, it’s bad if you re trying to Y…” when we’re not, we are trying to X. For example, when someone says they think the XY problem model is a useful framing when evaluating customer feature requests in product design, they are talking about using it in scenario X. But inevitably they will attract a bunch of replies telling them how bad it is to apply the XY problem approach when answering questions in a technical Q&A forum. That would be scenario Y.
- pierat 3y ago"You keep mentioning XY problem, but you really meant the AB problem, and that answer is ......" That's it in a nutshell. And concur with this de-framing non-answer as one of the leading causes of bad StackOverflow solutions.
- asveikau 3y agoStack overflow started out with a lot of Microsoft ecosystem people, eg. Joel Spolsky. I worked at Microsoft in 2008 and this kind of de-framing was a bit of a corporate cultural obsession there at that time. You'd report a bug internally and PMs would ask you what you were really trying to do ... It was frustrating when you wanted people to just fix their shit. Instead people would universally treat you like you didn't know what you were doing and really meant to ask something else. I saw this trait a lot on SO around the same time.
- deleted 3y ago[deleted]
- jameshart 3y agoApparently I was too subtle so let me put a lampshade on it. The replies to the post which said that the XY problem approach is useful in product development, which are talking about XY reframing being a problem on stackoverflow are XY reframing the parent post. They are doing exactly what they decry. The smell of irony is apparently not as thick in the air as I thought it was.
- bombolo 3y agoMost people ask how to make some absurd hack when there is an easy and proper way to solve their problem.
- lolinder 3y agoSometimes what you think is an absurd hack is still what I want to do after having thoroughly considered all other options. It's infuriating in those cases to end up on a Stack Overflow question where someone wanted to do exactly what I want to do, and the only answers are redirecting them to other solutions that I've already considered and ruled out.
- bombolo 3y agoThe huge majority of people asking questions on SO are noobs and most likely haven't thoroughly considered all other options. If they did, they should say so in the question. The majority of people answering questions are also noobs, and this should be taken into account. Experts in their domain don't need SO, and so don't go there at all. When I was writing my thesis, years ago, SO was already basically useless to me because nobody could solve any of the problems that I was encountering then. I just use it when I can't be bothered to look up stuff in the documentation, but I see it mostly as a resource for people who are learning or are very early in their career.
- lolinder 3y agoThis feels like you're saying "SO is and should remain useless". SO is populated mostly by inexperienced developers because the community is hostile towards experienced developers, and part of that hostility is this XY-ing. I also don't find SO to be useful, but I wish it were. > If they did, they should say so in the question. You're operating on the assumption that the purpose of SO is for an asker to get an answer. The extremely strict duplicates policy suggests the opposite: the goals and motives of the original asker are essentially irrelevant, because only one similarly-phrased question is allowed ever. If their question doesn't get answered this time, it will never be allowed an answer.
- adamc 3y agoMany, many things are wrong with stackoverflow. Insisting that every discussion be factual and opinion-free pushes you deep into the McNamara fallacy of believing that things that cannot easily be quantified don't matter. It's a site I sometimes use but dislike intensely.
- sanderjd 3y agoI think the absolute hardest thing to get information on is "I have XYZ problem, I am aware of solutions A, B, and C. What is the best solution among these, what are the trade-offs between them, and what solutions am I not aware of?". Now, this is just a truly difficult question, but Stack Overflow solves that problem by forbidding such questions, which is understandable, but I think also a shame. At one point in time, I thought maybe Quora would try to fill this gap, but they went off in some other direction that I never understood. Most other "social" things (reddit, etc.) are discussion rather than Q&A. Or they are blog posts, where the focus is usually on solution A, with solutions B and C presented only for contrast, because solution A is what motivated the author to write the post. I kind of want Wirecutter, but for technologies.
- adamc 3y agoYes, that would actually be much more useful to me than what stackoverflow is. A vast number of the questions found that can be easily answered by RTFM and/or doing some direct experimentation. The harder ones would be more useful.
- sanderjd 3y agoYeah. I think it's also why chatgpt (and copilot, etc.) actually did turn out to be a strong SO competitor, because it actually can do a pretty good job on these factual questions. But unfortunately it's pretty bad at this other kind of judgment-based compare-and-contrast question. It's especially bad at the "what other solutions am I not aware of?" part, because it isn't kept up to date.
- 3y ago
- IshKebab 3y agoUnfortunately the XY problem is now mostly used by know-it-alls trying to show off. At least in my experience. If you ever find a question that you think is an XY problem, answer X first and then say "did you want Y?". The worst possible answer is "you should be asking Y".
- shawnz 3y ago> answer X first and then say "did you want Y?". That's a surefire way to cause your suggestion of Y to get ignored and proliferate the bad practice of X. It's not anyone's responsibility to explain how to do things in a way that they believe is wrong.
- IshKebab 3y agoIt's not anyone's responsibility to answer at all.
- shawnz 3y agoAgreed! Which is why I think it's especially disrespectful to criticize people making honest efforts to help as being "know-it-alls trying to show off" in cases where their idea of the ideal kind of help is different than what the original poster had in mind.
- IshKebab 3y agoIt's frequently NOT an honest effort to help. It's just "well that's a stupid question, let me show you how I know more..." When you really are trying to help and you think it's an XY you can answer politely by actually answering their question and then saying "but you may want to do this instead". Try it.
- petsfed 3y agoIndeed, a good answer to X will make clear why Y is the better option in most cases. But its a thin line to tread between subtly implying that X is bad, and saying "only idiots do X, anyway here's how an idiot would do X".
- dgb23 3y agoThere’s more general concept of perception here that is worth thinking about. Users can get awfully confused by generic, misleading or overly technical error messages. So they call/write you and confuse you even more. “There is something wrong about X.” Where X is some misinterpreted partial of a message. This only gets cleared up if you let them walk you through what happened step by step and/or examine logs etc. Error messages are an important part of a UI. No matter if they’re user errors or internal errors. There are always errors that you don’t foresee and just need to display generic messages for. But even then there should be a very clear, short(!) description and a unmistakable call to action.
- pixl97 3y agoUgh, not 15 minutes before this I was testing a new yet to be released version of my companies software. And while testing I get an error message like "Cannot do X with upload" Number one this is a behavior change and should not have been changed in the first place. But number two, all the error had to say was "Cannot do X with upload because application is set to Y" The first one generates a support ticket, the second one gives a legitimate reason on why the failure occurred and what they can do about it.
- albertzeyer 3y agoThe XY problem: > This leads to enormous amounts of wasted time and energy, both on the part of people asking for help, and on the part of those providing help. This is not really true though. The time spent to answer is not wasted. There are people searching for it via Google, e.g. how to get the last N characters from a variable, and they will find the correct answer. The time spent by the asker is never wasted. I sometimes know that this is not directly the thing I want to solve, or how I stumbled upon this question. Still, it's a question I have because I'm curious and I just want to know. So, in any case, the person asking for help will learn something. And all other people on the Internet who stumble upon the question are likely searching for exactly the answer to this exact question, so they get some good value out of it. Or even if not, it likely will have references to what they are interested in. Those other people are ignored here.
- sopooneo 3y agoFor all it is rightfully derided, it is this aspect of "user story phrasing" I find valuable. If you can politely ask stakeholders to state their problem in the form "As a _____ I want to _____ so that I can ______", then you can find out that why as filled in on the last blank. And then you can use that why to figure out the best actions to take, being careful that you still scratch the itch the that middle blank in that story brought up.
- dang 3y agoWe detached this subthread from https://news.ycombinator.com/item?id=37212534 https://news.ycombinator.com/item?id=37212534.
- haswell 3y ago@dang, I was pretty surprised to see my reply turn into such a huge subthread. When you say you detached this subthread, isn’t this essentially removing it from the discussion entirely? It wasn’t my intent to derail the discussion, but I’m also trying to make sure I understand what just happened here and what you mean by detached.
- tptacek 3y agoYou wrote a reply to a comment that took the discussion off on a tangent. That's fine (usually), but the threads sometimes make more sense if the tangents start on their own top-level comment, which is what happened: your comment branched off a branch of the tree, was lopped off by Dan and grafted to the trunk.