人月神话阅读笔记—第三章

人月神话阅读笔记—第三章

一个由一流人才组成的小型的精干的队伍比由一群平庸的程序员组成的大型团队更有效率,但是这里面有一个重要的问题:如何在有意义的进度安排内创建大型的系统。

优秀的程序员和较差的程序员之间生产效率的差距是巨大的,当一个10人的精干团队进行开发,和一个100个人的平庸程序员进行开发,前者的效率更高。但是对于效率和概念的完成性来说,最好由少数干练人员开发,而大型系统需要大量人员进行开发,但是这两者是有矛盾的,需要进行平衡。

在开发过程中,可以使用一种崭新的开发方案,类似于外科医生做手术的人员安排方案:外科医生-首席程序员,定义功能和性能技术说明书,设计程序,写代码,测试以及书写技术文档;副手-外科医生的后备人员,可以完成任何一部分工作,但经验不足;管理员-项目的老板;编辑-创建各种文档;两个文秘;程序职员-维护编程产品库中所有团队的技术记录;还需要工具维护人员,测试人员,语言专家。这种开发人员方案是根本的转换了编程观念,将产品看成是团队的产物,而不是个人财产。这种方案相当于一个人完成问题分解,其他人给予所需要的支持。

这种外科医生式的开发团队,保证了迫切性的需要,整个系统的代码方面是由一个人或者两个人思考的产物,这样的分配方式,节省了空间分配,磁盘访问等劳动量,并且在出现意见不一致时,可以由外科医生单方面来统一,并且剩余人员的专业化分工可以保证高效的开发。如果必须要一个大型的团队来进行开发时,需要每个部分的概念完整性彻底提高,外科医生最多为全部人员的3分之一即可。

 

 

过去的看法:

在进行软件开发中,开发人员越多越好,毕竟众人拾柴火焰高,任务分配的越细越好。

这样为什么不好:

一个小型的软件项目,如果很多人参与进行开发,那么每个人都有自己的见解,在进行交流时,会耗费更多的时间,人力和物力,所以大家一窝蜂的开发,并不是最好的方案。

解决办法:

软件开发不是人越多越好,而是需要那么几个精炼的程序员进行主要的开发即可,其他人可以进行其他方面必要的支持。

posted @ 2016-06-14 10:50  底云飞  阅读(261)  评论(0编辑  收藏  举报