您的位置:首页 > 其它

【人月神话】第三章:外科手术队伍

2015-11-25 16:54 288 查看
最近在看《人月神话》,分享一下自己的读书笔记及个人的感受。希望能对大家有所帮助。

------------------

1.问题

矛盾的产生:

大型团队开发,任务过度细分,增加相互沟通交流的工作量和最后集成时进行系统调试的工作量,得不偿失,最后可能是:高成本、速度缓慢、低效、无法集成。所以系统应该由尽可能少的人员来开发。

但是,对于真正意义上的大型系统,一个小型团队的开发速度太慢,当项目开发完成时已经过时。

由此产生一个矛盾,那该如何来解决这个矛盾呢?

2.Mills的建议

解决方案:组建10人小团队,团队已类似外科手术的方式组建,并非一拥而上。



对于这样的10人小团队中,并不是再对项目进行细分,也不是每个人都参与项目的全程工作,而是主要由1~2主力来完成主要的工作。其组建的方式类似于外科手术队伍的模式,结构图如下:



在该10人小团队中,各个角色的划分和负责的工作如下表所示:

名称主要工作描述
外科医生(首席程序员)定义技术说明书、设计程序、编码、测试、书写文档等几乎所有工作需要极高天分,过强的专业知识和技能
副手外科医生的后备,详细了解所有的代码。
设计的思考者、讨论者、评估人员。
代表自己小组和其他小组沟通。
相对具有的经验较少
管理员控制财务、人员、工作地点和办公设备等。
充当与其他管理机构的接口。
可以为两个团队服务
编辑根据外科医生的草稿、口述,进行分析和重新组织,提供各种参考信息和书目,对多个版本进行维护,监督文档生成的机制。
文秘1(管理员文秘)负责项目的协作一致
文秘2(编辑的文秘)负责形成非产品文件
程序职员维护团队的技术记录,进行归档和编制索引。
控制程序的版本和程序的运行。
承担代码文件和可读文件的管理责任。
从文书等杂事中解放出来
工具维护人员保证所有工具服务的可靠性,并承担特殊工具的构建、维护和升级责任。
测试人员搭建测试平台,设计提供测试用例和数据,计划测试的步骤。
语言专家寻找一种简洁、有效的使用语言的方法来解决复杂晦涩或者棘手的问题。需要对技术进行一些研究。
可以同时为2~3个外科医生服务。

3.优势

(1)传统团队:将工作进行划分,每人负责一部分;在外科手术队伍中:首席程序员和副手了解所有的设计和全部的实现;好处是:节省了任务分配、集成、交流讨论等工作量。

(2)传统团队:出现观点差异时,需要讨论、妥协、让步,不同的意见造成策略和接口上的不一致;外科手术队伍中:对问题不分解,观点不一致由首席程序员单方面来统一,达到客观的一致性。

(3)外科手术队伍中:其他剩余人员智的分工高效,交流少,交流模式简单。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: