人月神话(精简)剖析
人月神话——焦油坑
史前 今天
焦油坑
大型软件项目
吞噬
围困
• 图为洛杉矶自然历史博物 馆GeorgeC.Page馆内布拉 雷亚焦油坑的中生代情形 想象图原图
成千上万的巨兽
无数庞大的开发团体
人月神话——人月神话
• 精美的烹饪需要时间
• 软件开发项目常以人月来衡量工 作,这种度量暗示着人手和时间 是可以互换的。这种“人多力量 大”的想法是一种一厢情愿的虚 妄神话。 • Brooks法则:向滞后的软件项目 追加人手会使得进度更迟缓。
• 当时的专案经理Frederick P. Brooks, Jr.事后根据这项计划的开发经 验,写作《人月神话:软件项目管理之道》(The Mythical ManMonth: Essays on Software Engineering)记述人类工程史上一项里 程碑式的大型复杂软件系统开发经验。
• 在《人月神话》中,Brooks博士为人们管理复杂的项目提供了最具洞 察力的见解,既有很多引人深思的观点,又有大量软件工程的实践。
人月神话
• 人月:软件开发过程中衡量工作量的常用度量单位。 • 而在实际情况中,增加“人”并不能缩短“月”的量 • 为什么说人月是神话? (1)许多任务是无法拆解的 (2)即使任务可以拆解,人员之间的沟通交流时间随着 人手的增加以(n-1)*n/2的规模递增 • 如: 20人* 5个月 > 50人* 2个月
弗雷德里克· 布鲁克斯 Frederick P. Brooks, Jr.
弗雷德里克·布鲁克斯的经典著作——《人月神话》
• 2000年新年伊始,国际计算机协会(ACM)在纽约宣布 1999年图灵奖得住为时年为69岁的Frederick P. Brooks, Jr.。评选委员会主席在致辞中提到,“今天我们所看到的 计算机体系结构、软件工程及三维计算机图形,均受益于 Brooks 的开创性工作,是他改变了这些领域的面貌。 ”Brooks确实是一位在计算机科学各方面均作出杰出贡 献的奠基者。
人月神话
小组成员:
人月神话
人物简介:
• 美国工程院院士 • “IBM 360系统之父”,曾担 任360系统的项目经理,及该 项目设计阶段的经理。凭借在 此项目中的杰出贡献,在1985 年获得美国国家技术奖。 • 1999年荣获美国计算机领域最 具声望的图灵奖( A.M.TURINGAWARD)桂冠。
• 技术并非《人月神话》的着眼点,它更关注的是软件的创造过程、需 求的变化无常和管理的永恒困境。 • 《人月神话》的中心思想已经超越了具体的时代和技术。
名家谈人月神话
• 这是一本经典著作,与软件开发有关的每一个人都应该不只一遍地读 这本书。 ——Philippe Kruchten Rational 统一过程首席架构师 • 它仍然是计算机书籍中呗引用次数最多的书籍,而且即便本书最初出 版于1975年,其内容至今仍未过时。在阅读的时候,每隔几页不说一 句“对极了!”是很难受的。 ——Stee McConnell,Construx公司首席软件工程师
• 然而,他最广为认知的功绩则是在软件领域的重要经典著 作——《人月神话》,可以说正是此书让软件工程学进入 了人们的视野。
弗雷德里克·布鲁克斯的经典著作——《人月神话》
• 《人月神话》20周年纪念版
• 《人月神话》32周年纪念版
软件领域的神话 —— 一本畅销不衰的著作
• 在计算机这个日新月异的领域中,长盛不衰的书籍几乎是凤毛麟角的 。为什么《人月神话》的魅力能不因技术的更替而黯淡,反而能在这 多变的时代中证明自己的价值,乃至有了20年,32年的纪念版出现呢 ?
《人月神话》的由来
• IBM的System/360是第一个特大型软件项目,它催生了《人月神话》
《人月神话》的由来
• System/360的开发过程被视为计算机发展史上最大的一次豪赌,为了 研发System/360这台大型机,IBM决定征召六万多名新员工,创建五 座新工厂,而当时出货的时间不断的顺延。
• 概念完整性是系统设计中最 重要的因素,尤其对大型软 件系统来说,概念完整性是 项目顺利完成的必要保障。
• 图为Reims大教堂内景,位 于巴黎的Reims是建筑史上 最富盛名的哥特式教堂建筑 之一。
人月神话——画蛇添足
• 设计者往往不肯放弃任何一个 细枝末节的创意,从而堆砌出 不胜繁复的设计,看似完美, 并现实无可行性,往往会成为 头重脚轻的空中楼阁。 • 软件项目的规划必须进行严谨 理性的估算才能为项目的顺利 进展打下牢固的根基,避免不 必要的复杂化风险。
• 图为早年新奥尔良的安东尼奥 法式餐厅的菜单
人月神话——外科Biblioteka 术队伍• 建立一个外科手术团队那样分工明 细、合作有序的开发团队,是高效 率软件开发的重要保障之一。
• 图为合众社发布的帧外科手 术新闻照片
人月神话——贵族专制、民主政治和系统设计
• 自从设计师Jean d’Ordais 制订蓝图以后,继任的8位 建筑师都理解并遵从这一初 始设计的原则,保持了概念 的完整性,最终Reims成为 无与伦比的艺术精品。
《人月神话》目录
• • • • • • • • • • 第1章 焦油坑 第2章 人月神话 第3章 外科手术队伍 第4章 贵族专制、民主政 治和系统设计 第5章 画蛇添足 第6章 贯彻执行 第7章 为什么巴比伦塔会 失败 第8章 胸有成竹 第9章 削足适履 第10章 提纲挈领 • • • • • • 第11章 未雨绸缪 第12章 干将莫邪 第13章 整体部分 第14章 祸起萧墙 第15章 另外一面 第16章 没有银弹-软件 工程中的根本和次要问题 • 第17章 再论“没有银弹” • 第18章 《人月神话》的 观点:是与非 • 第19章 20年后的《人 月神话》
• 我唯一一本读过一遍以上的书,是Fred Brooks的《人月神话》,实 际上我每过一两年就会重读一遍。部分原因是这本书文笔很好,另外 就是书中的忠告很有价值,即使是25年以后。我非常推崇这本书,这 是我唯一能想起来的能从中体会到乐趣和思想的计算机学科书籍。 ——Brian Kernighan ,著名《C程序设计语言》的合著者之一。