人月神话阅读笔记之焦油坑和人月神话
第一次接触人月神话,曾经多次听老师提起这本书,我想这本书一定有它的闪光点。
焦油坑第一次听说这个名词,在此书中用它来形容过去大型系统的开发。其实在现在用来形容系统的开发也很合适。书中介绍编程软件的乐趣,烦恼,和枯燥。
对于编程系统这个职业,以前没有找到过它的乐趣,原因在于学不会。在人月神话这本书中介绍了这个职业的乐趣:首先是一种创建事物纯粹的快乐。其次是快乐来自于开发对其他人有用的东西。第三是整个过程体现出魔术般的力量。第四是学习的乐趣。最后乐趣来自于工作在如此易于驾驭的介质上。
编程不会仅仅带来这写乐趣,也有他的苦恼在里边:首先是必须追求完美;其次是由他人来设定目标,供给资源,提供信息。下一个烦恼概念性设计是有趣的,但寻找琐碎的bug却只是一项重复性的活动;另外,人们发现调试和查错往往是线性收敛的,或者更糟糕的是,具有二次方的复杂度。最后一个苦恼,有时也是一种无奈——当投入了大量辛苦的劳动,产品经常看到一些新闻说是软件项目停滞不前不能按时完成,那么这种现象在人月神话解释为:
首先是对估算缺乏有效的研究;第二,错误的将进度与工作量相互混杂;第三,软件经理通常不会耐心的进行估算这项工作;第四,对进度缺少跟踪和监督;第五,当意识到进度的偏移时,下意识的反应是增加人力。这几种情况对我的以后的工作会有很大的影响。在即将完成或者终于完成的时候,却已显得陈旧过时。