简介
此原则强调促进项目范围内最佳沟通的重要性。可通过适合的团队组织并建立有效的协作环境来达到此目标。
|
|
好处
|
-
团队生产力
-
更好地耦合业务需要和软件系统开发与操作。
|
模式
|
-
激励团队成员做到最好
-
创建自我管理的团队。
-
鼓励跨职能的协作(例如,分析人员、开发人员和测试员)
-
提供有效的协作环境
-
管理不断演进的工件和任务,通过集成环境来加强对协作、进度和质量的了解。
-
集成业务、软件和操作团队
|
反模式
|
-
要使杰出的开发人员愿意长时间工作(包括周末)。
-
为高度专业的人员配备用于完成工作的功能强大的工具,不同团队成员之间只有有限的协作,不同工具之间也只有有限集成。前提是如果每个人都完成自己的工作,则最终结果肯定是令人满意的。
|
|
讨论
软件是由才华横溢、积极上进的人员通过紧密协作创造出的。许多复杂的系统要求一些具有不同技能的项目干系人进行协作,而大型项目通常会跨越地理和时间的界限,从而进一步增加了开发流程的复杂性。这就是为什么人员问题和协作(一些人称之为软件开发的“软”元素)会成为灵活开发团队的主要侧重点。遵循此原则要求回答以下问题,包括:
-
如何激励人们做到最好?
-
如何在同处一地与分散的软件团队中进行协作?
-
如何在负责业务、软件开发和 IT 操作的团队之间进行协作?
有效协作的第一步是激励团队中的个人做到最好。自我管理团队的概念已在灵活团体中得到普及(请参阅概念:灵活做法和
RUP);它的基础是使团队答应负责所应交付的成果,然后将决定直接影响结果的所有问题的权限提供给该团队。当人们意识到真正负责最终结果时,会更主动地去保质完成工作。如灵活声明所陈述的:“为受到激励的人员构建项目。为他们创造环境,支持他们的需要并相信他们能完成工作。”
第二步是鼓励跨职能协作。如 Walker Royce
所说的“软件开发是一项团队工作。”迭代方法更需要团队密切配合工作。我们要打碎分析人员、开发人员和测试员之间通常存在的壁垒,拓宽这些角色的职责以确保在快速变化的环境中进行有效协作。每个成员都需要了解任务和项目远景。
在团队壮大时,我们要提供有效的协作环境。这些环境使度量值收集和状态报告变得便利和自动化,并使围绕着配置管理的构建管理和簿记自动化。这种效率可减少会议,这使团队成员将更多时间用在具有更高生产率和创造性的活动上。这些环境还应通过简化交流、使处于不同地区和时区的团队成员能够沟通,以此达到更有效的协作。这些环境的示例包括从共享项目房间到连网或基于
Web 的解决方案,例如 Wikis、集成开发环境、配置和变更管理环境。
随着软件对于核心业务流程越发关键,对团队间有效协作的需求也随之增加。 在大多数组织中,负责运行业务、开发应用程序和运行应用程序的团队之间缺乏交流。
此原则下我们的最终目标是围绕业务、软件和操作团队集成协作。由于软件对于如何运行业务正变得越来越重要,因此需要在 1) 决定如何运行当前和将来业务的团队,2) 开发支持软件系统的团队,和 3) 运行 IT
操作的团队之间建立紧密的协作。在大多数公司中,这三个组之间不能进行很好的沟通。
|