在团队中推广敏捷文化

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

随着团队的发展,你希望你的工具也能有所改进。 如果你是采用敏捷方法的企业,则希望敏捷工具支持企业的业务目标。

要成功在组织中规模化 Agile,需要同时兼顾文化和工具两个方面。

注意

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

启用自治

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

与团队自主性不足的配合过多会扼杀创新,并阻止团队敏捷地工作,以完成任务。 各团队各自为政,缺乏足够的配合,阻碍了实现业务目标所需的洞察力和协调能力。

通过在整个组织中保持适当的一致性和团队自主,你能够让个人进行创新,并激励他们协同合作以实现业务目标。

创造一致性

在规划如何扩展敏捷工具集时,请考虑以下方面。 这些领域有助于在开发团队自治的同时创建企业一致性。

区域

创造一致性

支持自主性

产品愿景

组织会制定组织的目标和路线图。 可以将目标定义为在产品组合积压中显示的史诗和功能。

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

团队结构

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

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

开发节奏

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

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

沟通节奏

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

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

质量

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

团队选择如何满足质量标准。 他们可能会举行 bug bash 来测试新功能,或在每个冲刺结束时进行。 他们可能会选择一个人轮流充当 bug 防护。

管理风险、跟踪工作

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

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

组建团队

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

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

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

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

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

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

配置敏捷工具以进行扩展

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

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

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

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

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

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

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

  • 对工作进行分组或分类:可通过多种方式对要跟踪的工作进行分组。积压工作根据团队区域分配来筛选工作项。 组合积压允许你 将积压工作项分组到功能与史诗下

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

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

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

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

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

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

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

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

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

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

敏捷文化行业资源