人月神话
《人月神话(二十周年纪念版)》(弗雷德里克·布鲁克斯)读书笔记。
这本书讲了什么?
- 主题: 大型软件项目为什么难, 以及管理与技术上的应对办法;
- 素材: 作者 1964-1965 年主持 IBM OS/360 开发的失败经验, 加上对其他大型项目的访谈;
- 结构: 1975 年原著 15 章提出观点, 二十周年纪念版新增第 16-19 章做回顾和修正;
为什么读这本书要注意版本?
- 不一致: 新增章节会推翻或修正原著的部分结论, 例如"瀑布模型是错误的""信息隐藏, Parnas 是正确的, 我是错误的";
- 阅读方式: 笔记中把原著观点与作者 20 年后的修正分别标出, 避免把已被作者本人否定的结论当成结论;
- 时效: 生产率数据、工具和语言的结论有时代烙印, 引用时需核对当前实践;
如何阅读这组笔记?
- 篇幅: 普通笔记最多 144 行, 平均约 55 行;
- 顺序: 010 讲"为什么难", 020-040 讲"怎么组织", 050-090 讲"怎么做", 100 讲"靠谁做";
- 来源: 每篇笔记对应原著章节, 见下方覆盖表和各分组 README 的章节对照表;
各章节覆盖在哪里?
| 章节 | 覆盖位置 |
|---|---|
| 第1章 焦油坑 | 010-软件工程的本质/010、020 |
| 第2章 人月神话 | 020-人月与进度/010、030 |
| 第3章 外科手术队伍 | 040-团队与组织/010 |
| 第4章 贵族专制、民主政治和系统设计 | 030-概念完整性/010、020 |
| 第5章 画蛇添足 | 030-概念完整性/030 |
| 第6章 贯彻执行 | 030-概念完整性/040 |
| 第7章 为什么巴比伦塔会失败? | 040-团队与组织/020、030 |
| 第8章 胸有成竹 | 020-人月与进度/020 |
| 第9章 削足适履 | 050-设计与实现/010、020 |
| 第10章 提纲挈领 | 070-文档/010 |
| 第11章 未雨绸缪 | 080-演化与维护/010、020, 040-团队与组织/040 |
| 第12章 干将莫邪 | 090-工具与环境/010、020、030 |
| 第13章 整体部分 | 050-设计与实现/030, 060-测试与集成/010、020 |
| 第14章 祸起萧墙 | 020-人月与进度/030 |
| 第15章 另外一面 | 070-文档/020、030 |
| 第16章 没有银弹 | 010-软件工程的本质/030、040, 100-人与产品/020 |
| 第17章 再论《没有银弹》 | 010-软件工程的本质/030、040, 100-人与产品/030 |
| 第18章 观点:是或非? | 不单列--178 条论断已按主题分散到各笔记, 作者本人的修正就地标注 |
| 第19章 20年后的人月神话 | 030-概念完整性/050, 040-团队与组织/050, 080-演化与维护/030、040, 100-人与产品/010、030 |
| 第20章 结束语 | 010-软件工程的本质/050 |
| 两版序言 | 不单列--只提供成书背景, 无独立知识点 |