人月神话阅读笔记其二————“焦油坑”与“外科手术队伍”
Posted yingxq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人月神话阅读笔记其二————“焦油坑”与“外科手术队伍”相关的知识,希望对你有一定的参考价值。
上次我们谈论到了人月神话,而焦油坑是作者提到的另一个有趣的概念,它是用来形容大型系统开发的。远古时期的恐龙、猛犸象这些大型食肉动物碰到焦油坑也是没有办法挣脱的,而且越用力就越容易被沉入坑底。这种场景就好比大型系统开发的工作。基本上一个大型的编程系统产品的开发成本会是单个的简单程序的9倍。这里的编程系统产品是指的由很多编程程序以及系统组合而成的可交互、协作的程序集合。我们每个人都应清晰的认识到这样一种非线性关系,认识到真正的大型编程系统产品并不是简单程序的简单堆叠。这也就是所谓的“焦油坑”。既然是明知是焦油坑,那我们为什么要跳进去呢?因为软件开发有其独有的的乐趣。比如创建事物的快乐、开发对其他人有用的东西的乐趣、面对不重复的任务不断学习的乐趣,或许这也是软件工程的魅力所在吧。
基于“焦油坑”以及“人月神话”,作者给出的一个解决办法是——“外科手术队伍”。分别是外科医生、管理员及其文秘、编辑及其文秘、副手、程序职员、工具维护人员、测试人员和语言专家。有研究表明,同样有两年经验而且受到同样培训的情况下,优秀的专业程序员的生产率是较差程序员的10倍。在软件项目中,一个小型的、精干的队伍是最好的,这样既减少了沟通成本,又提高了生产率。
但是对于大多数情况下的大型系统来说,小型精干的队伍往往意味着太慢。这就是矛盾的所在,对于效率和概念的完整性来说,最好由少数精干的人员来设计和开发,而对于大型系统来说,则需要大量的人手,以使产品能在时间是满足市场的需求。
以上是关于人月神话阅读笔记其二————“焦油坑”与“外科手术队伍”的主要内容,如果未能解决你的问题,请参考以下文章