注:文章内容是基于SAFe4。0与SAFe5。0的总结。资料来源:分别来自https:www。scaledagileframework。com,和《SAFe4。0参考指南》 图1敏捷发布火车架构图 敏捷发布火车中所有的敏捷团队通过共同的愿景、路线图和项目群待办事项列表,对齐到共同的使命上。项目群增量(PI)提供了一个固定的开发时间盒(默认是10周),团队以相同的节奏工作并保持同步,从而可以促进计划活动、限制在制品、提供有价值的可交付品,并确保持续的回顾总结活动。同时,项目群增量时间盒也提供了一个固定的思考时间,用于考虑投资组合和路线图匹配等事宜。每列火车都有专职的人员和必需的资源,他们在每个迭代中,对有价值的能力进行持续的定义、构建和测试。 敏捷发布火车的工作原则: 敏捷团队使得火车全速前进,他们是跨职能的、自组织的实体。他们对特性和组件进行定义、构建和测试。 团队拥抱和遵循敏捷宣言的原则以及SAFe的原则和价值观。团队使用SAFe、ScrumXP和XP敏捷实践。 团队进行频繁的、面对面的滚动计划。 项目群增量和迭代的日期是固定的,质量是固定的,工作范围是可变的。 团队应用去中心化的计划来决定工作范围。 团队应用相同长度的迭代周期、标准化估算来支持敏捷发布火车级别的估算、计划和集成。 持续集成在整个火车的所有团队中实现。 在每一个迭代中,通过系统演示给关键的利益相关者展示一个集成的、敏捷发布火车级别的、可工作的解决方案。 创新与计划迭代为项目群增量计划、创新(比如,黑客马拉松等)、持续教育和基础架构方面的工作提供了一段受保护的专门的时间段。 某些特定的基础架构方面的组件,比如模型、原型和其他的使能一般来说应该在开发工作的前期进行。 在大型的价值流中,多个敏捷发布火车协同工作去构建更大的价值。在这种情况下,敏捷发布火车的利益相关者会参加价值流层的一些仪式,包括解决方案演示、项目群增量计划前会议和项目群增量计划后会议。 我们上一篇文章中已经介绍了敏捷发布火车的角色和部分工件,本篇文章我们继续介绍发布火车的工件与事件。 项目群增量(PI)是SAFe框架中最大的PDCA循环。就像迭代是针对敏捷团队而言的,PI是针对敏捷发布火车(或价值流)而言的,PI是一个固定的节奏,用于构建和验证完整的系统增量,并向客户演示价值从而获得快速反馈。价值流和敏捷发布火车都使用相同的PI节奏。一个PI包括四个开发迭代和一个创新与计划(IP)迭代。SAFe框架把这个时间盒称为一个项目群增量。很多企业选择在PI边界进行软件发布,但是软件的对外发布是可以独立于PI节奏的,价值流或者每列火车可以根据情况自行决定。 图2价值流和敏捷发布火车遵循同样的PI节奏 PI目标是一个总结性的描述,用于表明敏捷团队、敏捷交付火车、价值流在即将进行的PI中明确的业务和技术目标,PI目标可以增进一致性和可视化呈现。PI目标在PI计划会议,或者PI计划后会议中最终确定下来。 SAFe的PI目标和计划是自下而上的,由敏捷团队对其负责的解决方案进行估算和计划。在PI计划会上,每个团队创建自己的PI目标,用于记录他们需要在PI结束时交付哪些成果。团队创建的目标可以综合汇聚成项目群层级的目标,项目群层级的目标可以再综合汇聚成价值流层级的目标,如图所示。 图3从团队到项目群,再到价值流的PI目标 项目群和价值流看板 SAFe可以在投资组合、价值流、项目群和团队等所有层级实施看板系统,从而达到价值持续交付的目的。在项目群和价值流层,特性和能力遵循一个通用的工作流模式,包括探索、精炼、优先级排序和实现。这种持续的流可以促进合作和高效的决策制订。 投资组合看板、项目群和价值流看板一起构成了SAFe企业内容治理的模型,这是一个介绍经济决策的框架并且是去中心化控制的,而且快速的、可持续的价值流动是不可或缺的。 图4看板系统中的企业价值流 价值流和项目群看板与投资组合看板相关联,这三个看板一起构成了一个内容治理系统,他们负责对构建的内容进行重要的决策。已经准备就绪可以实现的并且被批准的投资组合史诗,会被分解成价值流史诗和能力以便放入价值流看板。能力和价值流史诗通过价值流看板,又将被分解成特性和项目群史诗并被放入项目群看板,如上图所示。 图5项目群看板 项目群看板中的项目群史诗部分用于分析和审批项目群史诗,并将它们分解成特性以便在项目群看板下游的特性部分中进行更好的探索和实现(如图4。72所示)。这个部分并不是一直会出现在项目群看板中,它取决于项目群史诗在项目群中出现的频率。 项目群看板系统中特性部分用来促进特性的准备、优先级排序和实现。特性可能来自本地(来自项目群史诗,或者是一个独立的特性直接引入),也可能来自上游的看板。但不论哪种情况,这些特性都将进入特性漏斗。项目群看板由产品管理者和系统架构师共同管理,产品管理者负责业务特性的内容授权,架构师负责使能。 (3)事件:执行项目群增量在执行的过程中,一系列的项目群事件创建了一个闭环系统,从而保持火车在轨道上行进,如图所示。 图6项目群执行事件 项目群增量(PI)计划会议:项目群增量始于项目群增量计划会议,在项目群增量计划会议中,团队对工作的内容和交付时间进行估算,并且明确工作之间的依赖关系。项目群增量计划的一个输出是一组项目群增量目标,用于详细描述在项目群增量结束时,敏捷交付火车将会集成和演示哪些内容。 PI计划由发布火车工程师组织,与会者尽可能包括敏捷发布火车的所有成员。PI计划发生在创新与计划(IP)迭代内,持续一天半到两天时间,也就是说它不会影响PI里其他迭代的时间盒、进度或容量。 在包含多个敏捷发布火车的价值流中,PI计划前会议为敏捷发布火车的PI计划会议设定背景并提供目标的输入信息。而PI计划后会议则用于整合各列敏捷发布火车的结果,给价值流提供输入信息。 PI计划会议通常遵循一个标准的议程,如图所示 图7PI计划会议议程 ScrumofScrums:发布火车工程师(RTE)通常每周(或根据需要可以更加频繁)组织ScrumofScrums(SoS)会议,来持续协调处理敏捷发布火车上的依赖关系,并将进展和障碍以可视化的方式呈现出来。由RTE、ScrumMaster和其他成员(视具体情况而定)参加SoS会议,更新里程碑的进度、项目群增量目标和团队之间的内部依赖关系。该会议的时间一般不超过30分钟,随后可以召开跟进会来解决发现的问题。 PO同步会议和SoS会议类似,该会议由产品负责人和产品经理参加,会议通常每周举行,也可以根据具体情况更频繁地进行。PO同步会议也限制时间盒(3060分钟),随后召开跟进会,解决会议期间发现的问题。 PO同步会议可以由RTE或产品经理来组织推进。会议的目的是,根据项目群增量目标将敏捷交付火车的进展状况进行可视化呈现,讨论特性开发中的问题或机会并评估任何的范围调整。会议也可以用于为下一个项目群增量做相应的准备工作,并且可能包括项目群待办事项列表的梳理工作,以及在下一个项目群增量计划会议之前的WSJF优先级排序等。 有时SoS会议和PO同步会议可以合并成一个会议,通常称为敏捷交付火车同步会议。 发布管理会议:发布管理会议对将要发生的发布进行治理,也提供了和管理层定期沟通的机会。会议可以每周或根据项目群需要召开。发布管理团队具有批准任何对范围、时间或资源进行必要调整的权力,从而确保产品的发布。 系统演示:项目群增量中的一个重要标志是每两周举行一次的系统演示。该演示用于从利益相关者那里获得关于正在开发系统的有效性和可用性的反馈。该演示还有助于确保同一个敏捷发布火车上的团队之间的集成,集成需要定期进行,且每个迭代至少集成一次。将所有团队在前一个迭代中完成的工作集成起来进行系统演示,是对价值、速度和进展的唯一真正的度量方式。 准备项目群增量计划会议(下一个PI)是一个项目群的事件,但同时它也是一个持续的过程,它包括三个主要方面: 1。管理层达成一致,组织上为开展计划准备就绪 2待办事项准备就绪 3推进事件需要的后勤保障准备就绪 以上三个方面中的任何一项都会影响潜在的结果,即影响实际的、具体的、承诺的项目群增量计划,所以,需要慎重地考虑这三个要素。 检视和调整:当项目群增量时间盒结束时,项目群增量也就完成了。每个项目群增量结束时,都会有一个最终的系统演示,即通过一个广而告之的事件来展示所有在项目群增量期间完成的产品特性。系统演示通常会作为检视和调整工作坊的一部分,检视和调整是一个定期的省思、解决问题,并采取必要的改进措施,以加快下一个项目群增量的速度、质量和可靠性的会议。工作坊的结果通常是一系列的改进故事,可以将其添加到待办事项列表中,用于在将来的项目群增量计划会议中讨论。 价值流的项目群增量计划前、后会议可以让敏捷发布火车和大型价值流上的供应商针对下一个项目群增量达成一致的计划。项目群增量计划前、后会议可以作为项目群层级项目群增量计划会议的外包装,这两个会议中也可以进行实际的、详细的计划活动,并在创新与计划(IP)迭代的日历中进行标注。 价值流增量和解决方案演示在项目群增量时间盒中,敏捷交付火车通过构建多个价值流增量,从而累积成解决方案能力。解决方案演示是PI学习环中最高层的活动,价值流的利益相关者、客户(或他们的内部代理人)和高层管理者,将共同观看在上一个项目群增量中解决方案方面所取得的进展。在这个事件中,价值流展现了其在过去项目群增量的成就。高层管理者和利益相关者在更广泛的解决方案环境中评审进展情况。它也可以用来通告是否继续、调整,甚至取消原有方案,或者改变价值流预算。 创新与计划迭代 创新与计划迭代在每一个PI中为团队提供规律的、有节奏的时间,让团队可以有机会开展一些在持续不断的增量价值发布的环境中很难进行的工作。这些时间段包括: 1)创新和探索的时间; 2)PI系统演示、检视和调整工作坊、PI计划事件和待办事项列表梳理的时间; 3)解决方案最后集成的时间; 4)处理技术基础设施、工具和其他系统障碍的时间; 5)持续学习和受教育的时间同时,IP迭代还有其他重要的作用,比如提供了为满足PI目标实现所需要的缓冲时间,以及增强了发布的可预测性。 考虑到上述的所有活动,很多团队的IP迭代有标准的议程和形式,如下图所示: 图8IP迭代日历的示例