`
saybody
  • 浏览: 927534 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

书评:《人月神话》——不朽的软件工程名著

阅读更多

  已经有好几周没有写书评了,今天突然想起来要写一写。由于上次的书评 是 关于C++的,今天打算写写软件工程方面的。对于软件工程而言,我个人认为到目前为止,尚未有哪本书的影响力和深刻程度能够超越《人月神话》(全名是:The Mythical Man-Month -- Essay on Software Engineering)。于是考虑来聊一下鼎鼎大名的《人月神话》。如果你已经熟读此书,并且自认为深刻掌握其精华,本帖子你就不必再看了。<!-- program-think-->

  ★作者及写书的背景
  根据“如何选择IT书籍 ”里面提到的经验,作者是书籍质量的一个主要保证。所以我先来八卦一下《人月神话》的作者:Frederick Phillips Brooks (以下简称Brooks)。这位老兄最牛X的成就是在60年代 (他当时才29 岁)主持并完成了一个同样很牛X的IBM 360 系统的开发。IBM 360 后来被誉为是人类从原子能时代进入信息时代的标志。该项目不光具有历史意义,而且在软件工程方面非常有代表性(因为其规模和复杂度)。为了给大伙儿加深印象,列举该项目的几个数据如下:
--------------------------------
软件人员总数  2000 四十年后,微软的Windows 2003团队也就5000人
软件总费用   5亿$ 发明第一个原子弹的曼哈顿工程也不过才花20亿$
开发周期    4年
--------------------------------
注意,上述仅仅是软件方面的统计。

  最终,IBM 360 项目并没有完成全部的预定目标,但是对于这个史无前例的项目,居然没有中途夭折,本身已经算是奇迹了。后来,Brooks在1975 年(距今已30多年)把他所写的一些软件工程方面的随笔(很多都与360项目有关)整理出版,也就是我们今天点评的《人月神话》。

  ★本书的结构
  前面已经说了,Brooks当年是把他写过的一些随笔整理出书的,所以书中的各个章节相对来说比较独立。因此你不一定按照排版的顺序来阅读。比如俺每次重读这本书都只是挑选其中一两个章节来看。

  ★本书的看点
  虽然本书的每个章节都称得上是经典,但限于篇幅,只把俺印象最深刻的几章介绍一下。

  ◇第2章,关于“人月 ”的误导
  这是本书最有名气的章节。在本章,Brooks明确反对使用“人月”这个极具欺骗性的度量单位。因为人月 这个称谓暗示着“人”和“月”是可以互换的。
  即使到今天为止,还是有大量的编程人员、测试人员、项目经理和软件公司老板在错误地使用人月 来衡量软件开发的工作量,实际上,当某人宣称某工作量是6个人月时,这句话本身是没有太大意义的。一般来说,1个人干6个月的工作,6个人在1个月内几乎很难完成。所以俺在沟通工作量时,都会明确地讲清楚,需要几个人干几个月。
  另外,Brooks根据人月的不可互换推导出一个怪论:向进度落后的项目增加人手会导致项目更加落后 。这个怪论是如此出名,以至于后来被称为“Brooks法则 ”。这个法则蛮有用滴,每当有上级领导企图通过增加人手来赶进度时(往往在项目后期),俺都会搬出这个法则来拒绝这种企图。

  ◇第3章,关于团队的组成
  为了解决前几章中提到的大型团队的种种困难,Brooks提出了一种新的解决方案:把大型团队拆分为若干个类似于外科手术式的小团队。
  每个小团队有一名主程序员(类似于主刀医生),所有的问题分解和功能定义都通过主程序员来完成,以此来降低沟通成本。并且,每个主程序员配备若干个平庸的人帮他/她打下手,也很符合现实情况(还记得“二八原理系列 ”中提到的优秀人员和平庸人员的比例吗?)。具体的角色职责我就不细说了,书上都有。

  ◇第16、17章,关于“没有银弹 ”的大实话
  实际上第16章“没有银弹”的内容来自于作者在1986年作的报告,后来才加入书中。第17章“再论没有银弹”是20周年版加入的。
  据作者在本书的“20周年纪念版”中宣称,“没有银弹”是引发最多争议的章节。不过我个人认为:虽然引发最多争议,但是这两章却是全书最重要、最深刻且最有价值的章节。即使你从事的工作和软件工程无关,你也应该认真阅读它。
  Brooks在第16章分析了软件开发的根本性困难 (复杂性、非一致性、易变性和不可见性)和次要性困难 。分析完根本性困难和次要性困难之后,作者断言:未来十年内,不可能 有某种技术突破(银弹)能够彻底解决根本性困难 ,从而导致软件开发效率有数量级 的提高。
   现在,时间已经过去了远远不止十年。在“没有银弹”发表之后,软件界冒出了数不清的新玩意儿(比如面向对象、组件技术、设计模式、CMM、UML、敏捷开发、RAD、等等),很多新玩意儿的创造者都号称他们发明了银弹。但实际上没有哪个新技术能够经受住时间的考验并真正获得银弹的称号。

  ★俺的建议
  啰嗦了这么多,最后来说说俺的几点建议:
  如果你从来没有看过本书,那赶紧去找一本来,并全部读一遍(不一定要按顺序看)。
  如果你以前看的是老版本,那赶紧去找来新版(20周年纪念版),并重点看看增补的4个章节。
  如果你已经把新版全部看完,今后可以考虑定期(例如每隔一两年)再拿出来翻一翻。
  另外,此书在网上有20周年纪念版的中文版和英文版可供下载,喜欢看电子书的同学Google一下即可寻获。


版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想 和本文原始地址:

http://program-think.blogspot.com/2009/03/book-review-mythical-man-month.html

分享到:
评论

相关推荐

    人月神话软件工程不朽经典

    ### 人月神话软件工程不朽经典 #### 关键知识点概览 - **书籍背景**:《人月神话》由Frederick P. Brooks, Jr.撰写,首次出版于1975年,至今仍被视为软件工程领域的经典之作。 - **作者简介**:Frederick P. ...

    人月神话(IBM工程师写的书)

    《人月神话》是由Frederick P....对于所有从事软件开发和项目管理的人来说,阅读《人月神话》不仅是一种学习,更是一种致敬——向那些在软件工程领域探索、实践并最终留下不朽印记的先驱者们致敬。

    人月神话中文版

    在软件工程领域,《人月神话》一直被视为一部不朽的杰作。自从1975年首次出版以来,由弗雷德里克·布鲁克斯(Frederick P. Brooks Jr.)所撰写的这本书,便以其深刻的分析和前瞻性的视角,为整个行业的进步提供了...

    传统文化第四讲:兵家传奇——说说孙子兵法的孙子.pdf

    《孙子兵法》全书共分为十三篇,每篇都精辟论述了战争和战略的原则,从军事组织、战术运用到战争心理和情报分析等方面,提出了许多不朽的战略原则,如“知己知彼,百战不殆”和“不战而屈人之兵”。这些思想不仅在...

    历年中考语文试题分类汇编——名著阅读.doc

    12. 《名人传》中的贝多芬,尽管贫穷且失聪,但他创作出不朽的音乐,表现了坚韧不屈的精神。 13. 描述制作木筏的情节出自《鲁滨逊漂流记》,而不是《骆驼祥子》或《格列佛游记》。 这些知识点涵盖了中国古典文学、...

    贝多芬致不朽的爱人的情书.doc

    【标题】:“贝多芬致不朽的爱人的情书”——音乐巨匠的情感世界 【描述】:这是一封贝多芬未曾寄出的情书,展现了这位音乐大师深沉而热烈的情感,表达了他对未知“不朽爱人”的无尽思念与执着。 【标签】:“范文...

    六大名著导读 三国演义-论文.zip

    《三国演义》是中国古代文学中的经典之...通过这份论文,我们可以期待作者对《三国演义》的深度剖析,不仅限于历史与文学层面,可能还会涵盖社会、心理等多个维度,为我们提供一个全面而深刻的理解这部不朽名著的机会。

    第一讲:创世神话与中华原始文化.docx

    她为华夏民族完成了两件不朽的功勋:一件是她用绳子作肢体,黄泥作皮肉,创造了人;另一件是冶炼五色石,补救了因共工和祝融在不周山决斗而撞破的苍天。所以她应该是华夏族真正的“上帝”,她既是人类的创世神,又是...

    代码不朽 - 编写可维护软件的10大要则 带目录

    代码不朽 - 编写可维护软件的10大要则 带目录, 扫描, 非文字版

    中国银行员工百年庆演讲稿:风雨同舟 百年不朽.doc

    中国银行员工百年庆演讲稿:风雨同舟 百年不朽.doc

    基础练习┃部编版小学6年级上册:27有的人纪念鲁迅有感.docx

    - 不朽——永恒:都表示永远不会消逝,常用来形容伟大的作品或精神。 - 摔垮——摔坏:均表示因摔倒而导致物体或人的损伤。 - 抬举——器重:都表示对某人给予重视和赞赏,提高其地位或影响力。 3. **反义词**:...

    部编版六年级上册语文有的人——纪念鲁迅有感类文阅读-27有的人——纪念鲁迅有感.pdf

    如今,在部编版六年级上册语文课本中,有一篇专门纪念鲁迅的文章——《有的人——纪念鲁迅有感》,让我们有机会通过文字去缅怀这位伟大的文学巨匠。 文章分为两个部分,第一部分《悼鲁迅先生(节选)》通过描述鲁迅...

    人教版六年级语文上册27《有的人——纪念鲁迅有感》教案.pdf

    人教版六年级上册语文教材中,27课《有的人——纪念鲁迅有感》是著名诗人臧克家为纪念鲁迅先生所作的一首诗。该诗通过对不同人物行为和影响的对比,揭示了深刻的主题思想,不仅表达了对鲁迅先生的崇高敬意,还反映了...

    名著读后感之四大名著读后感.doc

    四大名著,即《西游记》、《红楼梦》、《水浒传》和《三国演义》,自诞生以来便成为中国文学史上不可逾越的高峰。它们以其各自独特的艺术风格和深邃的思想价值,影响了无数代中国人的心灵成长。通过对这四大名著的...

    《白雪公主》读书笔记名著书评.docx

    《白雪公主》作为格林兄弟的不朽童话作品,其深厚的文化底蕴和道德教育意义一直被人们传颂。这个故事中的人物形象、情节发展以及主题内涵,不仅给予了无数读者以感动和启迪,更在潜移默化中引导着人们的道德行为和...

    六年级上册语文作业课件-27 有的人——纪念鲁迅有感 人教部编版(共19张PPT).pptx

    这篇内容主要围绕的是小学六年级上册语文课程中的一篇课文——《有的人——纪念鲁迅有感》,这是一份由人教部编版制作的课件,共有19张PPT。课文通过学习,旨在让学生了解并理解鲁迅先生的精神品质,并进行相关语言...

    河北省邢台市2020年中考语文 模块复习总结 专题六 名著阅读素材.doc

    例如,孟子的名言“天将降大任于是人也,必先苦其心志,劳其筋骨……”在《名人传》的三位主人公——贝多芬、米开朗基罗和托尔斯泰身上得到体现。以贝多芬为例,他在面对身体残疾、疾病和失聪的困境时,依然坚定信念...

    2022年名著阅读发言稿[Word稿].doc

    通过阅读名著,我们得以与历史对话,洞察人性的复杂,领略到那些跨越时间的不朽精神力量。 经典名著的教育作用不容忽视。它们在提升我们文化素养和道德情操方面扮演着重要角色。以中国古代四大名著之一的《水浒传》...

    不朽的艺术:走进大师与经典课后答案.pdf

    不朽的艺术:走进大师与经典课后答案.pdf 在这个文件中,我们可以看到对艺术的深入探索和分析。从 setTitle 中,我们可以看到,这是一个关于艺术的课程答案,旨在帮助学生更好地理解艺术的本质和发展历程。 在描述...

Global site tag (gtag.js) - Google Analytics