X-Y Problem

X-Y Problem

對于X-Y Problem的意思如下:

1)有人想解決問題X
2)他覺得Y可能是解決X問題的方法
3)但是他不知道Y應該怎么做
4)于是他去問別人Y應該怎么做?

簡而言之,沒有去問怎么解決問題X,而是去問解決方案Y應該怎么去實現和操作。于是乎:

1)熱心的人們幫助并告訴這個人Y應該怎么搞,但是大家都覺得Y這個方案有點怪異。
2)在經過大量地討論和浪費了大量的時間后,熱心的人終于明白了原始的問題X是怎么一回事。
3)于是大家都發現,Y根本就不是用來解決X的合適的方案。

X-Y Problem最大的嚴重的問題就是:在一個根本錯誤的方向上浪費他人大量的時間和精力

示例

舉個兩個例子:

Q) 我怎么用Shell取得一個字符串的后3位字符?
A1) 如果這個字符的變量是$foo,你可以這樣來 echo ${foo:-3}
A2) 為什么你要取后3位?你想干什么?
Q) 其實我就想取文件的擴展名
A1) 我靠,原來你要干這事,那我的方法不對,文件的擴展名并不保證一定有3位啊。
A1) 如果你的文件必然有擴展名的話,你可以這來樣來:echo ${foo##*.}

這里有篇文章說明了X-Y Problem的各種案例說明,我從其中摘出三個來讓大家看看:

試圖做X,并想到了用Y方案。所以你去問別人Y,但根本不提X。于是,你可以會錯過本來可能有更好更適合的方案,除非你告訴大家X是什么。
— from Re: How do I keep the command line from eating the backslashes? by revdiablo
有些人問怎么做Y,但其它他想做的是X。他問怎么做Y是因為他覺得Y是最好搞定X的方法。 于是大家不斷地回答“試試這個,試試那個”來幫助他,而他總是在說“這個有問題,那個有問題,因為……”?;静煌那闆r,其它的方案可能會更好。

— from Re: Re: Re: Re: regex to validate e-mail addresses and phone numbers by Limbic~Region

X-Y Problem又叫“過早下結論”:提問者其實并不非常清楚想要解決的X問題,他猜測用Y可以搞定,于是他問大家如何實現Y。

— from <Pine.GHP.4.21.0009061210570.8800-100000@hpplus03.cern.ch> by Alan J. Flavell

其實這個問題在我之前的《你會問問題嗎》里提到的那篇How To Ask Questions the Smart Way中的提到過,你可以移步去看一下。

所以,我們在尋求別人幫助的時候,最好把我們想解決的問題和整個事情的來龍去脈說清楚。

一些變種

我們不要以為X-Y Problem就像上面那樣的簡單,我們不會出現,其實我們生活的這個世界有有各種X-Y Problem的變種。下面我個人覺得非常像XY Problem的總是:

其一、大多數人有時候,非常容易把手段當目的,他們會用自己所喜歡的技術和方法來反推用戶的需求,于是很有可能就會出現X-Y Problem – 也許解決用戶需求最適合的技術方案是PC,但是我們要讓他們用手機。

其二、產品經理有時候并不清楚他想解決的用戶需求是什么,于是他覺得可能開發Y的功能能夠滿足用戶,于是他提出了Y的需求讓技術人員去做,但那根本不是解決X問題的最佳方案。

其三、因為公司或部門的一些戰略安排,業務部門設計了相關的業務規劃,然后這些業務規劃更多的是公司想要的Y,而不是解決用戶的X問題。

其四、對于個人的職業發展,X是成長為有更強的技能和能力,這個可以擁有比別人更強的競爭力,從而可以有更好的報酬,但確走向了Y:全身心地追逐KPI。

其五、本來我們想達成的X是做出更好和更有價值的產品,但最終走到了Y:通過各種手段提升安裝量,點擊量,在線量,用戶量來衡量。

其六、很多團隊Leader都喜歡制造信息不平等,并不告訴團隊某個事情的來由,掩蓋X,而直接把要做的Y告訴團隊,導致團隊并不真正地理解,而產生了很多時間和經歷的浪費。

所有的這些,在我心中都是X-Y Problem的變種,這是不是一種刻舟求劍的表現?

參考

轉自:http://coolshell.cn/articles/10804.html

原創文章,作者:s19930811,如若轉載,請注明出處:http://www.www58058.com/2121

(0)
s19930811s19930811
上一篇 2016-08-15
下一篇 2016-08-15

相關推薦

  • Linux基礎知識之IO重定向

    該博文以CentOS6.8_x86_64系統為基礎,Xshell 5遠程連接CentOS系統,以root身份登錄系統。  什么是I/O重定向?       所謂I/O重定向簡單來說就是一個過程,這個過程捕捉一個文件,或者命令,程序,腳本,甚至腳本中的代碼塊(codeblock)的輸出,然后把捕捉到的輸出,作為輸入發送給…

    Linux干貨 2016-07-26
  • sed基本用法詳解

    一、sed介紹:        sed是非交互式的編輯器,同時又是面向字符流的,一次處理一行文本。當前輸入的行被緩存至一個被稱為模式空間(pattern space)的內存空間中,與給定的模式進行比對,若不匹配,則將內容輸出至屏幕,之后讀取第二行;若匹配,則執行編輯命令,命令執行完成后,將模式空間中…

    Linux干貨 2016-08-10
  • 夢想走向現實的地方

    曾經羨慕打字快的同學指尖能在鍵盤上優雅地跳舞,于是我有努力練習打字。 曾經羨慕同事能很神奇地把一個交換機的端口關閉,讓那端口下面的人都不能上網,于是我努力學習交換機、路由。 現在我羨慕一個人能管很多服務器的人,于是我開始學習linux了。 努力成為一個也能管很多服務器的人,因為我也想別人叫我運維工程師

    Linux干貨 2016-10-25
  • N26 – 第三周作業

    1、列出當前系統上所有已登錄的用戶的用戶名,同一用戶登錄多次只顯示一次     ~]# who -u |cut -d ' ' -f1|uniq -u 2、最后登錄到當前系統的用戶的相關信息     ~]#id $(last | h…

    Linux干貨 2017-01-03
  • rsync+inotify實現數據實時同步備份

    定時備份和實時備份        說到備份,無疑于定時備份和實時同步備份。定時備份可以通過腳本或者Crontab來實現,而實時同步備份可以通過某些接口監控文件的各種變化情況來實現的(比如內核接口inotify);通過對比可以發現對數據信息要求高的環境使用實時同步備份可以更好更有利的保護數據的安全性。 軟件介紹之rsyn…

    Linux干貨 2015-02-28
  • Linux發行版概述

    Linux發行版概述 Linux發行版有數百種之多,最主流的三個分支為Debain、Slackware、RedHat Debain Debain是三大主流發行版中唯一由社區維護的版本,無商業版本,相對較為輕巧,對使用者的技術要求較高 * Ubuntu、Knopix為Debian的主要子分支,其中Knopix是以安全著稱的 Slackware(SUSE) SU…

    Linux干貨 2017-07-02
欧美性久久久久