《人月神话》读书笔记(八)

第八章 胸有成竹

这一章的开头标语是“实践是最好的老师,但智者还能从其他的地方有所收获”。本章引用了大量实践过程中的数据和图表,用来说明了估计开发工作量的技术。主要以单个程序员每年产生的指令代码行作为生产率的估计单位。

生产率也会根据任务本身的复杂度和困难程度表现出显著差异。因为我平时工作中几乎用不到这种估计的技术,这里就不详细讨论了。

第九章 削足适履

对项目经理而言,规模控制是技术工作的一部分,也是管理工作的一部分。他必须研究用户和用户需求,以设置待开发系统的规模。接着,把这些系统划分成若干部分,并设定每个部分的规模目标。这里我所理解的每部分的规模目标,就是项目管理中常说的“里程碑”。

在规模控制方面,布鲁克斯给我们分享了他在OS/360系统中得到的三点教训:
第一、应该制定总体规模的预算
这一点我的理解是,首先我们在给系统制定预算的时候,不能只考虑核心功能的运作正常,而是要考虑到整个系统是否能在预算范围内正常运作。一个需要2GB运行内存的系统,是无法在1GB内存的服务器上正常运行的。其次就是我们在制定预算的时候,可以适当的给自己预留一些空间,在实际工作的时候可以更灵活地进行分配。

第二、在指明规模有多大的同时,要确切定义模块的功能
开发人员在遇到问题的时候,会检查自己的任务目标。如果不属于自己或者当前阶段需要完成任务,他们就会看是否能把这些任务扔给其他人或者进行后置。因此我们在把一个系统分成多个里程碑的时候,每个里程碑需要确切定义需要完成的功能以及达到的目标,每个功能目标都要确切分配给相关的开发人员。

第三、项目规模本身很大,缺乏管理和沟通
为了满足目标,每个人都在局部优化自己的程序,很少有人会停下来,考虑一下对客户的整体影响。对大型项目而言,这种导向和缺乏沟通是最大的危险。因此培养开发人员从系统整体出发、面向用户的态度是软件编程管理人员最重要的职能。

你可能感兴趣的:(学习笔记,项目管理,人月神话)