人月神話

Frederick P. Brooks, Jr.

出版时间

2004-04-04

ISBN

9789867889188

评分

★★★★★
书籍介绍
有些書,對於讀者和作者就像是年金一樣,可以年年分紅。《人月神話》就是這樣一本書……年輕的軟體工程師、缺錢的研究生、懶惰的程式設計老手,常常問我哪一本電腦書是最好的。「如果我被困在一個荒島上,只能帶一本電腦書,」他們問,「應該是哪一本?」這問題很荒謬,但是他們堅持要答案。假如你真的被放逐到這樣的小島上,應該陪伴你的是《人月神話》。 --Ed Yourdon,軟體界知名顧問與作家 我唯一一本讀過一遍以上的計算機相關書籍,是Fred Brooks的《人月神話》,事實上我每隔幾年都會重讀其中的某些章節。一部分原因是這本書文筆很好,而且書中的忠告很有價值,即使是在這本書出版了超過 25年之後。當然,現在在很多細節上,還有我們做事的方法都不一樣了,我們的工作更自動化,電腦的「馬力」也更強了,但書中依然有非常多很好的忠告。我非常推崇這本書,這是我唯一覺得你能從中體會到樂趣和思想的計算機科學書籍。 --Brian Kernighan,The C Programming Language作者 很少有一本軟體專案管理的書,像《人月神話》這樣深具影響力而且歷久不衰,Fred Brooks以軟體工程上的實例,搭配發人深省的評論,為如何管理大型、複雜專案提供了精闢的見解。他曾經擔任過IBM System/360電腦系列,以及與之搭配的OS/360這種大型軟體系統的專案經理,書中文章即取材自他擔任這些職務的實際經驗。在這本書首次出版二十年後,作者對他當初所提出的理念做了一番回顧,並加入了新的思維與建議,獻給對這本書已經熟悉的讀者,以及第一次接觸這本書的人。 二十週年紀念版新增的章節包括:(1)將本書初版中所主張的所有論斷整理出一個簡潔的摘要,包括了原書的主要理念:就人力配置的比例而言,大型軟體專案所面臨的是跟小型專案完全不同的管理問題,這引申出產品的概念整體性是其中的關鍵,而達成概念整體性雖然困難,但卻是可能辦到的;(2)作者對他當初所提出的這些論斷,在經過一個世代之後所做的觀察;(3)轉載他1986年發表於IEEE Computer的經典論文〈沒有銀彈〉;以及(4)他對於他1986年的論斷「十年內不會有任何銀彈」所做的回應。 1975年出版的《人月神話》是軟體開發方面的經典之作。近三十年來,這本書能在技術日新月異的計算機領域持續受到歡迎,正是因為它不僅是技術性的書籍,還包括要開發一個大型系統所應注意的管理層面問題,這使得本書涵蓋軟體、管理的層次,而經得起考驗。如果您從事程式設計工作,或是和程式設計者共事,或負責軟體專案的管理,甚至如果您是IT產業的領導者,您都應該閱讀這本書。
精彩摘录
  • "乐观主义 所有的编程人员都是乐观主义者。… “这次她肯定会运行的” “我刚刚找到了最后一个错误” 人月 第二个谬误是在估计和进度安排中使用的工作单位﹣人月。暗示着时间和人员可以相互替换。"
  • "系统开发的时间安排 1/3 计划 1/6 编码 1/4 构件测试和早期系统测试 1/4 系统测试,所有构件已完成 需要特别指出的是,不为系统测试安排足够的时间简直就是一场灾难"
  • "简化Brooks的法则:向进度落后的团队增加人手,只会让进度更加落后。"
  • "所有的编程人员都是乐观主义者。可能是这种现代魔术特别吸引那些相信美满结局的人;也可能是成百上千琐碎的挫折赶走了大多数人,只剩下了那些习惯上只关注结果的人;还可能仅仅因为计算机还很年轻,程序员更加年轻,而年轻人总是些乐观主义者棗无论是什么样的程序,结果是勿庸置疑的:“这次它肯定会运行。”或者“我刚刚找出了最后一个错误。” 所以系统编程的进度安排背后的第一个假设是:一切都将运作良好,每一项任务仅花费它所“应该”花费的时间。 ... 正由于介质的易于驾驭,我们期待在实现过程中不会碰到困难,因此造成了乐观主义的弥漫。而我们的构思是有缺陷的,因此总会有bug。也就是说,我们的乐观主义并不应该是理所应当的"
  • "成本的确随开发产品的人数和时间的不同,有着很大的变化,进度却不是如此。因此我认为用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话。它暗示着人员数量和时间是可以相互替换的。 人数和时间的互换仅仅适用于以下情况:某个任务可以分解给参与人员,并且他们之间不需要相互的交流。这在割小麦或收获棉花的工作中是可行的;而在系统编程中近乎不可能。"
  • "因为软件开发本质上是一项系统工作棗错综复杂关系下的一种实践棗沟通、交流的工作量非常大,它很快会消耗任务分解所节省下来的个人时间。从而,添加更多的人手,实际上是延长了,而不是缩短了时间进度。"
  • "简洁和直白来自概念的完整性。每个部分必须反映相同的原理、原则和一致的折衷机制。在语法上,每个部分应使用相同的技巧;在语义上,应具有同样的相似性。因此,易用性实际上需要设计的一致性和概念的完整性。 概念的完整性要求设计必须由一个人,或者非常少数互有默契的人员来实现。 而进度压力却要求很多人员来开发系统。有两种方法可以解决这种矛盾。第一种是仔细地区分设计方法和具体实现。第二种是前一章节讨论的、一种崭新的组件编程开发团队的方法。 对于非常大型的项目,将设计方法、体系结构方面的工作与具体实现相分离是获得概念完整性的强有力方法。 让我们考虑一下树状编程队伍,以及要使它行之有效。每棵子树必须具备的基本要素"
  • "它们挣扎得越猛烈,焦油就纠缠得越紧,没有任何猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。 表面上看起来好像没有任何一个单独的问题会导致困难,每个问题都能获得解决,但是当它们相互纠缠和累积在一起的时候,团队的行动就会变得越来越慢。对问题的麻烦程度,每个人似乎都会感到惊讶,并且很难看清问题的本质。不过,如果我们想解决问题,就必须试图先去了解问题。"
