人月神话
1、 缺乏合理的时间进度是造成项目滞后的最主要原因, 它比其他所有因素加起来影响还大。
2、 良好的烹饪需要时间,某些任务无法在不损害结果的情况下加快速度。
3、 所有的编程人员都是乐观主义者:“一切都将运作良好”。
4、 由于编程人员通过纯粹的思维活动来开发, 所以我们期待在实现过程中不会碰到困难。
5、 但是,我们的构思是有缺陷的,因此总会有 bug。
6、 我们围绕成本核算的估计技术, 混淆了工作量和项目进展。 人月是危险和带有欺骗性的神话,因为它暗示人员数量和时间是可以相互替换的。
在估计和进度安排中使用的工作量单位:人月。成本的确随开发产品的人数和时间的不同, 有着很大的变化, 进度却不是如此。
7、 在若干人员中分解任务会引发额外的沟通工作量——培训和相互沟通。
8、 关于进度安排,我的经验是为 1/3 计划、 1/6 编码、 1/4 构件测试以及 1/4 系统测试。
9、 作为一个学科,我们缺乏数据估计。
10、因为我们对自己的估计技术不确定, 所以在管理和客户的压力下, 我们常常缺乏坚持的勇气。
为了满足顾客期望的日期而造成的不合理进度安排, 在软件领域中却比其他的任何工程领域要普遍得多。 而且, 非阶段化方法的采用, 少得可怜的数据支持, 加上完全借助软件经理的直觉,这样的方式很难生产出健壮可靠和规避风险的估计。
11、Brook 法则:向进度落后的项目中增加人手,只会使进度更加落后。
12、向软件项目中增派人手从三个方面增加了项目必要的总体工作量: 任务重新分配本身和所造成的工作中断;培训新人员;额外的相互沟通。