解決問題不能不猜測嗎?

ZDNet Taiwan 轉錄了同人的〈大型公共建設軟體專案後續討論〉這篇文章,有網友留言對我不猜問題的定義提出了「對問題非猜測的想法」會形成悖論(paradox)的看法。

科學理論的建立,比之這些商業行為了更加嚴謹,但還是能看到有後人推翻前人的決定,何況平凡的一般人?所以若是更進一步地看看作者對於猜的定義,也可以發現「不猜」只是一種不可能的的謊言。作者對猜測的定義是:「非猜測的行為是指對於自己所做的分析猜測,後來做了驗証的動作。」但因為驗証必在提出猜測之後才能發生,仔細想想就知道這是矛盾的,而這種定義即是所謂的 paradox(悖論)。

你無法提出一個「非猜測」,因為你無法提出一個「己經驗証的猜測」。

你也無法提出一個「猜測」,因為你無法確定之後猜測「會不會被驗証」。

一個邏輯上就有問題的規則,怎麼有人還能去遵守?不如把心力放在真正要關心的事情之上…其實世上無人是全知全能,人類的每一個決定最終都只是猜測。

看到這篇回應,同人的第一個想到的是,在《別鬧了,費曼先生》中有一篇〈假聰明,真笨蛋〉的文章,這篇文章提到費曼先生在 50 年代初期,他曾應邀參與一個研討會,談論「平等之道德問題」的感想。他對其他與會者對討論主題沒有明確界定,只有一團團的迷霧讓人搞不清楚他們在說什麼。而會中所發表的一篇論文,他一開始看不懂,但仔細地慢慢讀之後才發現,在華麗的包裝下,那篇論文內容空洞萬分,他認為從那篇論文中,根本看不到什麼內容。

費曼先生在那篇文章中還提到他在那場會議經歷的一件趣事,有一位速記員跑來問費曼先生的職業,他認為他應該不是教授,費曼先生回答他就是個教授。速記員進一步問費曼先生是那一方面的教授時,他終於了解到為什麼他認為費曼先生應該不是教授的原因了。他說:

你看,我是個速記員,我把大家說的每一句話都記錄下來。但他們說的我全聽不懂,而每次你站起來問問題或者說些什麼,我卻能明白你說些什麼。因此我原本以為你不可能是個教授。

費曼先生注意到在那場會議中,每個人都只從自己的角度談問題,完全不管其他人的觀點。他認為明明什麼結果都沒有,其他人卻都拼命地說收穫多豐富、會議多成功等等,但對於觀點不同的意見出現時,卻只會發生無意義的爭辯。於是費曼先生發現,這場會議有許多經過偽裝的笨蛋把他逼瘋了。他提到:

一般的笨蛋還好,你可以跟他們談、解釋,幫助他們走出迷惘。但經過偽裝的笨蛋-明明是笨蛋卻假裝不是,拼命想叫別人佩服他們,希望別人覺得他們聰明、偉大。…一般的的笨蛋並不會騙人,誠實的笨蛋都很不錯;但是,不誠實的笨蛋便糟糕透了!而那就是我在會議中要應付的-一群偽裝過的假聰明,真笨蛋…。

費曼先生對於那種明明不懂還裝懂的人,認為他們在表面上裝出無所不知的聰明,實際上卻是十足的笨蛋,因為他們無法正視自己的無知,讓自己可以走出迷惘,所以這樣的人根本就不用跟他們談。雖然網友對同人文章的那篇回應也讓我感受到一團迷霧,但相信理性的對話還是可以讓真理浮現的,所以我嘗試著先從理解對方所要表達的意思開始。

科學理論的建立,比之這些商業行為了更加嚴謹,但還是能看到有後人推翻前人的決定,何況平凡的一般人?

其實每個人對是非對錯都會有不一樣的認定,因此「事情的好壞並不重要,重要的是你的想法及看法」。但如果因為怕被推翻,因而面對問題裹足不前,那麼什麼事都無法做好。所以,不要以猜測來解決問題的訴求重點並不是從結果來證明我們的一開始的猜測是否正確,因為問題解決並不像算命,必須鐵口直斷才能顯出判斷的神準。而是解決問題過程的品質:開發者有沒有針對對問題的觀察,透過思考、假設與驗證來找出問題,還是只是憑記憶中的刻板印象來反應問題,這兩者對解決問題的成效是會有很大的差別的。

「大膽假設,小心求證」正是科學的重要精神。抱持對問題解決的謹慎態度,有更嚴謹的過程就會有完善的問題解決成果。因此,對於有紀律的問題解決者而言,沒有人會說他的問題解決是用猜的,雖然他一開始會先對問題來做觀察,並成立相關假設,但問題能夠徹底解決其實是因為任何對問題的猜測都是必須經過求證的而幫他找到真正的問題所在。所以,猜不猜問題的關鍵點是在於是否有對猜測做求證,而非對問題的猜測與否。