作者简介
Frederick P. Brooks, Jr.任教於北卡羅萊納大學Chapel Hill分校,擔任計算機科學的Kenan講座教授。由於他在IBM System/360開發階段擔任專案經理一職,遂以「IBM System/360之父」聞名於世,隨後擔任過OS/360設計階段的軟體專案經理,為此,他與Bob Evans、Erich Bloch共同獲頒了1985年國家科技成就獎的殊榮,在此之前,還曾經是IBM Stretch和Harvest電腦的架構設計師。1999年,他獲頒美國計算機協會(ACM)的圖靈獎(A. M. Turing Award),這是在計算機領域中最具權威性的技術獎項,美國計算機協會盛讚他「對計算機結構、作業系統和軟體工程做出了劃時代的貢獻」。 Brooks博士在Chapel Hill分校創建了計算機科學系,並自1964至1984年間擔任該系的系主任,也曾任職於國家科學委員會和國防科學委員會。目前,他所從事的是計算機結構(computer architecture)、分子模型繪圖(molecular graphic),以及虛擬環境(virtual environment)方面的教學和研究。
用户评论
约4小时。好书总是难读的,大概也和我读的是台版的缘故,台版中的遣词用字跟大陆大相径庭,造成理解上隔了一层,因此读来稍慢。目前看来,第一次读完这本书最有收获的地方是对软件项目团队的理解加深一层。不过我所在的项目团队是小型团队,而书中所提到的团队是大型团队,相互间很难印证。
在软件领域,很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。Brooks博士为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks博士在IBM公司SYSTEM/360家族和OS/360中的项目管理经验,该项目堪称软件开发项目管理的典范。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄、中、韩等多种文字,全球销售数百万册。确立了其在行业内的经典地位。   在本书第一次出版32年后的今天,我们重新整理了Brooks博
有機會可以找一本給老闆看看...
[Classic] Software project management
收藏