读书笔记:SAFe 4.0参考指南

精益软件与系统工程的规模化敏捷框架

Posted by Shoukai Huang on January 1, 2021

概述

SAFe(Scaled Agile Framework,规模化敏捷框架)是一个公开发布和免费使用的知识体系,它整合了多种经过验证的企业级精益-敏捷开发的模式。

The Scaled Agile Framework® (SAFe) is an online knowledge base of proven, integrated principles, practices, and competencies to implement Lean, Agile, and DevOps at scale.

SAFe汲取了三大知识体系(敏捷开发、精益产品开发和系统思考)的精华,并加以综合利用。

全景图

SAFe的网站(www.scaledagileframework.com)为企业各层级研发工作的规模化提供了全面指导。SAFe的交互式“全景图”(图1)[插图]为整个框架提供了一个可视化概览,网站中“全景图”上的每个图标均可点击进入,进入后可获得该主题的详尽指南,以及相关文章和参考资料的链接。

SAFe提供了3层结构视图,或者是可选的4层结构视图,同时也提供了一个基础层级,如下所述:

  • 团队层:SAFe以敏捷团队为基础,每个团队负责定义、构建和测试其待办事项列表中的故事。团队采用Scrum或看板方法,强化质量实践,从而在一系列同步和固定长度的迭代中进行价值交付。
  • 项目群层:SAFe团队被组织为一个虚拟的项目群结构,称为“敏捷发布火车”(ART)。每个ART都是长期存在和自组织的,由5~12个敏捷团队以及利益相关者组成,他们共同计划、承诺、执行、检视和调整,以及交付解决方案。
  • 价值流层:价值流层是可选的,它可以支持大型和复杂解决方案的开发。这些解决方案需要多个同步的ART,同时需要更加专注于解决方案意图和解决方案上下文环境。此外,供应商和其他利益相关者也都会参与其中。
  • 投资组合层:投资组合层对一系列价值流进行组织和投资。投资组合基于精益-敏捷预算为解决方案的开发提供资金支持,并提供必要的治理和价值流协调。
  • 基础层:基础层包含支持开发工作的其他基本要素。这些要素是:精益-敏捷领导者指南、实践社区、核心价值观、精益-敏捷思维、SAFe的九大原则,以及实施策略的概览。

基础层

包含了SAFe用于支持价值交付的关键和基本要素,但它们并不是具体的实践。基础层包含以下内容:

  • 精益-敏捷领导者:管理层承担着企业成功的终极责任,并以此引领工作方式的显著变革。
  • 实践社区:精益方式提倡围绕价值流开展工作,从而带动精益企业从职能型组织转型成为基于业务的灵活适应性组织。
  • 核心价值观:SAFe的有效执行依赖于四大核心价值观,即:协调一致、内建质量、透明、项目群执行
  • 精益-敏捷思维:精益-敏捷领导者是终身学习者,也是老师,他们理解和拥抱精益-敏捷的原则与实践,并将理念传播给他人。
  • 精益-敏捷原则:SAFe的实践基于九大基本原则。
  • 实施SAFe步骤1-2-3:基于对数百个SAFe实施案例的研究分析,我们总结出成功实施SAFe的“实施SAFe步骤1-2-3”模型。

SAFe的九个原则

  1. 采取经济视角
  2. 运用系统思考
  3. 接受变异性,保留可选项
  4. 通过快速集成学习环,进行增量式构建
  5. 基于对可工作系统的客观评价设立里程碑
  6. 可视化和限制在制品,减少批次规模,管理队列长度
  7. 应用节奏,通过跨领域计划进行同步
  8. 释放知识工作者的内在动力
  9. 去中心化的决策

团队层

团队层为敏捷团队的活动提供了组织、工件、角色和流程模型。

所有的SAFe团队都是敏捷发布火车(ART)的一部分——ART是项目群层的核心组成部分。

由每个敏捷团队自己负责定义、构建和测试来自团队待办事项列表中的故事,这些工作在一系列固定周期的迭代内进行,通过使用共同的迭代节奏,并与其他团队同步和对齐,从而保证整个系统开发的迭代执行。

每个团队有5~9名成员,并包括所有必要的角色,确保在每一次迭代中构建一个高质量且有价值的发布增量。这些角色包括Scrum Master、产品负责人、全职工作的团队成员,以及其他能为团队创造价值的专业资源

项目群层

SAFe的核心是项目群层级,它围绕着“敏捷发布火车”的组织形态进行运作,并与团队层级的相应活动紧密联系.

在SAFe的项目群层级,团队、角色和活动都围绕着敏捷发布火车来建立。敏捷发布火车是一个比喻,用来说明若干敏捷团队持续增量地交付客户价值。

敏捷发布火车(ART)是一个虚拟的组织,它由多个跨职能边界的敏捷团队组成,可以有效地减少和消除不必要的交接和多余的步骤,从而通过应用SAFe精益-敏捷原则和实践,来加速客户价值的交付。

ART会在项目群增量(PI)中进行价值的增量式交付,每个PI的周期是8~12周,通过多个迭代进行重要的、有价值的系统开发。每个ART包含5~12个敏捷团队(50~125人), ART包含价值交付所需要的团队角色和基础架构,用以支持交付全面测试过的、可工作的、系统级的解决方案。很多发布火车是虚拟的、跨组织的和跨地域边界的,有些火车也可以根据业务或者产品线的管理汇报路线和组织结构进行组建。

管理价值的流动

项目群层的一个主要的职责是发现、定义和开发那些业务所需要的特性(Feature)和使能(Enabler),从而实现组织的业务愿景和路线图。

关键角色

项目群管理、内容管理和架构的“三驾马车”

