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