红楚方

 找回密码
 立即注册
查看: 136|回复: 1

人月神话-4.外科手术队伍

[复制链接]

2

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-12-2 14:41:45 | 显示全部楼层 |阅读模式
   问题



在一个研究中,程序员水平导致的效率差距,生产效率是10:1,运行速度和空间上达到了5:1。简而言之,薪水差距两倍的程序员的效率差距可能是10倍
之前我们讨论了协作沟通产生的开发成本,及其产生的不良结果(系统调试)。这也暗示系统开发的人员需要尽可能少。
但是大型系统,如果采用小团体的方式来开发,那么开发时间就太久了,市场是不会等的。这时就面临进退两难的进地。对于效率和概念的完整性来说,最好由少数人来设计和开发,但是大型系统又需要大量的人手,以满足时间上的要求,如果调和这个矛盾呢?


Mills的建议



Harlan Mills提出了一个解决方案。大型项目的每个部分由一个团队解决,但是该队伍以类似外科手术的方式组件,而非一拥而上。也就是说,由一个人来进行问题的分解,其他人给与支持,以提高效率和生产力。我们下面来讨论一下它是否可行,工作如何划分。
外科医生
首席程序员,亲自定义功能和性能技术说明书,设计程序,编写源代码,测试以及书写技术文档,管理程序版本。首席程序员需要极高的水平,经验和来自业务,数据,系统和其他方面的知识。
副手
外科医生的后备,能完成任何一部分的工作,相对缺少经验。主要作用是作为设计的思考者,讨论者和评估人员,为外科医生提供建议。副手通常作为代表去和其他团队进行功能和接口的沟通。显然,他充当外科医生的保险机制,但是对代码的任何部分,不承担专门的开发职责。
管理员
外科医生是leader,他必须在人员、薪酬方面具有决定权,但他不会在这方面投入太多。因此,需要一个控制财务、人员、工作安排的管理人员,该管理员也负责同组织整体的管理机构对接。管理员通常无需专门服务一个团队。
编辑
外科医生负责产生文档,出于最大清晰度的考虑,他必须书写文档,无论是内部文档还是外部的。而编辑根据底稿,进行分析和组织,并进行版本管理和监督。
秘书
管理员和编辑需要秘书以保证项目的协作一致
程序职员
负责维护编程产品库中所有团队的技术记录。承担机器码文件和可读文件的相关管理责任。所有相关的文件都汇总到职员处,由他进行归档和编制索引。另外,他负责将模型的最新运行情况记录在状态日志中,并将记录按时间顺序归档。
Mills概念的真正核心是“从个人艺术到公共实践”的编程概念转换。专业化分工,使程序员从杂事中解放出来,同时还能对其进行系统整理,确保了质量。程序职员控制所有程序的运行,并使用自己的交互式工具来控制产品的完整性和有效性
工具维护人员
保证所有基本服务的可靠性,以及承担团队成员所需的特殊工具的构建、维护和升级。维护人员常常需要开发一些实用程序、编制具有目录的过程和宏。
测试人员
需要大量的测试用例,来对编写的内容进行测试。因此,测试人员既是创建测试用例的对头,也是日常调试中设计测试数据的助手。还负责测试计划的步骤和搭建测试平台。
语言专家
大多数计算机项目中,总有一两个乐于掌握复杂编程语言的人。这些专家不同于外科医生,外科医生主要是系统设计者以及考虑系统的整体表现,而语言专家则寻找一种简洁、有效的使用语言的方法来解决复杂和棘手的问题。通常语言专家可以为多个外科医生服务。


如何运作



我们上面定义的开发团队中,十个人有七个人负有专门的职责来解决问题,而系统是由一个或两个人来创建的,因此能够保持概念的一致性。
相较于传统团队,外科手术团队中,外科医生和副手是了解所有的设计和全部的代码。节省了分配和说明的工作量,同时也确保了概念上的完整性。
第二,传统队伍中,成员是平等的,有观点差异时,不可避免的需要讨论以及妥协和让步。由于视角和资源的不同,会产生不同的观点,最终的结果需要整合这些观点。在外科手术队伍中,没有这种冲突,观点由外科医生统一。
另外,团队中其他成员的职能分化是高效的关键,能够使成员之间采用非常简单的交流模式。




  
团队的扩建



当我们面对大型任务时,如何应用外科手术团队的概念呢。
团队创建的核心是每个部分的概念由外科医生来主导,因此200人的团队,决策人只需要20人。
对于整个系统概念上的完整性,需要一个系统结构师从上至下地进行所有的设计。必须清晰地划分体系结构设计和实现之间的界限,系统结构师必须一丝不苟地专注于体系结构。
回复

使用道具 举报

0

主题

2

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 7 天前 | 显示全部楼层
呵呵。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|红楚方

GMT+8, 2025-4-6 08:44 , Processed in 0.217755 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表