人月傳說

TOWER OTHER AFTER

人月傳說

原名:THEMYTHICALMAN-MONTH
作者:FREDERICK P. BROOKS, JR.
翻譯:Adams Wang
此書被多數人奉為軟體工程學經典之作,直到今天,它依然為廣大的工程師們提供了重要參考。

關於作者

Frederick P. Brooks,Jr.是北卡羅來納大學kenan-Flagler商學院的計算機科學教授,北卡來羅來納大學位於美國北卡來羅來納州的查布爾希爾。Brooks被認為是“IBM 360系統之父”,他擔任了360系統的項目經理,以及360作業系統項目設計階段的經理。憑藉在上述項目的傑出貢獻,他、Bob Evans和Erich Bloch在1985年榮獲了美國國家技術獎(National Medal of Techology)。早期,Brooks曾擔任IBM Stretch和Harvest計算機的體系結構師。
在查布爾希爾,Brooks博士創立了計算機科學系,並在1964至1984年期間擔任主席。他曾任職於美國國家科技局和國防科學技術委員會。Brooks目前的教學和研究方向是計算機體系結構、分子模型繪圖和虛擬環境。

第一版序言

第一版序言(Preface to the First Edition)在很多方面,管理一個大型的計算機編程項目和其它行業的大型工程很相似——比大多數程式設計師所認為的還要相似;在很多另外的方面,它又有差別——比大多數職業經理所認為的差別還要大。這個領域的知識在累積。現在AFIPS(美國信息處理學會聯合會)已經有了一些討論和會議,也出版了一些書籍和論文,但是還沒有成型的方法來系統地進行闡述。提供這樣一本主要反映個人觀點的小書看來是合適的。雖然我原來從事計算機科學的編程方面的工作,但是在1956-1963年間自動控制程式和高級語言編譯器開發出來的時候,我主要參加的是硬體構架方面的工作。在1964年,我成為作業系統OS/360的經理,發現前些年的進展使編程世界改變了很多。管理OS/360的開發是很有幫助的經歷,雖然是失敗的。那個團隊,包括我的繼任經理F. M. Trapnell,有很多值得自豪的東西。那個系統包括了很多優秀的設計和實施,成功地套用在很多領域,特別是設備無關的輸入輸出和外部庫管理,被很多技術革新廣泛複製。它現在是十分可靠的,相當有效,和非常通用的。但是,並不是所有的努力都是成功的。所有OS/360的用戶很快就能發現它應該做得更好。設計和實現上的缺陷在控制程式中特別普遍,相比之下,語言編譯器就好得多。大多數這些缺陷發生在1964-1965年的設計階段,所以這肯定是我的責任。此外,這個產品發布推遲了,需要的記憶體比計畫中的要多,成本也是估計的好幾倍,而且第一次發布時並不能很好地運行,直到發布了幾次以後。就象當初接受OS/360的任務時協商好的,在1965年離開IBM後,我來到查珀爾希爾。我開始分析OS/360的經驗,看能不能從中學到什麼管理和技術上的教訓。特別地,我要說明System/360硬體開發和OS/360軟體開發中的管理經驗是非常不同的。對Tom Watson關於為什麼編程難以管理的探索性問題,這本書是一份遲來的答案。在這次探索中,我和1964-65年的經理助理R.P.Case,還有1965-68年的經理F.M.Trapnell,進行了長談,從中受益良多。我對比了其他大型編程項目的經理的結論,包括M.I.T.的F.J.Corbato,Bell電話實驗室的V.Vyssotsky,International Computers - iii -Limited的Charles Portman,蘇聯科學院西伯利亞分部計算實驗室的A.P.Ershov,和IBM的A.M.Pietrasanta。我自己的結論體現在下面的文字中,送給職業程式設計師、職業經理、特別是程式設計師的職業經理。雖然寫出來的是分離的章節,還是有一個中心的論點,特別包含在第2-7章。簡言之,我相信由於人員的分工,大型編程項目碰到的管理問題和小項目區別很大;我相信關鍵需要是維持產品自身的概念完整性。這些章節探討了其中的困難和解決的方法。後續的章節探討軟體工程管理的其他方面。這個領域的文獻並不多,但散布很廣。因此我嘗試給出參考資料,說明某個特定知識點和指引感興趣的讀者去看其他有用的工作。很多朋友讀過了本書的手稿,其中一些朋友給出了很有幫助的意見。這些意見很有價值,但為了不打亂文字的通順,我把它們作為註解包含在書中。因為這本書是隨筆不是課本,所有的參考文獻和註解都被放到書的末尾,建議讀者在讀第一遍時略去不看。深切感謝Sara Elizabeth Moore小姐,David Wagner先生,和Rebecca Burris夫人,他們幫助我準備了手稿。感謝Joseph C.Sloane教授在圖解方面的建議。查珀爾希爾,北卡羅來納 F.P.B., Jr1974年10月

