【人月神话】第三章:外科手术队伍
2015-11-25 16:54
288 查看
最近在看《人月神话》,分享一下自己的读书笔记及个人的感受。希望能对大家有所帮助。
------------------
大型团队开发,任务过度细分,增加相互沟通交流的工作量和最后集成时进行系统调试的工作量,得不偿失,最后可能是:高成本、速度缓慢、低效、无法集成。所以系统应该由尽可能少的人员来开发。
但是,对于真正意义上的大型系统,一个小型团队的开发速度太慢,当项目开发完成时已经过时。
由此产生一个矛盾,那该如何来解决这个矛盾呢?
对于这样的10人小团队中,并不是再对项目进行细分,也不是每个人都参与项目的全程工作,而是主要由1~2主力来完成主要的工作。其组建的方式类似于外科手术队伍的模式,结构图如下:
在该10人小团队中,各个角色的划分和负责的工作如下表所示:
(2)传统团队:出现观点差异时,需要讨论、妥协、让步,不同的意见造成策略和接口上的不一致;外科手术队伍中:对问题不分解,观点不一致由首席程序员单方面来统一,达到客观的一致性。
(3)外科手术队伍中:其他剩余人员智的分工高效,交流少,交流模式简单。
------------------
1.问题
矛盾的产生:大型团队开发,任务过度细分,增加相互沟通交流的工作量和最后集成时进行系统调试的工作量,得不偿失,最后可能是:高成本、速度缓慢、低效、无法集成。所以系统应该由尽可能少的人员来开发。
但是,对于真正意义上的大型系统,一个小型团队的开发速度太慢,当项目开发完成时已经过时。
由此产生一个矛盾,那该如何来解决这个矛盾呢?
2.Mills的建议
解决方案:组建10人小团队,团队已类似外科手术的方式组建,并非一拥而上。对于这样的10人小团队中,并不是再对项目进行细分,也不是每个人都参与项目的全程工作,而是主要由1~2主力来完成主要的工作。其组建的方式类似于外科手术队伍的模式,结构图如下:
在该10人小团队中,各个角色的划分和负责的工作如下表所示:
名称 | 主要工作 | 描述 |
外科医生(首席程序员) | 定义技术说明书、设计程序、编码、测试、书写文档等几乎所有工作 | 需要极高天分,过强的专业知识和技能 |
副手 | 外科医生的后备,详细了解所有的代码。 设计的思考者、讨论者、评估人员。 代表自己小组和其他小组沟通。 | 相对具有的经验较少 |
管理员 | 控制财务、人员、工作地点和办公设备等。 充当与其他管理机构的接口。 | 可以为两个团队服务 |
编辑 | 根据外科医生的草稿、口述,进行分析和重新组织,提供各种参考信息和书目,对多个版本进行维护,监督文档生成的机制。 | |
文秘1(管理员文秘) | 负责项目的协作一致 | |
文秘2(编辑的文秘) | 负责形成非产品文件 | |
程序职员 | 维护团队的技术记录,进行归档和编制索引。 控制程序的版本和程序的运行。 承担代码文件和可读文件的管理责任。 | 从文书等杂事中解放出来 |
工具维护人员 | 保证所有工具服务的可靠性,并承担特殊工具的构建、维护和升级责任。 | |
测试人员 | 搭建测试平台,设计提供测试用例和数据,计划测试的步骤。 | |
语言专家 | 寻找一种简洁、有效的使用语言的方法来解决复杂晦涩或者棘手的问题。 | 需要对技术进行一些研究。 可以同时为2~3个外科医生服务。 |
3.优势
(1)传统团队:将工作进行划分,每人负责一部分;在外科手术队伍中:首席程序员和副手了解所有的设计和全部的实现;好处是:节省了任务分配、集成、交流讨论等工作量。(2)传统团队:出现观点差异时,需要讨论、妥协、让步,不同的意见造成策略和接口上的不一致;外科手术队伍中:对问题不分解,观点不一致由首席程序员单方面来统一,达到客观的一致性。
(3)外科手术队伍中:其他剩余人员智的分工高效,交流少,交流模式简单。
相关文章推荐
- 图像处理中的卷积---1.卷积
- javaweb项目ajax的跨域访问问题
- 【Android】.9图的一个BUG?
- 判断一个字符串是否为另外一个字符串旋转之后的字符串。
- VIM入门配置
- SSH:Struts2框架(Tag标签的使用)
- OkHttp完全解析(四)连接Connections
- wget的下载JDK问题
- Ant如何打包UIAutomator项目用到的第三方JAR包
- android自定义权限
- Android Studio创建Android Library发布至本地仓库
- BitmapFactory
- 支付宝支付成功后验证失败
- Android开发sdk的相关问题
- js中的DOM操作汇总
- ASP.NET Razor - html中使用if else
- android 开发官网打不开
- 从尾到头打印链表
- http server与tomcat的区别
- OkHttp完全解析(三)并发