热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

《人月神话》笔记:外科手术队伍

一个高效的软件开发团队,和一个外科医生队伍有异曲同工之处:由一个人来完成问题的分解,其他人给予他所需要的支持,以提高效率和生产力。很少的人员被包含在设计和开发中,其他许多人来进行工作的支持。
一个高效的软件开发团队,和一个外科医生队伍有异曲同工之处:由一个人来完成问题的分解,其他人给予他所需要的支持,以提高效率和生产力。很少的人员被包含在设计和开发中,其他许多人来进行工作的支持。

(1)外科医生(首席程序员)
他亲自定义功能和性能技术说明书,设计程序、编制源代码,测试以及书写技术文档。需要极高的天分、十年的经验和应用数学、业务数据处理或其他方面的大量系统知识和应用知识。(看到了吗?牛人的门槛是很高的!)

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

(3)管理员
控制财务、人员、工作地点和办公设备,他充当与组织中其他管理机构的接口。(我的理解:这儿的管理员相当于首席程序员的行政秘书。)

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

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

(6)程序职员
他负责维护编程产品库中所有团队的技术记录。该职员接受文秘性质的培训,承担机器码文件和可读文件的相关管理职责。(我的理解:这儿的程序职员相当于代码版本、文档版本管理员)

(7)工具维护人员
保证所有基本服务(工具)的可靠性,以及承担团队成员所需要的特殊工具(特别是交互式计算机服务)的构建、维护和升级责任。常常需要开发一些实用程序、编制具有目录的函数库以及宏库。

(8)测试人员
测试人员为程序员的的各个功能设计系统测试用例,同时也为程序员的日常调试设计测试数据。他还负责计划测试的步骤和为单元测试搭建测试平台。

(9)语言专家
乐于掌握复杂编程语言,对技术有着很好的理解。寻找一种简洁、有效的使用语言的方法,来解决复杂、晦涩或者棘手的问题。

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

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


推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 如何查找和管理计算机中的C盘临时文件
    本文详细介绍了如何在计算机中找到和管理C盘的临时文件,包括其具体路径、环境变量设置方法以及清理这些文件对系统性能的影响。对于希望优化系统性能和释放磁盘空间的用户来说,这是一篇非常有价值的参考。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 本文详细介绍了如何使用Spring Boot进行高效开发,涵盖了配置、实例化容器以及核心注解的使用方法。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • 作为一名程序员,从大学步入职场后,常常感受到一种难以言喻的空虚感。这种感觉或许源于对生活的不满、职业发展的瓶颈,或是日常琐事带来的压力。本文将深入探讨这种复杂的情感,并尝试寻找解决之道。 ... [详细]
  • 深入解析:阿里实战 SpringCloud 微服务架构与应用
    本文将详细介绍 SpringCloud 在微服务架构中的应用,涵盖入门、实战和案例分析。通过丰富的代码示例和实际项目经验,帮助读者全面掌握 SpringCloud 的核心技术和最佳实践。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
author-avatar
-苏小澄11m
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有