目錄:

目錄(Contents)二十周年紀念版序言(PREFACE TO THE 20TH ANNIVERSARY EDITION)......................I第一版序言(PREFACE TO THE FIRST EDITION)............................................................III目錄(CONTENTS).....................................................................................................................V焦油坑(THE TAR PIT)..............................................................................................................1編程系統產品...............................................................................................................................1職業的樂趣..................................................................................................................................3職業的苦惱..................................................................................................................................4人月神話(THE MYTHICAL MAN-MONTH)...........................................................................6樂觀主義......................................................................................................................................7人月..............................................................................................................................................8系統測試....................................................................................................................................10空泛的估算................................................................................................................................11重複產生的進度災難.................................................................................................................12外科手術隊伍(THE SURGICAL TEAM)...............................................................................16問題............................................................................................................................................16MILLS的建議.............................................................................................................................17如何運作....................................................................................................................................20團隊的擴建................................................................................................................................21貴族專制、民主政治和系統設計(aristocracy, DEMOCRACY, AND SYSTEM DESIGN).......................................................................................................................................................22概念一致性................................................................................................................................22獲得概念的完整性.....................................................................................................................23貴族專制統治和民主政治.........................................................................................................24在等待時,實現人員應該做什麼?.........................................................................................26畫蛇添足(THE SECOND-SYSTEM EFFECT)......................................................................29結構師的互動準則和機制.........................................................................................................29自律——開發第二個系統所帶來的後果.................................................................................30貫徹執行(PASSING THE WORD)..........................................................................................33文檔化的規格說明——手冊.....................................................................................................33形式化定義................................................................................................................................34直接整合....................................................................................................................................36會議和大會................................................................................................................................36多重實現....................................................................................................................................38- v -電話日誌....................................................................................................................................38產品測試....................................................................................................................................38為什麼巴比倫塔會失敗?(WHY DID THE TOWER OF babel FAIL?)...........................40巴比倫塔的管理教訓.................................................................................................................41大型編程項目中的交流.............................................................................................................41項目工作手冊.............................................................................................................................42大型編程項目的組織架構.........................................................................................................44胸有成竹(CALLING THE SHOT)..........................................................................................49PORTMAN的數據........................................................................................................................50ARON的數據..............................................................................................................................51HARR的數據..............................................................................................................................51OS/360的數據...........................................................................................................................53CORBATO的數據........................................................................................................................53削足適履(TEN POUNDS IN A FIVE-POUND SACK)..........................................................55作為成本的程式空間.................................................................................................................55規模控制....................................................................................................................................56空間技能....................................................................................................................................57數據的表現形式是編程的根本.................................................................................................58提綱挈領(THE DOCUMENTARY HYPOTHESIS)...............................................................60計算機產品的文檔.....................................................................................................................60大學科系的文檔.........................................................................................................................62軟體項目的文檔.........................................................................................................................62為什麼要有正式的文檔?.........................................................................................................63未雨綢繆(PLAN TO THROW ONE AWAY)............................................................................64試驗性工廠和增大規模.............................................................................................................64唯一不變的就是變化本身.........................................................................................................65為變更計畫系統.........................................................................................................................66為變更計畫組織架構.................................................................................................................66前進兩步,後退一步.................................................................................................................68前進一步,後退一步.................................................................................................................69干將莫邪(SHARP TOOLS)......................................................................................................71目標機器....................................................................................................................................72輔助機器和數據服務.................................................................................................................73高級語言和互動式編程.............................................................................................................76整體部分(THE WHOLE AND THE PARTS)..........................................................................78剔除BUG的設計........................................................................................................................78構件單元調試.............................................................................................................................80 - vi -系統集成調試.............................................................................................................................82禍起蕭牆(HATCHING A CATASTROPHE)...........................................................................85里程碑還是沉重的負擔?.........................................................................................................85“其他的部分反正會落後”.....................................................................................................86地毯的下面................................................................................................................................87另外一面(THE OTHER FACE)..............................................................................................92需要什麼樣的文檔.....................................................................................................................93流程圖........................................................................................................................................95自文檔化(SELF-DOCUMENTING)的程式................................................................................96沒有銀彈-軟體工程中的根本和次要問題(NO silver bullet – ESSENCE AND ACCIDENT IN SOFTWARE ENGINEERING).....................................................................102摘要1.......................................................................................................................................102介紹..........................................................................................................................................103是否一定那么困難呢?——根本困難...................................................................................103以往解決次要困難的一些突破...............................................................................................106銀彈的希望...............................................................................................................................108針對概念上根本問題的頗具前途的方法...............................................................................113NO........................................................................................................................................118再論《沒有銀彈》 (“NO SILVER BULLET”REFIRED)..................................................120人狼和其他恐怖傳說...............................................................................................................120存在著銀彈-就在這裡!.......................................................................................................121含糊的表達將會導致誤解.......................................................................................................121HAREL的分析..........................................................................................................................124JONE的觀點——質量帶來生產率..........................................................................................127那么,生產率的情形如何?...................................................................................................128面向對象編程——這顆銅質子彈可以嗎?...........................................................................129重用的情況怎樣?...................................................................................................................130學習大量的辭彙——對軟體重用的一個可預見,但還沒有被預言的問題.......................132子彈的本質——形勢沒有發生改變.......................................................................................133《人月神話》的觀點:是或非?(PROPOSITIONS OF THE MYTHICAL MAN-MONTH: TRUE OR FALSE?)................................................................................................................134第1章 焦油坑.........................................................................................................................134第2章 人月神話.....................................................................................................................135第3章 外科手術隊伍.............................................................................................................136第4章 貴族專制、民主政治和系統設計.............................................................................137第5章 畫蛇添足.....................................................................................................................137第6章 貫徹執行.....................................................................................................................138第7章 為什麼巴比倫塔會失敗?.........................................................................................139第8章 胸有成竹.....................................................................................................................141- vii -第9章 削足適履.....................................................................................................................141第10章 提綱挈領...................................................................................................................143第11章 未雨綢繆...................................................................................................................143第12章 干將莫邪...................................................................................................................146第13章 整體部分...................................................................................................................148第14章 禍起蕭牆...................................................................................................................149第15章 另外一面...................................................................................................................150原著結束語...............................................................................................................................15220年後的人月神話(THE MYTHICAL MAN-MONTH AFTER 20 YEARS).................153為什麼會出現二十周年紀念版本?.......................................................................................153核心觀點:概念完整性和結構師...........................................................................................154開發第二個系統所引起的後果:盲目的功能和頻率猜測...................................................156圖形(wimp)界面的成功....................................................................................................157沒有構建捨棄原型——瀑布模型是錯誤的!.......................................................................160增量開發模型更佳——漸進地精化.......................................................................................162關於信息隱藏,PARNAS是正確的,我是錯誤的.................................................................165人月到底有多少神話色彩?BOEHM的模型和數據..............................................................167人就是一切(或者說,幾乎是一切)...................................................................................168放棄權力的力量.......................................................................................................................169最令人驚訝的新事物是什麼?數百萬的計算機...................................................................171全新的軟體產業——塑膠薄膜包裝的成品軟體...................................................................173買來開發——使用塑膠包裝的成品軟體包作為構件...........................................................174軟體工程的狀態和未來...........................................................................................................176結束語:令人嚮往、激動人心和充滿樂趣的五十年(epilogue FIFTY YEARS OF WONDER, EXCITEMENT, AND JOY)......................................................................................................178註解和參考文獻(NOTES AND REFERENCES).................................................................180第1章......................................................................................................................................180第2章......................................................................................................................................180第3章......................................................................................................................................180第4章......................................................................................................................................181第5章......................................................................................................................................181第6章......................................................................................................................................182第7章......................................................................................................................................182第8章......................................................................................................................................182第9章......................................................................................................................................183第10章....................................................................................................................................183第11章....................................................................................................................................184第12章....................................................................................................................................184第13章....................................................................................................................................185第14章....................................................................................................................................186第15章....................................................................................................................................187第16章....................................................................................................................................187- viii -第17章....................................................................................................................................188第18章....................................................................................................................................190第19章....................................................................................................................................190索引(INDEX).........................................................................................................................193- ix

相關詞條

相關搜尋

熱門詞條

聯絡我們