人月神话阅读笔记 05
《人月神话》顾名思义,是在估计和进度安排中使用的工作量单位:人月。但作者认为“用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话”。
人数和时间的互换仅仅适用于以下情况:某个任务可以分解给参与人员,并且他们之间不需要相互的交流。这在割小麦或收获棉花的工作中是可行的;而在系统编程
中近乎不可能。
关于系统测试:“在时间进度中,顺序限制所造成的影响,没有哪个部分比单元调试和系统测试所受到的牵涉更彻底。而且,要求的时间依赖于所遇到的错误、缺陷数量以及捕捉它们的程度。理论上,缺陷的数量应该为零。但是,由于我们的乐观主义,通常实际出现的缺陷数量比预料的要多得多。因此,系统测试进度的安排常常是编程中最不合理的部分。”
对于软件任务的进度安排,以下是作者使用了多年的经验法则:
1/3计划;1/6编码;1/4构件测试和早期系统测试;1/4系统测试,所有的构件已完成
在许多重要的方面,它与传统的进度安排方法不同:
1. 分配给计划的时间比寻常的多。即便如此,仍不足以产生详细和稳定的计划规格说明,也不足以容纳对全新技术的研究和摸索。
2. 对所完成代码的调试和测试,投入近一半的时间,比平常的安排多很多。
3. 容易估计的部分,即编码,仅仅分配了六分之一的时间。
总的来说,这几天的阅读,让我了解了软件开发过程中的时间分配问题。也了解到了合理分配时间在软件开发中的重要性。