在团队中推广敏捷文化

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

随着团队的发展,你希望你的工具也能有所改进。 而且,如果你是采用敏捷方法的企业,你会想要让敏捷工具为企业的业务目标提供支持。

但是,要成功扩展敏捷,需要同时处理组织的文化和工具问题。

注意

不熟悉敏捷方法? 有关详细信息,请参阅敏捷文化将敏捷团队扩展为大型团队

启用自治

渴望获得敏捷性的组织需要考虑履行两项义务:在整个企业中创造一致性以及支持团队自主性。 团队需要自治才能保持高效。 而企业需要保持所有团队和组织的一致性才能更加高效。

如果一致性过多,而团队自主性不足,会导致无法支持团队的创新和敏捷性来完成工作。 如果一致性过少,而每个团队都只运行各自的程序,就无法提供实现业务目标所需的见解和协调。

如果整个组织的一致性和团队自治的水平适中,个人就会被赋予创新的能力,激发协作热情,实现业务目标。

创造一致性

在规划如何扩展敏捷工具集时,请考虑以下方面。 这些方面是创造企业一致性、发展团队自主性的关键所在。

区域

创造一致性

支持自主性

产品愿景

组织会制定组织的目标和路线图。 可以制定目标作为组合积压工作中显示的长篇故事和功能。

团队确定如何最好地满足路线图要求。 团队使用团队积压工作将目标细分为用户情景或产品积压工作项。

团队结构

组织根据业务目标确定团队的数量和规模。 纵向结构化的功能团队可提高自主性和工作效率。

对于团队,应该有一些既定的角色(如产品所有者和开发主管),但也应该有轮换角色的空间。 例如,团队成员可以轮流担任 Scrum Master、开发冲刺 (sprint) 演示、运行冲刺 (sprint) 追溯会议或起草冲刺 (sprint) 电子邮件。

开发节奏

敏捷组织需要定期发布产品和功能更新。 制定定期发布和冲刺 (sprint) 计划可以推动业务的发展节奏。
每个冲刺 (sprint) 都是一个固定时间段的迭代,持续时间在两到四周之间,内容包括规划、执行、交付价值、反映和参与持续改进。

所有团队都在设定的冲刺 (sprint) 节奏内管理自己的工作。 团队为最适合他们的冲刺 (sprint) 时间长度提供意见。
团队选择适合他们的敏捷方法:Scrum看板或两者的组合。 团队还负责启动他们自己的一套持续改进的做法并采取行动。
一些团队可以在较短的冲刺 (sprint) 中执行。 例如,如果一个组织设定了 2 周的冲刺 (sprint) 节奏,一些团队可能会选择以 1 周的冲刺 (sprint) 时间来实施,同时仍与组织的时间安排保持一致。

沟通节奏

正如冲刺 (sprint) 为工作流程带来了自然的节奏一样,定期沟通也是如此。 通过为他们希望保持一致的沟通类型以及沟通的发生频率设定预期,组织自然可以在各个团队和企业之间建立一致性。
举个例子,这种定期沟通包括团队冲刺 (sprint) 电子邮件、bug 栏状态和发布团队功能交付状态。

团队确定他们沟通的详细信息以及由谁制定沟通方案。 他们的冲刺 (sprint) 电子邮件可能包含之前的冲刺 (sprint) 成就和下一批冲刺 (sprint) 计划的摘要,或者包含最近完成的功能演示。

质量

每个组织都需要制定用于评估质量的规范和标准,并设定对质量标准的预期。 他们制定标准时,使用的几种方法是,为新功能开发设定退出标准、设定管理技术债务的标准,以及设定团队或个人的 bug 数上限。
此外,他们还可以通过创建 bug 仪表板来监视 bug 状态和趋势。

团队选择如何满足质量标准。 他们可能会针对新功能或在每个冲刺 (sprint) 结束时进行 bug 修复。 他们可以选择一个人轮流担任 bug 防护者的角色。

管理风险、跟踪工作

组织确定每个职能部门将如何传达状态和风险。 他们根据组织所需的最低要求信息制作“沟通协定”。
此外,组织还提供基础结构来降低风险。 组织需要团队尽其所能来减少所有团队的共同风险。

