今天这篇阅读笔记主要讨论《人月神话》中的“人月神话”。首先介绍一下什么是人月神话。我以前听人月神话的时候总是觉得很玄幻,以为这是一个神话故事之类的。但是经过阅读发现,人月神话并不是神话故事。这是一种软件开发过程中的度量单位。估计完成一个项目大概需要多长时间,比如需要12人月,则可以理解为需要3个人工作4个月。
那么怎么又称为神话呢?因为使用人月这种度量方式,在很多情况下衡量一个一项工作的规模是一个危险和带有欺骗性的神话。而本章节作者就用一系列的数据和严谨的推论告诉读者这种项目延期就堆人的条件条件反射只会火上浇油。人和月的互换只能是一个神话,就像“一个孕妇怀胎十月,十个孕妇怀胎一月就能生孩子”。因为在以上关于人月的介绍中,根据这种计算方式,似乎人和月是可以等价互换,互相补充弥补的,但实际情况并不是如此。并不能用增加人的数量来减少开发的周期,这是一种愚蠢的想法和做法。
人们在对项目进行估计的时候往往是非常乐观的,这是我们应该保持的一种良好的心态,但是我们更要从实际问题出发,遵循客观规律,不能盲目的乐观。当人月可以互为转化时,这说明这个项目的每个模块的关联性很小,团队成员之间的交流也不会很多,而且交流起来会非常简单,只有基于这种情况下,人月的内涵才能够充分的得到体现,这种度量方式才能很好的阐述人月可以等价互换的理念。但是事实往往并非如此。每一个项目,项目的各个模块的联系都是非常紧密的,而且很多模块之间是由时间先后顺序的,这些因素决定了人月模型并不适合。当人的数量大大增加时,并不能有效的缩短项目的完成时间,相反,还可能会增加项目的时间。