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