《夢斷軟體開發過程有時就是這樣的一種體驗,目标看是唾手可得,卻又總是在你伸手摘取時,發現還有一段距離要走,問題随着開發的深入而不斷湧現;這就像是坐在大象背上的訓象師,用吊在大象鼻子前的香蕉,給大象耍的把戲。 是什麼原因,導緻軟體開發有時會進入這樣一個令人惋歎的黑洞?
書的作者沒有,也不可能給我們一個答案,但通過作者忠實記錄于書的、就發生在當下不久的、這一真實案例,以及對軟體開發曆史和方法的部分介紹,本書應當能帶給我們很多有益的啟示和思考。
我一直認為,讀書最大的功用之一,就是能激發我們的思考,是打開思維源泉的閥門;這本書很好的起到了這一作用,它讓我們去思考軟體開發的過程、方法、管理…,為我們思考這些提供了真實生動的案例,也對現實的工作有些指導和警示作用。
為什麼好軟體如此難做?這是我本人,我想也是很多人都在苦苦思索的一個問題,雖然無人能有完全确定的答案,但通過書中的記述,和個人思考,還是可以獲得一些啟示:
計算機嚴格的邏輯性和精确性,同人類不嚴密的邏輯,模糊多變的思維模式之間的沖突,造成的人與機器之間溝通的障礙。開發團隊之間互相溝通協作的成本,導緻産生《人月神話》作者布魯克斯法則的悖論-往已延誤的項目中補充人力,隻會使其繼續延誤。
項目目标不明确,标靶變來變去,是以有時決定說什麼,比怎麼說更困難。項目目标不切實際,從一開始就想做一個适合所有人的,能做所有事的系統,造成就如要做永動機一樣的結局。我想人們大多都知道古老聖經中巴别塔的寓言,軟體工程難于成功的原因,也許就蘊藏在這寓言啟示之中,本質上在于溝通的問題:軟體使用者與軟體的溝通,軟體需求者與開發者的溝通,程式員與程式員的溝通,程式員與機器的溝通。所有這些層層累疊起來,構築了一道道通往成功彼岸的屏障。也許有一天所有這些溝通的障礙都能被消除,人們能輕易的互相了解,軟體工程的巴别塔真的就能輕易的建造起來了。整本書以一個發生在當下的真實的故事寫成,不僅僅是寫給程式員的,也是寫給軟體産品經理和其他與軟體開發相關的或對此感興趣的人的。每一個經曆過軟體開發過程的人,對書中的生動描述都會感同身受!