在软件领域,很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。Brooks博士为人们管理复杂项目提供了洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks博士在IBM公司SYSTEM/360家族和OS/360中的项目管理经验,该项目堪称软件开发项目管理的典范。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄、中、韩等多种文字,全球销售数百万册。确立了其在行业内的经典地位。
在《人月神话》及时次出版40年后的今天,我们重新整理了Brooks博士的经典内容,并将国内软件开发领域先行者们对《人月神话》中的实践及系统理论的使用经验和心得集结成册免费赠与大家共享,更使本书成为国内从业者的必读经典之一。
本书读者包括:软件开发人员、软件项目经理、系统分析师等IT从业者。
"图灵奖得主、"IBM 360系统之父"作者Brooks颠覆了项目管理领域,长久不衰传奇经典!
软件开发人员、软件项目经理、系统分析师等IT从业者必藏之软工圣经!
畅销全球40年!新版再发行
全球软工领域畅销的项目管理经典!
影响人力编程思想的牛著作之一!
推荐阅读:
小弗雷德里克布鲁克斯曾获得美国计算机领域声望的图灵奖(A. M. Turing Award)。美国计算机协会(ACM)称赞他"对计算机体系结构、操作系统和软件工程做出了里程碑式的贡献"。
布鲁克斯博士1956年开始任职于IBM公司,早期担任Stretch 和Harvest计算机的体系建构师。他被认为是"IBM 360系统之父",曾担任360系统的项目经理。凭借在此项目中的杰出贡献,他与Bob Evans和Erich Bloch在1985年获得了美国国家技术奖(National Medal of Technology)。
布鲁克斯博士创立了北卡罗来纳大学的计算机科学系,并于1965-1985年担任系主任。他还曾任职于美国国家科技局和国防科学技术委员会。目前其仍活跃于从事虚拟环境和科学可视化等方面的研究工作,2010年获得虚拟现实事业奖(IEEE Virtual Reality Career Award)。
第1章 焦油坑
编程系统产品
职业的乐趣
职业的苦恼
第2章 人月神话
乐观主义
人月
系统测试
空泛的估算
重复产生的进度灾难
第3章 外科手术队伍
问题
Mills的建议
如何运作
团队的扩建
第4章 贵族专制、民主政治和系统设计
概念的完整性
获得概念的完整性
贵族专制统治和民主政治
在等待时,实现人员应该做什么
第5章 画蛇添足
结构师的交互准则和机制
自律―― 开发第二个系统所带来的后果
第6章 贯彻执行
文档化的规格说明―― 手册
形式化定义
直接整合
会议和大会
多重实现
电话日志
产品测试
第7章 为什么巴比伦塔会失败
巴比伦塔的管理教训
大型编程项目中的交流
项目工作手册
大型编程项目的组织架构
第8章 胸有成竹
Portman的数据
Aron的数据
Harr的数据
OS/360的数据
Corbató的数据
第9章 削足适履
作为成本的程序空间
规模控制
空间技能
数据的表现形式是编程的根本
第10章 提纲挈领
计算机产品的文档
大学科系的文档
软件项目的文档
为什么要有正式的文档
第11章 未雨绸缪
试验性工厂和增大规模
不变的就是变化本身
为变更设计系统
为变更计划组织架构
前进两步,后退一步
前进一步,后退一步
第12章 干将莫邪
目标机器
辅助机器和数据服务
高级语言和交互式编程
第13章 整体部分
剔除bug的设计
构件单元调试
系统集成调试
第14章 祸起萧墙
里程碑还是沉重的负担
"其他的部分反正会落后"
地毯的下面
第15章 另外一面
需要什么样的文档
流程图
自文档化的程序
第16章 没有银弹
摘要
介绍
根本困难
以往解决次要困难的一些突破
银弹的希望
针对概念上根本问题的颇具前途的方法
第17章 再论"没有银弹"
人狼和其他恐怖传说
存在着银弹―― 就在这里
含糊的表达将会导致误解
Harel的分析
Jones的观点―― 质量带来生产率
那么,生产率的情形如何
面向对象编程―― 这颗铜质子弹可以吗
重用的情况怎样
学量的词汇―― 对软件重用的一个可预见但还没有被预言的问题
子弹的本质―― 形势没有发生改变
第18章 《人月神话》的观点:是与非
第1章 焦油坑
第2章 人月神话
第3章 外科手术队伍
第4章 贵族专制、民主政治和系统设计
第5章 画蛇添足
第6章 贯彻执行
第7章 为什么巴比伦塔会失败
第8章 胸有成竹
第9章 削足适履
第10章 提纲挈领
第11章 未雨绸缪
第12章 干将莫邪
第13章 整体部分
第14章 祸起萧墙
第15章 另外一面
第1版结束语
第19章 20年后的《人月神话》
为什么要出版20周年纪念版本
核心观点―― 概念完整性和结构师
开发第二个系统所引起的后果―― 盲目的功能和频率猜测
图形界面的成功
没有构建舍弃原型―― 瀑布模型是错误的
增量开发模型更佳―― 渐进地精化
关于信息隐藏,Parnas是正确的,我是错误的
人月到底有多少神话色彩?Boehm的模型和数据
人就是一切(或者说,几乎是一切
放弃权力的力量
最令人惊讶的新事物是什么?数百万的计算机
全新的软件产业―― 塑料薄膜包装的成品软件
买来开发―― 使用塑料包装的成品软件包作为构件
软件工程的状态和未来
结束语:令人向往、激动人心和充满乐趣的50年
注解与参考文献
附录:人月落地实战体验
一、名家谈人月
1. 年金
2. 《人月神话》与实践
3. Frank Chance评人月
4. 软件尚方宝剑(Silver Bullet)何在
二、名著评人月
三、读者感
史前史中,没有别的场景比巨兽们在焦油坑中垂死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越猛烈,焦油纠缠得就越紧,没有哪种猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们都沉到了坑底。
过去几十年的大型系统开发就犹如这样一个焦油坑,很多大型和强壮的动物在其中剧烈地挣扎。他们中大多数开发出了可运行的系统――不过只有极少数的项目满足了目标、进度和预算的要求。各种团队,大型的或小型的,庞杂的或精干的,一个接一个地淹没在了焦油坑中。表面上看起来好像没有任何一个单独的问题会导致困难,每个问题都能获得解决,但是当它们相互纠缠和累积在一起的时候,团队的行动就会变得越来越慢。对于问题的麻烦程度,每个人似乎都会感到惊讶,并且很难看清问题的本质。不过,如果我们想解决问题,就必须试图先去了解问题。
因此,首先让我们来认识一下系统开发这个职业,以及充满在这个职业中的乐趣和苦恼吧!
编程系统产品
报纸上经常会出现这样的新闻,讲述两个程序员如何在经过改造的简陋车库中,编出超过大型团队工作量的重要程序。接着,每个编程人员准备相信这样的神话,因为他知道自己能以超过产业化团队的1 000代码行/年的生产率来开发任何程序。
为什么不是所有的产业化队伍都会被这种专注的二人组合所替代?我们必须看一下产出的是什么。
图1-1的左上部分是程序(Program)。它本身是完整的,可以由作者在所开发的系统平台上运行。它通常是车库中产出的产品,以及作为单个程序员生产率的评估标准。
图1-1 编程系统产品的演进
有两种途径可以使程序转变成更有用但是成本更高的产物,这两种途径表现为图中的边界。
水平边界以下,程序转变成编程产品(Programming Product)。这是可以被任何人运行、测试、修复和扩展的程序。它可以在多种操作系统平台上运行,供多套数据使用。要成为通用的编程产品,程序必须按照普遍认可的风格来编写,特别是输入的范围和形式必须广泛地适用于所有可以合理使用的基本算法。接着,对程序进行彻底测试,确保它的稳定性和性,使其值得信赖。这就意味着必须准备、运行和记录详尽的测试用例库,用来检查输入的边界和范围。此外,要将程序提升为程序产品,还需要有完备的文档,每个人都可以加以使用、修复和扩展。经验数据表明,相同功能的编程产品的成本,至少是已调试的程序的成本的3倍。
回到图中,垂直边界的右边,程序转变成编程系统(Programming System)中的一个构件单元。它是在功能上能相互协作、具有规范的格式、可以进行交互的程序集合,并可以用来组装和搭建整个系统。要成为编程系统构件,程序必须按照一定的要求编制,使输入和输出在语法和语义上与定义的接口一致。同时程序还要符合预先定义的资源限制―― 内存空间、输入输出设备、计算机时间。,程序必须同其他系统构件单元一道,以任何能想象到的组合进行测试。由于测试用例会随着组合不断增加,所以测试的范围必须广泛。因为一些意想不到的交互会产生许多不易察觉的bug,测试工作将会非常耗时,因此相同功能的编程系统构件的成本至少是独立程序的3倍。如果系统有大量的组成单元,成本还会更高。
图1-1的右下部分代表编程系统产品(Programming Systems Product)。与以上的所有的简单的程序都不同的是,它的成本高达9倍。然而,只有它才是真正有用的产品,是大多数系统开发的目标。
职业的乐趣
编程为什么有趣?作为回报,它的从业者期望得到什么样的快乐?
首先,这种快乐是一种创建事物的纯粹快乐。如同小孩在玩泥巴时感到快乐一样,成年人喜欢创建事物,特别是自己进行设计。我想这种快乐是上帝创造世界的折射,一种呈现在每片独特的、崭新的树叶和雪花上的喜悦。
其次,这种快乐来自于开发对他人有用的东西。内心深处,我们期望我们的劳动成果能够被他人使用,并能对他们有所帮助。从这一角度而言,这同小孩用粘土为"爸爸的办公室"捏制铅笔盒没有任何本质的区别。
第三,快乐来自于整个过程体现出的一股强大的魅力―― 将相互啮合的零部件组装在一起,看到它们以精妙的方式运行着,并收到了预期的效果。比起弹球游戏机或自动电唱机所具有的迷人魅力,程序化的计算机毫不逊色。
第四,这种快乐是持续学习的快乐,它来自于这项工作的非重复特性。人们所面临的问题总有这样那样的不同,因而解决问题的人可以从中学习新的事物,有时是实践上的,有时是理论上的,或者兼而有之。
,这种快乐还来自于在易于驾驭的介质上工作。程序员,就像诗人一样,几乎仅仅在单纯的思考中工作。程序员凭空地运用自己的想象,来建造自己的"城堡"。很少有创造介质如此灵活,如此易于精炼和重建,如此容易实现概念上的设想(不过我们将会看到,容易驾驭的特性也有它自己的问题)。
然而程序毕竟同诗歌不同,它是实实在在的东西;它可以移动和运行,能独立产生可见的输出;它能打印结果,绘制图形,发出声音,移动支架。神话和传说中的魔术在我们的时代已变成现实。在键盘上键入正确的咒语,屏幕会活动、变幻,显示出前所未有的也不可能存在的事物。
编程的快乐在于它不仅满足了我们内心深处进行创造的渴望,而且还唤醒了每个人内心的情感。
我一本读过一遍以上的书,是Fred Brooks的《人月神话》,实际上我每过一两年都会重读一遍。部分原因是这本书文笔很好,另外就是书中的忠告很有价值,即使是在25年以后。当然,很多细节上的地方与我们做事情的方法有所不同。我们的工作更自动化,计算机的"马力"更强劲,但书中依然有许多好的忠告,因此,我非常推崇这本书。这是我能想起来的能从中体会到乐趣和思想的计算机科学书籍。
―― Brian Kernighan,名著《C程序设计语言》的合著者之一(与Dennis M. Ritchie合作
一共4本书 唯独这一本没有塑胶纸包装,封面还破了一点
还没有看,不过当当的售后真是不错,换书非常便捷,赞一个!
当当上买的第一本书,质量不错,纸质很好,书是人家推荐的
看这本书的过程中,我内心相当沉重,因为这是是一个直面缺陷的过程,这也恰恰证明了该书的价值
就书而言是非常喜欢的,不爽的书有些变形了,没保护好。
一直想买的软件工程经典读物~包装很结实,性价比高
一直想买好久了, 在当当16年店庆的活动上买到,真的很实惠,喜欢这本书,也喜欢网站给出的真正的优惠
书角稍微有点压痕呢。这本书是我在新华书店看到了,阅览了个大概,就马上下定决心买了,当当这边买了好几次了,挺不错的。
很网上推荐买的,已经看了前三章,非常不错,浅显易懂,项目管理的实用书
项目管理的经典必读书目。不论何时翻开都有新的收获。
经典图书啦,项目管理的葵花宝典,建议每一个技术开发者都读读,升级到40周年纪念版,每读一遍,感受都不相同,点赞!
发现可能境界没到,挺会还没有那么深刻,看来有机会还要多看几遍
书的经典已不用多说,只希望自己能认真读完,有所收获。
经典无需多说!可惜现实工作中N多人一直在重蹈覆辙!
40周年的人月神话就说明了问题,实用加理论结合,而且对实践工作有指导作用,,赞赞赞。。。
本书实在是经典的项目管理方面的书籍,都不用评论了。
no silver bullet. 很多观点随着进入行业越久越来越有体会。软件工程,或者是IT产业的发展离不开管理复杂度,离不开人。
书很不错朋友推荐,当当买书更实惠,书更好,好书是学习奋斗开始!经典必备 撸起
经典的著作,软件开发人员的圣经,都是用来形容这本书的。不需要太多的解释,书与时间会给予答案。
不朽的经典。这是第二次买了,上一次是十年前,现在买来纪念下。
项目管理的经典,但是当时不是想要项目管理的,,有时间的话,看下应该也是可以的
虽然是40多年前的文章,但是放到今天仍然非常有借鉴价值,按照人月进行度量在今天仍然大行其道。
码农拯救世界的说明书!虽然是40多年前的文章,但是放到今天仍然非常有借鉴价值,按照人月进行度量在今天仍然大行其道。
这个版本的不值得买来看,本来是一个小册子,出版社非得加些无须有的内容充数,以成为一本厚书,然后定个高价,排版可以看出极尽延长页数,绝好的经典被毁了,可惜!
软件工程的不朽经典,项目管理者必读。这本书收录了许多失败项目的经验教训,值得我们仔细品味
软件工程领域的神话。但是该书确实太老了,40周年!!!但是读经典能常读常新。为了向先驱们致敬也好,为了找点子也好,也还是很建议读一读的。
新增了近十年名作解析、名家赏读。40周年版一出又买了本珍藏,对我的工作帮助非常大,正向书中所说,这是一本经典著作,与软件开发有关的每一个人都应该不止一次的读这本书,超值的作品,枕边书,不多说
这本书是在勉强看了一半,内容很差劲,浪费了钱和时间。最后悔的一本书。不针对当当,不针对商家,只评论内容。
新增了近十年名作解析、名家赏读。40周年版一出又买了本珍藏,对我的工作帮助非常大,正向书中所说,这是一本经典著作,与软件开发有关的每一个人都应该不止一次的读这本书,超值的作品,枕边书,不多说