最近 ZDNet Taiwan 為同人開闢了「軟體開發見聞錄」的專欄,並將我所寫的〈從高鐵售票系統談大型公共建設軟體開發專案〉,分上下兩篇在此專欄發表。和上次我投稿的〈羅馬不是一天造成的〉比較起來,本篇文章引起了一些讀者的迴響,從這些讀者的評論看起來,似乎「高鐵售票系統」比較容易讓人感到敏感,而對我的文章有所指教。在看了這些對軟體開發見聞錄首部曲的意見,不禁讓同人深刻地感受到,態度實在是決定我們是否能深入思考問題的一大關鍵呀。
有讀者認為,大型公共建設軟體開發專案要讓大部分的人滿意,需要整體的合作與共識,例如”分包委外服務提供者”既然受人之託,就要忠人之事,若能做到的話,相信”做好關係人管理,達到同時兼顧所有關係人的期待”將不會是一項挑戰。
對於這個意見同人的看法是,在情感上,我認同”受人之託,就要忠人之事,就可以做好關係人管理”,但在理智及經驗上,卻往往發現事情往往會出乎我們意料之外。為什麼呢?人的問題太複雜了,除了資訊不對稱、利益的不相容所造成的代理問題外,還會有對方是否值得信任的風險決策、服務需求者與提供者雙方背景與專業的落差所造成的溝通困難等,都讓做好關係人管理這件事,充滿了變數,相信在實務上,對於參與過大型軟體開發管理者及開發者而言,以上是如人飲水,冷暖自知的呀。
我們都知道,回到初心是最美的。讓甲乙雙方,甚至於丙方朝著共同目標前進,專案才會有成功的機會,這是許多人都很清楚的道理。然而,問題就出在實際上,專案的壓力讓大家真正體會冀°,彼此目標是不相容的,一旦你我對目標的定義不同,又不願意開誠布公,今天讓我熱臉貼上了冷屁股,明天我將會一報還一報,一場零和的賽局於是展開。
同人常看見有些管理者會有「客戶永遠是對的」的迷失,卻把質疑問題背後的假設的能力拱手讓人,結果只是讓開發團隊陷入泥沼而已,專案當然不會成功,對這樣的專案管理者,吾未見其明呀。
還有一些讀者認為應該讓產業共同研討,以提昇軟體業的經驗或進一步深入探討問題背後的問題,其實同人撰此文的動機,並不在於辯駁或爭論對錯,而只是想分享個人經驗,希望讓我們有時間與空間去深思。所以,對和錯的結論並不是此篇文章的重點,而是思考,能引發大家的思考,才是本文真正的意義所在。
當然,軟體開發的甘苦,不足為外人道矣,但成長不是我有話要說,而看得懂別人在說什麼。所以,內行人看門道,外行人看熱鬧,要思考成長或是推論指責,全憑我們自己的選擇,沒有對錯,卻只有認知上的差異而已。
曾有人問過同人,為什麼高鐵事件過了那麼久,才又舊話重提呢?我告訴她:因為看了某篇文章,覺得那一位作者的觀點太過偏頗。事實上,在同人的生活派對中,談論高鐵的文章其實並不少,但許多軟體開發的管理與問題解決的眉角,都未明白點出,所以才有軟體開發見聞首部曲的那一篇文章出現的動機。
事情的好壞不重要,重要的是你的想法與看法。在高鐵售票系統問題背後,問題到底是什麼?同人看到這些緊抓著自己所知,認為問題就如自己所知而演變;卻忘了停下來思考,並且問正確的問題來求解,這讓同人不禁發現,軟體開發最困難的還是解決問題的修煉,尤其是解決那些「我不知道我所不知道」的問題呀。
另外,還有讀者批評,不知道就不要寫,還寫了兩篇,根本是來騙稿費。事實上我只寫了一篇呀!那麼到底是什麼東西同人不知道呢?大概與這段文字有關吧。
到底高鐵售票系統的重覆劃位問題,問題出在什麼地方呢?筆者並未參與其中,同時也不想妄加臆測;因為筆者相信,不管經驗有多麼豐富,我永遠不知道我所不知道的事情。
我可沒說我不知道呀,我只是強調我不想妄加臆測呀。因為個人某些因素,同人身邊並不乏有關高鐵售票系統的消息來源,但擁有這些並不能代表我知道一切,這是態度上的問題。一旦我以為我什麼都知道,我就不會有空間來容納更有建設性的思考與意見,也不會在過程中經過自我審視來讓自己不斷成長哲學之父蘇格拉底認為,未經審視的人生是不值得一提的。,所以明白自己一無所知的人,才會促使自己不斷省思而有所領悟,比起那些自以為什麼都知道的人,要來得聰明的多了蘇格拉底的名言:明白自己一無所知才是最聰明的人。,這也是《易經》中的「君子終日乾乾,夕愓若厲,無咎」出自乾卦的第三爻變卦爻辭,亦即君子每天都應該早晚自我反省,以避免因為輕忽而發生過錯。的智慧呀。