除了满足组织设定的需求外,团队还要确定他们在管理和跟踪时所需的任何其他细节,以降低风险。 无论是使用带便笺的白板还是完整的甘特图,他们都会对细节进行管理。 例如,团队可能会添加积压工作项来跟踪他们对另一个团队的依赖关系。 或者,他们可以通过问题或障碍列表来跟踪风险。 此外,团队还会定期参与改进流程和基础结构,以支持组织管理风险和获取见解的能力。

组建团队

在进行扩展时,需要考虑的最重要的任务之一是如何组建团队。 传统上,横向团队结构根据软件体系结构来划分团队:用户界面、面向服务的体系结构和数据团队。

显示水平团队与垂直团队的图表。

但是,随着敏捷做法的采用,已证实跨体系结构的纵向团队结构可实现更高的团队自治。 纵向团队可以通过跨软件体系结构工作来输出他们拥有的功能。 他们还在所有团队中传播在所有体系结构级别工作所需的知识。

可以按照组织想要交付的价值流来配置团队。 例如,Fabrikam Fiber 将其团队组织成以下七个功能团队。

显示七个功能团队的图表:购物车、客户配置文件、服务状态、电子邮件、语音、互联网和电视

每个团队规划要交付的功能。 他们拥有自治权,可以确定如何构建数据、搭建服务架构,以及设计 Web 和移动用户界面。 他们按照组织制定的质量标准进行规划,所有团队都为此做出贡献。

配置敏捷工具以进行扩展

随着组织的发展,可以通过以下方式来扩展敏捷工具。

  • 添加团队和筛选的积压工作视图:添加团队以支持团队自主性,并为他们提供可以配置和管理的工具,支持他们想要的工作方式。 这些工具包括产品积压工作、板、冲刺积压工作、任务板等。

    此外,还可以将团队配置为支持积压工作和组合积压工作的层次结构,使项目组合经理可以查看多个团队的优先级和进度。

  • 设置冲刺 (sprint) 和发布:可以构造迭代的结构,支持一组简单的冲刺 (sprint),或计划的发布中嵌入的一组冲刺 (sprint)。 每个团队都可以启动他们需要参与的一组冲刺 (sprint) 和发布。

  • 管理项目组合:通过设置团队和积压工作层次结构并启动组合积压工作的方式。 专注于一部分产品积压工作的功能团队可以只关注他们自己的积压工作。 对于想要查看和组织积压工作以跟踪进度和依赖项的项目组合经理,可以管理功能和长篇故事的组合积压工作。

    如果需要其他组合积压工作(例如方案或计划),也可以添加这些组合积压工作

  • 配置仪表板借助团队仪表板,可以配置图表来跟踪团队内部或各个团队的进度。 具体而言,可以根据所创建的查询来添加状态和趋势图。

  • 对工作进行分组或分类:可通过多种方式对要跟踪的工作进行分组。积压工作根据团队区域分配来筛选工作项。 而且,使用组合积压工作,可以在“功能”和“长篇故事”下对积压工作项进行分组

    如果要根据其他分组跟踪和报告工作项,可以执行以下操作。 可以将标记添加到工作项,然后根据标记筛选积压工作或查询。 此外,还可以添加子区域路径来表示更精细的功能区域。

  • 添加文件夹并使用团队收藏夹:随着团队的发展,你会看到工作项查询、生成定义和源代码文件夹的列表内容越来越多。 通过使用文件夹、子文件夹和团队收藏夹,可以更轻松地管理很多列表。 可以为共享查询、源代码和生成定义添加团队收藏夹。

通过团队而非项目进行扩展

通常,组织会考虑为每个软件开发项目添加一个项目。

建议添加团队来扩展工具,而不要出于以下原因添加项目:

  • 可见性:可以更轻松地查看所有团队的进度
  • 跟踪和审核:可以更轻松地将工作项链接到其他对象以进行跟踪和审核
  • 可维护性:可以最大程度地减少对安全组和流程更新的维护工作。

有关详细信息,请参阅 关于项目和缩放组织

在创建或使用任何敏捷工具之前,需要有一个项目。 如果你没有项目,可以创建一个项目

如果已准备好从一个团队移动到两个团队,或配置多个团队,请参阅添加团队。 若要添加团队管理员或配置团队资产,请参阅管理团队和配置团队工具

有关详细信息,请参阅以下文章:

敏捷文化行业资源