1 分钟搞懂什么是 XY 问题

简介: 1 分钟搞懂什么是 XY 问题

XY Problem 会阻碍沟通,对解决真正的问题造成困扰,那什么是 XY Problem?原文: The XY Problem

什么是 XY 问题?

XY 问题是关于正在尝试的解决方案,而不是实际的问题。无论是对于寻求帮助的一方,还是提供帮助的一方,这都会造成大量时间、精力的浪费。


  • 用户想做 X。
  • 用户不知道怎么做 X,但觉得如果能做到 Y,就能摸索出解决方案。
  • 用户也不知道怎么做 Y。
  • 用户请求对问题 Y 的帮助。
  • 其他人试图帮助用户解决 Y,但却感到困惑,因为尝试解决 Y 似乎是个奇怪的问题。
  • 经过大量互动和浪费的时间后,终于发现用户其实需要 X 方面的帮助,而 Y 甚至不是对 X 的合适解决方案。


当人们被自认为的解决方案卡住,无法退一步完整解释问题时,问题就出现了。

怎么办?

  1. 在提供任何尝试过的解决方案时,请始终包含更广泛图景的信息。
  2. 如果有人询问更多信息,一定要提供细节。
  3. 如果已经排除了其他解决方案,分享为什么排除,这会提供更多关于需求的信息。


记住,如果你的诊断理论是准确的,就不会寻求帮助了,对吧?

示例

示例 1

n00b 实际上不想要文件名中的最后 3 个字符,而是想要获取文件扩展名,为什么要问最后 3 个字符?


<n00b> How can I echo the last three characters in a filename?
<feline> If they're in a variable: echo ${foo: -3}
<feline> Why 3 characters? What do you REALLY want?
<feline> Do you want the extension?
<n00b> Yes.
<feline> There's no guarantee that every filename will have a three-letter extension,
<feline> so blindly grabbing three characters does not solve the problem.
<feline> echo ${foo##*.}

复制代码

示例 2

如果 Angela 一开始就解释她想防止别人发现她的操作系统,可能讨论会更短、更有成效。


Angela: 'nmap -O -A 127.0.0.1' returns some lines starting with 'OS:'. How to change it?
Obama: Look in the sourcecode for nmap, find how it figures out the Linux part, then rewrite your TCP/IP stack to not operate in a way nmap can detect.
Angela: Yeah, but I don't know about linux system api at all.
Obama: Well, nmap's fingerprint is based on the way the TCP/IP stack works, there's no real way except to rewrite the appropriate parts of said stack.
Angela: I really need to avoid these messages. Can iptables do this work?
Obama: Well, don't use OS detection or version scanning
Angela: I want to prevent others from knowing the type of my OS

复制代码




你好,我是俞凡,在 Motorola 做过研发,现在在 Mavenir 做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI 等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。为了方便大家以后能第一时间看到文章,请朋友们关注公众号"DeepNoMind",并设个星标吧,如果能一键三连(转发、点赞、在看),则能给我带来更多的支持和动力,激励我持续写下去,和大家共同成长进步!

目录
相关文章
|
2月前
|
Web App开发 机器学习/深度学习 自然语言处理
Word2Vec简明教程:入门、原理及代码实现
Word2Vec简明教程:入门、原理及代码实现
|
8月前
|
机器学习/深度学习
CF189A Cut Ribbon(dp一维思想,完全背包最详细解析)
CF189A Cut Ribbon(dp一维思想,完全背包最详细解析)
52 0
|
Python
numpy重新学习系列(11)---如何用np.linspace生成等间距的N个数字
numpy重新学习系列(11)---如何用np.linspace生成等间距的N个数字
172 0
numpy重新学习系列(11)---如何用np.linspace生成等间距的N个数字
|
Python
Python经典编程习题100例:第57例:画图,学用line画直线
Python经典编程习题100例:第57例:画图,学用line画直线
108 0
|
Python
Python经典编程习题100例:第56例:画图,学用circle画圆形
Python经典编程习题100例:第56例:画图,学用circle画圆形
103 0
|
Python
Python经典编程习题100例:第58例:画图,学用rectangle画方形
Python经典编程习题100例:第58例:画图,学用rectangle画方形
66 0
|
Python
Python经典编程习题100例:第64例:利用ellipse 和 rectangle 画图
Python经典编程习题100例:第64例:利用ellipse 和 rectangle 画图
56 0
|
Python
考点:海龟画图turtle库的使用,绘制五角星、矩形等【Python习题09】
考点:海龟画图turtle库的使用,绘制五角星、矩形等【Python习题09】
373 0
考点:海龟画图turtle库的使用,绘制五角星、矩形等【Python习题09】
|
机器学习/深度学习 存储 自然语言处理
Word2Vec简明教程:入门、原理及代码实现(上)
Word2Vec简明教程:入门、原理及代码实现
Word2Vec简明教程:入门、原理及代码实现(上)
|
机器学习/深度学习 自然语言处理 算法
Word2Vec简明教程:入门、原理及代码实现(下)
Word2Vec简明教程:入门、原理及代码实现
Word2Vec简明教程:入门、原理及代码实现(下)