0 | 序言 | 维持产品自身的概念完整性。 |
1 | 焦油坑 | 学习编程最难的部分就是将做事的方式向追求完美的方向调整。 |
2 | 人月神话 | 在众多软件项目中,缺乏合理的进度安排是造成项目滞后的最主要原因,它比其它所有的因素加起来影响还要大。 |
3 | 外科手术队伍 | 同每个成员截取问题的某个部分的做法相反,由一个人来完成问题的分解,其他人给予其支持,以提高效率和生产力。 |
4 | 贵族专治、民主政治和系统设计 | 对于大型项目来说,将设计方法、体系结构与具体实现相分离是获得概念完整性强有力的方法 。 |
4 | 贵族专治、民主政治和系统设计 | 项目经理如何避免开发第二个系统所引起的后果,从而避免画蛇添足?必须坚持拥有至少两个系统以上的开发经验的结构师的决定 。 |
5 | 画蛇添足 | 项目经理如何避免开发第二个系统所引起的后果,从而避免画蛇添足?必须坚持拥有至少两个系统以上的开发经验的结构师的决定 。 |
6 | 贯彻执行 | 将定义书写成文字,必须对很多原先并不是非常重要的问题进行判断,并得出结论。 |
8 | 胸有成竹 | 对常用的编程语言来说,生产率是似乎是固定的;使用高级的编程语言,编程的生产率可以提高5倍。 |
9 | 削足适履 | 开发人员要有从系统整体出发和面向用户的态度。 |
10 | 提纲挈领 | 任何管理任务的关注焦点是时间、地点、任务、项目内容和资金。 |
11 | 未雨绸缪 | 对于一个广泛使用的程序来说。维护总成本通常是开发成本的40%或更多。 |
12 | 干将莫邪 | 每个骨干人员都仔细地保管自己工作生涯中搜集的一套工具集。 |
13 | 整体部分 | 关键的部分是产品的定义:细致的功能定义,仔细的规格说明、规范化的功能描述说明以及这些方法的实施,大大减少了系统中必须查找的bug数量。 |
13 | 整体部分 | 阶段化、定期变更。 |
14 | 祸起萧墙 | 好的里程碑对团队来说是一项服务。 |
15 | 另外一面 | “自文档化”的思想可以得到大规模的应用。 |
16 | 没有银弹 | 构建专家系统的前提条件是拥有专家。 |
16 | 没有银弹 | 最重要的工作是寻求培养优秀设计人员的途径。 |
16 | 没有银弹 | 产品的技术特色最终依赖于设计人员。 |
17 | 再论“没有银弹” | 思索的层次越高,所需要处理的基本思考要素也就越多。 |