2020年5月22日 星期五

《人月神話 The Mythical Man-Month》讀後感3-過去與未來

該如何計畫不可預測的未來,這兩段話到底哪個正確?
除了根據過去的經驗,我不知道還有什麼方法能夠預測未來。
I know no way of judging the future but by the past. - Patrick Henry
你永遠無法憑過去的經驗來計劃未來。
You can never plan the future by the past. - Edmund Burke

在談這兩段話給我的啟發前,先幫自己打個氣,成功的完成10天的閱讀計畫。雖然差點釀成大災難....

關於作者與本書


其時中間幾個章節講述了不少軟體開發的真實情況,即便我曾在大學選修過資工系JAVA(低空飛過)、資管系ASP.NET(被當),大學也另外自學過一點Linux跑些程式,怎麼還是有看沒有懂啊。只能從文中盡可能找出關鍵字,勉強順著作者的鋪陳,而這時就是進度落後的開始。

說來可惜,可能真的對程式語言沒太大的興趣與天分,不然在現在的時空背景下,軟體業的成長真的令人嚮往。再加上拜讀完此書,才發現從45年前,不!是更早以前,軟體業的發展就一直以不同層級的速度在超越其他領域。

在最後幾章,從比較專業的內容,慢慢拉回了討論與對話。就好比推薦序提到的,專業內容如同一次性工具,而後者則比較像是心法。當然,中間幾個章節是受限於我的專業與理解能力不足,才做出這樣的說法,一切都因人而異。

在第16章沒有銀彈的內容發出後 (推估1975年),作者收到了廣大的回響。而事隔九年 (推估1984年)後,作者於第17章再論沒有銀彈,一直到第19章最終章的內容很多都是在與他人對話。而我最感興趣的部分,可以用第18章開頭的這句話來總結:
不管別人懂不懂我們的意思,簡單扼要都非常好。
For brevity is very good, where we are, or are not understood. 
- Samuel Butler, 《Hudibras》
而作者對話最多的,我想不是其他來信者(各領域或同領域的專家們),而是他自己本人。他也特別提到,保留了所有第一版的內容,為的就是完整呈現當時的情況,過了數十載情況有些不同,但他對該領域的認識之深,以致於他能夠如此精確的推敲出未來的雛型,像其中有提到的:
  • 軟硬體發展方式
  • 人工智能AI的實現 (Artificial Intelligence)
  • 虛擬實境VR的發展 (Virtual Reality)
  • 語音助理(e.g. Siri, Google Assistant, Amazon Alexa)取代滑鼠鍵盤WIMP操作(Window, Icon, Menu, Pointing)

另外,作者在(1944年)他13歲讀到的電腦研製成功報導《哈佛馬克一號Harvard Mark I》、(1946年)15歲讀到《大西洋月刊》有關將知識組織成大型超文件(hypertext)並利用網路、標籤做追蹤與分享,一直到他後來進入相關領域。

我很羨慕能這麼早就發現自己天賦跟熱情之所在的人,他們很幸運。不過幸運的背後,肯定也是透過許多的嘗試、碰撞、失敗得來的寶貴經驗。

對比自己13歲讀國一時,還在翹課逃家、管樂團練跑去網咖沉迷線上遊戲,國二時被轉學到私立學校,住校。15歲國三時再轉回公立國中,情況並沒改善。就這樣渾噩的過完國中三年,如果重來一次會不一樣嗎?

我不知道,但未來我會伴在兩個寶貝女兒身邊,協助他們透過各種方式去體驗不同的人生,進而找出自己的熱情。當然,包含但不限於閱讀這個方式。

關於這兩句話...


在第19章二十周年紀念版的開頭,作者用了這兩句話表達了不僅軟體專案,或很多規劃上都會遇到的難題。這並不是考古題,每個事件即便關聯性很高,但仍是獨立事件。

過去的經驗,我們可以參考,就如同第一句話,面對未知的未來,我們也只能透過過去累積的經驗去推測。盡信書不如無書,若我們只憑過去的經驗來計畫未來,那麼未免把未來想得太容易了吧?

以前我曾認為任何事情都需要表態,保持客觀可以,但每個人一定內心都自己的主觀意識,講或不講罷了。對於一位舊友的過度客觀,當時無知的我對此是相當嗤之以鼻的。後來我才知道:

客觀也是種主觀,不表態也是種表態。

所以回到對面過去與未來的主題上,我覺得兩句話都適用,太多事情又有太多因素交雜在一起,需要的是更多方面的切入評估。在我們對名言佳句感同身受的同時,我們也可以找到與此對立的句子。像是:

光陰似箭之於度日如年、百事孝為先之於忠孝不能兩全。

在不同的時空背景跟條件狀況下,很難說得準該怎麼套用這些公式(諺語),事情都是一體兩面的,我們從中找出共鳴、得到啟發後,該怎麼做決定都還是操之在己。

過去與現在,到底該怎麼參考、規劃呢?我想時間軸的維度,以現在切分了過去與未來,但下一個瞬間,過去、現在、未來又跟著改變了。時間不停的流逝,而時間的定義是動態的,像是Rolling。

所以每個當下、每個現在,都該隨時保持警惕、檢視過去、評估未來,以確保自己沒有偏離當初設定的航道太遠,及時修正。

共勉之。