这三个主要的职能有助于确保项目群层的愿景和产品路线图的成功实现:

  • 项目群执行:发布火车工程师是火车上的仆人式领导和首席Scrum Master。
  • 内容管理:产品经理可看成是客户需求在组织内部的代言人,他们和客户以及产品负责人一起理解和沟通需求、定义系统的特性,并参与验证。他们是项目群待办事项列表的负责人。
  • 技术:系统架构师/工程师是一个独立的个人或者一个小型的多功能团队,他们真正运用系统思考来定义整个系统架构,从而有助于定义非功能性需求,决定主要的系统部件和子系统,同时他们还协助定义接口和接口之间的协作关系。

跨层级面板

在SAFe全景图中,项目群层级有一组特定的图标,它们出现在价值流层级和项目群层级的连接处,称之为“跨层级面板”

跨层级面板包含如下:

DevOps:部署运维是价值流必不可少的部分 系统团队:系统团队是敏捷发布火车或者价值流中的特殊敏捷团队 发布管理:较为容易的部分是计划一次发布;与之相比,较为困难的是要在一个版本的多个迭代中,协调好所有能力和特性的实现。 共享服务:共享服务是成功推行敏捷发布火车或者价值流的一个必需的角色,但不是一个全职角色。 愿景:描述了待开发的解决方案在未来呈现出的一种图景,反映了客户和利益相关者的高层次需求,以及与之对应的特性和能力。 路线图:展示在近期内价值流和敏捷发布火车的交付物。 度量:在企业环境中非常重要,投资组合度量、精益投资组合度量等。 里程碑:标识了在产品开发时间轴上的特殊进度节点,对于度量并监控一个项目群的进度和风险,里程碑的作用是不可估量的。 发布:每次发布都为客户提供更多的价值

系统团队

通常在构建和使用敏捷开发环境基础设施方面提供帮助,包括持续集成以及整合来自敏捷团队的资产,执行端到端解决方案的测试。

系统团队的主要职责如下:

  • 构建开发基础设施
  • 系统集成
  • 端到端和解决方案性能测试
  • 系统和解决方案演示
  • 发布
  • 平衡解决方案集成和测试工作

共享服务

共享服务资源可以包括:安全专家、信息架构师、DBA、技术作家、质量保证人员、IT操作人员等。因为这些资源是特定的,通常是单一资源并且特别忙碌,所以每个ART和价值流必须提前进行计划,以保证他们需要时可以获得这些资源的支持。

价值流层

在项目和实践中,当价值流的一部分以牺牲其他部分为代价进行优化时;或者当价值流中的组成部分不匹配时(例如,低成本低质量的供应商和高端客户之间的不匹配),往往会导致项目和实践的失败。——艾伦C.沃德

在SAFe中,价值流层是可选的。如果企业构建的系统是彼此独立的,或者是只要数百人来构建的系统,这种情况下就不需要价值流层,企业可以选择应用SAFe的3层结构。

价值流层可以帮助企业应对构建巨型系统的挑战,这样的企业需要开发超大型、多学科软件和信息物理系统等。通过精益-敏捷的方式构建这样的解决方案需要一些额外的结构、工件和协调机制。

关键角色

价值流层也有它自己的三个关键角色,用以协调和改进价值流

  • 执行和改进:价值流工程师是价值流中的仆人式领导。他负责价值流的平稳运行,以及发现并解决整体价值流中的瓶颈问题。他负责引导价值流层的会议,以及监控价值流看板并通过相应度量指标确保价值流健康运行。
  • 内容管理:解决方案管理者代表客户需求和投资组合愿景的战略主题。他们同ART的产品管理者协同工作,对能力进行定义并将它们分解成特性。他们负责通过加权最短作业优先(WSJF)的方法管理价值流产品待办事项列表及其按优先级排序,同时他们负责创建经济框架来管理ART和敏捷团队的决策过程。
  • 技术卓越:解决方案架构师/工程师是一支负责定义总体架构的团队,总体架构将不同ART的解决方案连接起来。他们也同系统架构师/工程师团队一起工作,以帮助指导在ART中开发出的架构。

投资组合层

SAFe投资组合是SAFe中的最高层级。每个SAFe投资组合都包含必要的价值流、人员和流程,并为产品、服务和解决方案提供所需的资金和治理,从而实现企业的总体业务战略.

投资组合提供了围绕一个或者多个价值流构成的精益-敏捷企业的基本框架,基于每一个价值流所开发的系统或解决方案都需要满足企业的战略意图。

关键角色

为支持在SAFe最高层级中进行协调的需要,图6.2-2表明了三种主要角色,每一个角色都与项目群层级和价值流层的角色相对应。

  • 项目群管理:项目群投资组合管理(PPM)在框架中具有最高层级的管理职能,因此,一名项目群经理或者在帮助团队上有技巧和经验的人,能够可靠执行战略意图。这个角色直接与出现在价值流层的价值流工程师和项目群层级的发布火车工程师相对应。
  • 解决方案投资组合管理者:有人还必须将那些整合的投资组合方案引导至更大的内容意图。这些职责都由解决方案投资组合经理来承担。这个角色直接与价值流层的解决方案管理者和项目群层级中的产品管理者的角色相对应。
  • 企业架构师:与价值流层的解决方案架构师和项目群层的系统架构师一样,企业架构师也发挥类似的作用,在这种情况下,他们可以帮助确保共同的技术基础,定义跨价值流的用例,并帮助避免不必要的人力和物力重复。

笔记

核心内容

如何大规模的应用敏捷?敏捷开发、精益产品和系统思考

思维逻辑

敏捷项目管理、精益产品和企业价值流。

PMO视角下的项目管理、产品设计和商业价值