XY问题(XY Problem)

时不时的我会听到有人说“我遇到了‘XY问题(XY problem)’”。什么意思?

对于“XY问题”,不同的人有不同的解释:

你想做X,但你认为Y是实现X最好的方法。你不问关于X的事,反而问起Y的事。

来自 Re: sequencial file naming by Abigail


你尝试去做X,但你想起了Y方案。于是,你开始问关于Y方案的事,完全不提X。问题是,也许会有更好的方案,但如果你不描述X是什么,我们根本无法出谋划策。
来自 Re: How do I keep the command line from eating the backslashes? by revdiablo


有些人问如何去做Y,但他们实际是想做X。他们之所以问如何做Y,因为他们相信Y是实现X最好的方法。人们用各种的“试试这个”来给予帮助,而结果往往是“这不行,因为….”。这给我们提示,依赖环境的不同,你的问题可能会有其它更好的方案。
来自 Re: Re: Re: Re: regex to validate e-mail addresses and phone numbers by Limbic~Region


在不理解更大的问题(上下文)X的情况下,去回答问题Y,往往完全无助于解决问题X。
来自 <m18zt5muq9.fsf_-_@halfdome.holdit.com> by merlyn


也叫做“过早下结论”:有疑问的人希望能解决一些阐述的并不清楚的问题X,他们断定Y是解决方案的一个要素,于是他们就询问如何实现Y。
from <Pine.GHP.4.21.0009061210570.8800-100000@hpplus03.cern.ch> by Alan J. Flavell


XY问题是指,当你需要做X时,你认为可以用Y来实现X,于是你问如何做Y,而你实际应该做的是说明你的X问题是什么。也许会有一个比Y更好的Z解决方案,但如果X没有被说出来,没有人能提出更好的建议。
来自 <slrn89um8j.5g9.tadmc@magna.metronet.com> by Tad McClellan


当有人来问如何做一些傻事时,我真的不知道如何去做。我只能照实回答,说我可不要告诉别人如何做傻事…..

但是,一旦我这样做了,人们就会蹦到我面前自作聪明。这种事情经常发生。(“别呀,帮帮这个可怜的人吧,如果你知道他们真的需要知道如何做,你干嘛不告诉他们呢?”)

. . .

另一方面,我可以从另一个层面上回答他们,给他们一个更好的方案,但这种执教也许会让他们脸上不好看。如果他们接受倒好,如果不接受,你会很伤心看到自己的努力和好建议被忽略。同样,人们会蹦到你面前指责你没有直接回答他们的问题。(“谁要你告诉他该怎么做了,你只要回答他的问题就行了。”)

. . .

我想这种两种回答方式生活中都经常会有。但也许没有一种回答会得到好结果。
来自 <6lnb70$lct$1@monet.op.net> by MJD

MJD很早之前也对这个主题发表过一篇讽刺文章,这篇文章成了互联网上的经典:回复:在新闻组里我从来没有得到过问题的答案

这些年它已经被更新了数次;有个版本演变成了著名的”Retardo!”语录。

最后一个版本在这个网站上:技巧:如何提出好问题

[英文原文:XY Problem ]
分享这篇文章:

3 Responses to XY问题(XY Problem)

  1. haitao says:

    X是背景需求,Y是开发者或用户自以为的需求
    所以,背景需求才是真正的需求

  2. iEverX says:

    有的时候,只是单纯的想学习Y

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据