在問題解決的過程中,人們總是以為自以為知道問題的一切,但事實上呢?那個一切並不包括了我們所不知道的。因此,切記「菩薩畏因,眾生畏果」,我們是不是謹慎地在過程中確認我們的問題解決的品質,如果沒有,或把這個責任推給其他人或單位,品質只是忠實地反映我們的所知而已。往往問題都是出在問題解決者的態度上,只是當局者無法意識到罷了,但不管能否意識的到,他都必須承受問題無法解決的苦果。

所以,不猜問題的觀點其實用常人可以理解的「邏輯」就可了解,不需要用深奧的悖論來故弄玄虛。對於一般人而言,不用猜測來解決問題本來是一件很簡單的道理,也就是對問題的任何猜測我們經由求證的步驟來確認問題解決的品質。但一味地用類似「箭永遠射不到目的地」的悖論來與他人進行辯論,往往會令人陷入五里霧當中而混淆了問題焦點。會讓邏輯或哲學問題與實際的現實生活脫節,同人認為,這樣的討論其實是沒有任何意義的。

或許我們可以運用文字本身的侷限性來主張他人的看法不成立,但我關心的只是問題如何更有品質地解決, 解決問題的過程中,假設問題當然是一種猜測,但問題的解決,不是因為這猜測,而是在面對猜測後的進一步審視假設成立與否的心態,這種態度才是在我的文章中所要強調的,但我發現似乎許多人仍舊對我說「猜測」這個詞充滿了情緒反應,似乎我說不能猜讓他們無所適從,我發現這與國內大部分開發者解決問題的積習有很大的關聯,實在是值得令人省思的一件事呀。

我很喜歡庖丁解牛的故事,它讓我體會到輕鬆解決問題的態度,樂於面對問題,循著脈絡來解決難題,當然大刀亂砍也是可以解決問題,但刀會鈍,人會累,這將不是我解決問題的風格。很多人習慣用「以為自己知道」的觀點來解決問題,但這正是看不到問題的最大迷障。

因為大部分的問題關鍵都不在我們已知道的部分,否則它根本不會成為問題而讓我們困擾著。所以,高明的問題解決者會善用無知,透過探索未知的過程,明白問題的真象然後再謀求問題根本解決之道。對於問題,從面對它、處理它、解決它、放下它的過程中,我們經歷了與問題共同成長,我們知道大刀亂砍並不能根本解決問題,卻往往會在日後衍生更多的問題。

我並不了解對猜測之後採取驗證為什麼是矛盾的,對方看起來似乎是在玩文字遊戲,把一件很單純的問題用一些似是而非的邏輯包裝出來,並且用以批判他人的觀點不合乎「邏輯」。或許他以為他的邏輯就是「一切」,無所不包,無所不容,所以在他眼中看來,我的定義不符合他的邏輯,似乎是有問題的,但他的論點在我眼中看來,又何嘗不是大錯特錯呢?那位提出悖論的網友提到說:

你無法提出一個「非猜測」,因為你無法提出一個「己經驗証的猜測」。

你也無法提出一個「猜測」,因為你無法確定之後猜測「會不會被驗証」。

這兩個論點在任何情況下都會成立嗎?想一想,如果專案管理者要開發者驗證他對系統失常的猜測,他可以接受開發者說:「我做不到,因為我無法提出一個己驗證的猜測」或是「猜測之所以是猜測,是因為它是無法確定之後會不會被驗證的」的答案嗎?如果開發者這麼說,大部分的專案管理者會稱許開發者真是專業呀,還是認為他是自以為是,對他不以為然呢?在專案管理者的眼中,會不會覺得開發者的理由其實是他態度有問題,或解決能力不足的卸責之辭呢?

答案顯而易見,這兩個論點都是不成立的,所謂的悖論根本就不存在。任何對事件觀察結果所做的假設,都必須是可以被驗證的,一旦它被驗證過後,它就不再是對事件的猜測了,而是個真實存在的事實,所以提出一個非猜測是可行的。

而在另一方面,如果我們對事件觀察結果做出一些假設,而在未對這些假設做出驗證前,這些假設就是我們對問題所做的猜測,如果我們將它提出來的,就是在提出對問題的猜測,所以提出一個猜測也是可行的。

對於問題所做的假設並不是天馬行空胡亂猜測,它們必須是合情合理,也就是基於常情或公認的理論來對問題的瞭解找到正確的研究方向,所以它們必須能夠被檢定或驗證出來,否則對問題解決就不具任何意義。這是眾所週知的研究方法的重要觀念,其實就是確保問題解決的過程是嚴謹而值得信賴的,而降低個人認知不同所造成的偏見,這才是真正的專業。驗證的目的是力求嚴謹,而不是只靠猜測,如果這是悖論的話,那麼研究方法不就是就是個天大的笑話嗎?把對問題解決的非猜測想法視為悖論,這種看法真是井蛙之見呀。

Powered by ScribeFire.

Please follow and like us:
分類: CNet/ZDNet, 問題解決, 專案監控, 溝通, 生活感觸, 策略, 軟體開發, 閱讀。這篇內容的永久連結

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *