概念:跨团队协作
此原则说明了如何促进有效协作。
主要描述

简介

此原则强调促进项目范围内最佳沟通的重要性。可通过适合的团队组织并建立有效的协作环境来达到此目标。

      
好处
  • 团队生产力
  • 更好地耦合业务需要和软件系统开发与操作。
模式
  1. 激励团队成员做到最好
  2. 创建自我管理的团队。
  3. 鼓励跨职能的协作(例如,分析人员、开发人员和测试员)
  4. 提供有效的协作环境
  5. 管理不断演进的工件和任务,通过集成环境来加强对协作、进度和质量的了解。
  6. 集成业务、软件和操作团队
反模式
  • 要使杰出的开发人员愿意长时间工作(包括周末)。
  • 为高度专业的人员配备用于完成工作的功能强大的工具,不同团队成员之间只有有限的协作,不同工具之间也只有有限集成。前提是如果每个人都完成自己的工作,则最终结果肯定是令人满意的。

讨论 

软件是由才华横溢、积极上进的人员通过紧密协作创造出的。许多复杂的系统要求一些具有不同技能的项目干系人进行协作,而大型项目通常会跨越地理和时间的界限,从而进一步增加了开发流程的复杂性。这就是为什么人员问题和协作(一些人称之为软件开发的“软”元素)会成为灵活开发团队的主要侧重点。遵循此原则要求回答以下问题,包括:

  • 如何激励人们做到最好?
  • 如何在同处一地与分散的软件团队中进行协作?
  • 如何在负责业务、软件开发和 IT 操作的团队之间进行协作?

有效协作的第一步是激励团队中的个人做到最好。自我管理团队的概念已在灵活团体中得到普及(请参阅概念:灵活做法和 RUP);它的基础是使团队答应负责所应交付的成果,然后将决定直接影响结果的所有问题的权限提供给该团队。当人们意识到真正负责最终结果时,会更主动地去保质完成工作。如灵活声明所陈述的:“为受到激励的人员构建项目。为他们创造环境,支持他们的需要并相信他们能完成工作。”

第二步是鼓励跨职能协作。如 Walker Royce 所说的“软件开发是一项团队工作。”迭代方法更需要团队密切配合工作。我们要打碎分析人员、开发人员和测试员之间通常存在的壁垒,拓宽这些角色的职责以确保在快速变化的环境中进行有效协作。每个成员都需要了解任务和项目远景。

在团队壮大时,我们要提供有效的协作环境。这些环境使度量值收集和状态报告变得便利和自动化,并使围绕着配置管理的构建管理和簿记自动化。这种效率可减少会议,这使团队成员将更多时间用在具有更高生产率和创造性的活动上。这些环境还应通过简化交流、使处于不同地区和时区的团队成员能够沟通,以此达到更有效的协作。这些环境的示例包括从共享项目房间到连网或基于 Web 的解决方案,例如 Wikis、集成开发环境、配置和变更管理环境。

随着软件对于核心业务流程越发关键,对团队间有效协作的需求也随之增加。 在大多数组织中,负责运行业务、开发应用程序和运行应用程序的团队之间缺乏交流。

此原则下我们的最终目标是围绕业务、软件和操作团队集成协作。由于软件对于如何运行业务正变得越来越重要,因此需要在 1) 决定如何运行当前和将来业务的团队,2) 开发支持软件系统的团队,和 3) 运行 IT 操作的团队之间建立紧密的协作。在大多数公司中,这三个组之间不能进行很好的沟通。