《人月神話》讀后感
這是一篇論文,發表于1986年,我自認為我的理論水平沒有上升到可以對他的論點和論據做出懷疑或質疑的結論,我只是說說我的感想。
人狼是傳說中的妖怪,只有銀彈才能殺死他。作者認為軟件項目具有人狼的特性,因為軟件項目也可能變成一個怪物,一個落后進度、超出預算、存在大量缺陷的怪物。作者通過軟件系統的內在特性復雜性、一致性、可變性和不可見性來分析說明了軟件天生就沒有銀彈。
作者試圖通過分析軟件問題的本質和很多侯選銀彈的特征來探究其中的原因。他行動的第一步是將大塊的“巨無霸理論”替換成“微生物理論”。這個變化的過程告訴你,進步是逐步取得的,伴隨著辛勤的勞動,對規范化過程應
進行持續不懈的努力,而這個努力的過程相應的就誕生了軟件工程。作者對軟件工程誕生的原因做出這樣的解釋,我覺得符合外國思維的特點,這正是國人所缺乏。記得有一位朋友說過,中國媽媽與德國媽媽的區別,他說,如果手里拿的針掉到地上了,中國媽媽的第一反應是估計針掉下去的范圍,然后在這個范圍里面找,可能很快就找到了,也可能一直都找不到;但德國媽媽不同,她會拿一根粉筆來,把整個屋子畫成一個大圈,接著把大圈分成許許多多的小圈,然后再到每個小圈里找,雖然比較慢,但最終肯定可以找到。仔細想象,大多數情況下,中國媽媽都會找到得比較快,這確實符合大多數中國媽媽的思維習慣,每個中國媽媽都這樣找,這好象是與生俱來的本事,但為什么德國媽媽沒有這個本事呢?是德國媽媽笨嗎?為什么中國媽媽也有找不到的情況?而德國媽媽,雖然速度慢了點,卻始終能夠找得到?如果把這件故事推而廣之,多年以后,德國媽媽創建了找針工程,她通過多次找針的實驗數據,分析出針掉到整個房間中各個小圈的概率,總結出針在哪個小圈的概率最大,很快就可以找到針,找針速度早已高過中國媽媽,而中國媽媽還在依循與生俱來的本事。你能說德國媽媽笨嗎?為什么中國媽媽和德國媽媽會有這么大的區別?是德國媽媽把大塊的“巨無霸理論”替換成“微生物理論”嗎?我覺得是是,你說呢?作者在后面的論述中用數學和物理的發展為例子也說明了,這種思想的成立。
余下的作者把軟件工程按“巨無霸理論”替換成“微生物理論”的過程詳細的說明,值得看,我關注的不是具體的內容,具體內容可能有些不合適宜,我關注的是作者的思考方式以及處理方法,這是非常重要的。
在“以往解決次要困難的一些突破”和“銀彈的希望”章節,從概念上講述了軟件的發展,其中講到“專家系統”時,使我想起一部科幻電影,忘了電影名字了,有個情節大致是這樣的,一位非常有經驗的主管死后,有一名較優 秀的下屬接任,但這時出現了一位非常厲害的敵人,這位新主管無論如何也戰勝不了敵人,這時想起了以前的主管,心想前主管一定有辦法對付這個敵人,而前主管的大腦就存放在系統里,