人月神话阅读笔记01
《人月神话》这本书,刚看到名字时,本以为是个有意思的神话故事,然而事实并不是如此。我也知道《人月神话》是本计算机类非常著名的书,也听说过这本书畅销全球。正是这书名和名气使我产生了兴趣。
我先浅读了这本书,我感觉这本书主要是针对软件开发管理方面的内容,这主要原因可能是因为作者以前就是项目的管理者,他是站在管理者的角度写的。当然,我也了解到人月神话的核心法则:概念完整性和架构师
这本书的前四章是比较有趣的,这里有焦油坑、人月神话、外科手术队伍、贵族专制、民主政治和系统设计。这些例子也许对于作者那个年代的人来说很好理解。
这本书的一开始就提到了软件危机如同焦油坑。焦油坑这一章里阐述了软件开发这一职业以及职业中的苦恼和乐趣。
其中乐趣包括创建事物的纯粹乐趣、开发对人有用的产品、开发过程产生的魔术般的力量、学习的乐趣等等。我觉得软件开发的乐趣在于一种从无到有的质变,就是产生一件可用的产品,创造出神奇的东西。
当然,苦恼也有很多。 将做事方式调整到追求完美,是学习编程的最困难部分。 由其他人来设定目标,并且必须依靠自己无法控制的事物。 真正的权威来自于每次任务的完成。 任何创造性活动都伴随着枯燥艰苦的劳动,编程也不例外。 人们通常期望项目在接近结束时(bug、工作时间)能收敛得快一些,然而软件项目的情况却是越接近完成,收敛得越慢。 产品在即将完成时总面临着陈旧过时的威胁。
在人月这一章,我有很大的感受:
我觉得我们围绕成本核算的估计技术,混淆了工作量和项目进展。人月是危险和带有欺骗性的神话,因为它暗示人员数量和时间是可以相互替换的。因为我们对自己的估计技术不确定,所以在管理和客户的压力下,我们常常缺乏坚持的勇气。一个谬误的思考方式是在估计和进度安排中使用的工作量单位:人月。成本的确随开发产品的人数和时间的不同,有着很大的变化,进度却不是如此。因此我认为用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话。 它暗示着人员数量和时间是可以相互替换的。