Java教程

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

本文主要是介绍《人月神话》读书笔记(二),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第二章 人月神话

“在众多软件项目中,缺乏合理的进度安排是造成项目滞后的最主要原因”,为什么会缺乏合理的进度安排,布鲁克斯从以下几点进行了说明:

一、所有的编程人员都是乐观主义者
程序员对自己的任务进度都非常乐观:“一切都将运作良好”,“所有的任务都可以按时完成”。然而,程序员的构思是会有缺陷的,因此总会发现bug。如果每个任务都保持着太乐观的心态,一旦每个任务都延误了,那就是整个项目的大型崩溃现场了。

二、用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话
人月单位仅适用于以下场景:某个任务可以单独分配给参与人员,并且人员之间不需要相互交流。比如割小麦。因为软件系统开发是需要沟通交流的,参与系统开发的人员越多,沟通和交流的成本和工作量就越大。所以用人月来衡量系统开发的规模是近乎不可能的。

三、没有合理安排系统测试的时间
由于乐观主义的存在,通常系统出现的缺陷数量会比预料的要多得多。因此,合理安排系统测试时间,及时发现并修补缺陷是非常有必要的。研究发现,很少有项目为测试分配了一半的时间,但是大多数项目的测试实际上是花费了进度中一半的时间,许多项目,在测试之前能保持进度,一旦开始测试,暴露出问题时,项目就已经注定要延误了。对于软件进度的安排,布鲁克斯提供了他的经验法则:
1/3 计划;1/6 编码;1/4 软件测试和早期系统测试;1/4 系统测试

四、缺乏可靠的估算
可靠的估算需要数据支持,但是组织的数据往往不足以支持项目经理做出可靠的估算。因此我们需要在组织开发并推行生产率图表、缺陷率图表、估算规则等,收集更多的数据作为估算依据。
项目经理经常会为了满足客户期望的日期而进行了不合理的进度安排。但是,期望的紧迫程度是无法控制实际任务的完成情况的。就像煎一个鸡蛋需要两分钟,但是客户要求一分钟吃到鸡蛋,那客户就只能吃到一个生鸡蛋或者一个加大火力烤焦的鸡蛋。

五、当发现项目进度出现偏移时,下意识的反应是增加人力
布鲁克斯法则:“向进度落后的项目中增加人手,只会使项目进度更加落后”。
当发现项目进度出现偏移时,最好的做法应该是重新进行进度计划或者是削减任务。如果往项目里再增加新员工,新员工都需要接受一位有经验的成员的培训,中间还少不了对项目需求的各种互动交流,那么分配给原成员的工作计划和时间,就会分散到培训和交流的工作上,加的人越多,花费的时间越长。如此循环重复,只会让项目越做越糟。

这篇关于《人月神话》读书笔记(二)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!