zoukankan      html  css  js  c++  java
  • 人月神话阅读笔记02

    外科手术队伍

    问题

    矛盾的产生:

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

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

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

    Mills的建议

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

      外科医生(首席程序员):定义功能和性能技术说明书,设计程序,编制源代码,测试以及书写技术文档。

      副手:主要作用是作为设计的思考者、讨论者和评估人员。

      管理员:控制财务、人员、工作地点安排和机器,充当组织中其他管理机构的接口。

      编辑:根据外科医生的草稿或者口述的手稿,进行分析和重新组织,提供各种参考信息和书目,对多个版本进行维护以及监督文档生成的机制。

      两个秘书:管理员和编辑每个人需要一个文秘。管理员的文秘负责项目的协作一致和非产品文件。

      程序职员:维护编程产品库中所有团队的技术记录。

      工具维护人员:保证所有基本服务的可靠性,以及承担团队成员所需要的特殊工具(特别是交互式计算机服务)的构建、维护升级责任。

      测试人员:各个功能设计系统测试用例的对头,同时也是日常调试设计测试数据的助手。负责计划测试的步骤和为测试搭建测试平台。

      语言专家:寻找一种简洁、有效的使用语言的方法来解决复杂、晦涩或者棘手的问题。

        

    外科手术队伍和传统队伍的不同

    区别一:
    传统的队伍:将工作进行划分,每个人负责一部分工作的设计和实现。
    外科手术团队:首席程序员和副手都了解所有的设计和全部的代码。

    区别二:
    传统的队伍:成员是平等的,出现观点的差异时,不可避免地需要讨论和进行相互的妥协和让步。
    外科手术团队:不存在利益的差别,观点的不一致之处可以由首席程序员单方面来统一。

    优势

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

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

    (3)外科手术队伍中:其他剩余人员智的分工高效,交流少,交流模式简单。

     

  • 相关阅读:
    Node.js核心模块-net
    ie8兼容rgba写法
    Node.js核心模块-http
    Node.js核心模块-fs文件系统
    js监听滚动结束
    mac本地安装全局包报错npm WARN checkPermissions
    安全测试回顾(一)
    python学习笔记(二):python数据类型
    python学习笔记(一):python简介和入门
    Centos下安装Redis
  • 原文地址:https://www.cnblogs.com/xiaoxt/p/5588856.html
Copyright © 2011-2022 走看看