跳到主要内容

人月神话

《人月神话(二十周年纪念版)》(弗雷德里克·布鲁克斯)读书笔记。

这本书讲了什么?​

  • 主题: 大型软件项目为什么难, 以及管理与技术上的应对办法;
  • 素材: 作者 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
两版序言不单列--只提供成书背景, 无独立知识点