The Surgical Team

3外科手术队伍(The Surgical Team)
   
      10人程序开发队伍的沟通模式

                                      外科医生
                                      | |     \\\\
                          管理员 -----| |        |--副手
                            |           |        |
                          秘书          |        |--程序职员
                                        |        |
                          编辑 ---------|        |--工具维护人员
                            |                    |
                          秘书                   |--测试人员
                                                 |
                                                 |--语言专家


     外科医生。Mills称之为首席程序员。他亲自定义功能和性能技术说明书,设计程序,编制源代码,测试以及书写技术文档。他使用例如

PL/I的结构化编程语言,拥有对计算机系统的访问能力;该计算机系统不仅仅能进行测试,还存储程序的各种版本,以允许简单的文件更新,

并对他的文档提供文本编辑能力。首席程序员需要极高的天分、十年的经验和应用数学、业务数据处理或其他方面的大量系统和应用知识。

     副手。他是外科医生的后备,能完成任何一部分工作,但是相对具有较少的经验。他的主要作用是作为设计的思考者、讨论者和评估人

员。

     管理员:一个控制财务、人员、工作地点安排和机器的专业管理人员,该管理员充当与组织中其他管理机构的接口.
    
     编辑:编辑根据外科医生的草稿或者口述的手稿,进行分析和重新组织,提供各种参考信息和书目,对多个版本进行维护以及监督文档生

成的机制.

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

     程序职员。他负责维护编程产品库中所有团队的技术记录。该职员接受秘书性质的培训,承担机器码文件和可读文件的相关管理责任。

所有的计算机输入汇集到这个职员处。如果需要,他会对它们进行记录或者标识。输出列表会提交给程序职员,由他进行归档和编制索引。另

外,他负责将任何模型的最新运行情况记录在状态日志中,而所有以前的结果则按时间顺序进行归档保存。

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

级责任。

    测试人员。外科医生需要大量合适的测试用例,用来对他所编写的工作片段,以及对整个工作进行测试。因此,测试人员既是为他的各个

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

    外科医生主要是系统设计者以及考虑系统的整体表现。而语言专家则寻找一种简洁、有效的使用语言的方法来解决复杂、晦涩或者棘手的

问题。他通常需要对技术进行一些研究(两到三天)。通常一个语言专家可以为两个到三个外科医生服务。

---------------------------------------------------------------------
4贵族专制、民主政治和系统设计(Aristocracy, Democracy, and System Design)

   大教堂是艺术史上无与伦比的成就。它的原则既不乏味也不混乱??真正达到了风格上的极致,完成这件作品的艺术家们,完全领会和吸收

了以往的成功经验,也完全掌握了他们那个时代的技术,而且在应用的时候做到了恰如其分,绝不轻率,也绝不花哨。

   正是Jean d ‘Orbais构思了建筑的整体设计,这个设计得到了后继者的认同,至少在本质上如此。这也是这个建筑如此和谐统一的原因之

一。


----------------------------------------------------------------------
5画蛇添足(The Second-System Effect)
 
   项目经理如何避免画蛇添足(second-system effect)?他必须坚持至少拥有两个系统以上开发经验结构师的决定。同时,保持对特殊诱

惑的警觉,他可以不断提出正确的问题,确保原则上的概念和目标在详细设计中得到完整的体现。

 


----------------------------------------------------------------------
6贯彻执行(Passing the Word)

    形式化定义

    一句古老的格言警告说:“决不要携带两个时钟出海,带一个或三个。”同样的原则也适用于形式化和记叙性定义。如果同时具有两种方

式,则必须以一种作为标准,另一种作为辅助描述,并照此明确地进行划分.

    产品测试

    项目经理最好的朋友就是他每天要面对的敌人——独立的产品测试机构/小组。该小组根据规格说明检查机器和程序,充当麻烦的代言人,

查明每一个可能的缺陷和相互矛盾的地方。每个开发机构都需要这样一个独立的技术监督部门,来保证其公正性。

    在最后的分析中,用户是独立的监督人员。在残酷的现实使用环境中,每个细微缺陷都将无从遁形。产品-测试小组则是顾客的代理人,

专门寻找缺陷。不时地,细心的产品测试人员总会发现一些没有贯彻执行、设计决策没有正确理解或准确实现的地方。出于这方面的原因,

设立测试小组是使设计决策得以贯彻执行的必要手段,同样也是需要尽早着手,与设计同时实施的重要环节。

posted @ 2012-03-31 20:08  珍爱贝贝1314  阅读(155)  评论(0编辑  收藏  举报