人月神话第三章讲的是团队开发中的成员配置。一般来说,由一流人才组成的小型、精干的队伍要比那些几百人组成的大型团队要有效率的多。但是小型精干的队伍有一定的局限性,对于真正意义上的大型的系统太慢了。所以这就涉及到了一个问题--如何在有意义的进度安排内创建大型的系统?小型的系统更能符合效率和概念的完整性要求,大量的人手适用于大型系统。
这里书中说到了外科手术这样的一种模式。这个方法由Harlan Mills提出,主要内容就是每一个部分由一个团队解决,以外科手术的模式组建,所有人受并非一拥而上。我们软件工程概论课程的小项目在完成的时候就是大家每个人负责一个部分,最后结合在一起。
在一个完整的外科手术模式中有几个重要的角色。首席程序员--具有极高的天分、十年的经验和应用数学、业务数据处理或其他方面大量系统知识和应用知识。副手--需要详细了解所有的代码,研究设计策略的备选方案。管理员--一个控制财务、人员、工作地点和办公设备的专业管理人员,充当与组织汇总其他管理机构的借口。编辑--分析和重新组织,提供各种参考信息和树木,对多个版本进行维护,并监督文档的生成机制。文秘--负责项目的协作一致和非产品工作。程序职员--接受文秘性质的培训,承担机器码文件和可读文件的相关管理责任。工具维护人员、测试人员以及语言专家。
于用户而言,系统是一个或两个人来使用的,因此外科手术的参与人员要在概念上达到高度一致,就像一台手术中所有的医生护士都是为了同一个手术在努力。但是一个外科手术模式的团队中,有大多数人在解决核心问题,剩下几个人在处理其他事物。但是剩下的这些成员的专业化分工是高效的关键,能够使成员之间的交流沟通变得简单。
在小项目的要求下,这些可以实现了。但是扩展到大系统中。这就要求提高每个部分的概念完整性。
学习了人月神话的前三章,我了解到了软件工程的乐趣与苦恼共存,同时又充斥着许多的问题,我们解决问题要具有全面性,放在全局考虑,在小项目和大项目中都是如此。
总而言之,《人月神话》这本书在将来我们进入团队开发后将具有重要的意义,所以我们要在团队开发初期学习这种开发的模式,为将来打个好的基础。