近几年,很多公司都在使用敏捷,最开始时候,是从3-9人的小团队开始尝试的,scrum就是在小团队中实施的敏捷,实践起来比较简单。如果是多个业务团队和开发团队一起协作,人数达到上百人,该如何管理产品开发进度呢?又如何让产品及时顺应市场需求呢?SAFe就可以解决这些问题。本文通过介绍什么是大规模敏捷框架SAFe以及Choerodon猪齿鱼如何聚焦SAFe框架理念进行大规模敏捷实践,带大家了解面向企业的大规模敏捷。
什么是大规模敏捷框架SAFe
- SAFe 是一个企业级的大规模敏捷框架,它基于精益和敏捷的最佳实践。大规模敏捷主要针对系统较大,团队较多,业务复杂的项目。
- SAFe 的理论基础包括精益-敏捷原则、敏捷核心价值、精益-敏捷领导、精益-敏捷思维、敏捷实践社区、敏捷的实施经验。
- SAFe 可以处理大规模复杂的应用开发,使用 SAFe 可以获得以下好处:
- 生产效率提升 20-50%
- 质量提升大于 50%
- 产品发布缩短 30-75%
- 员工满意度和忠诚度提升
SAFe框架
SAFe 的一个核心概念可以概括为分层,可以分解为团队层、项目群层、价值流层、投资组合层。
团队层
敏捷团队是由5-11人组成的跨职能小组,包括所有必要的角色。它是确保在每一次迭代中定义、构建、测试并且交付增值。为了降低沟通成本及文档成本,通常敏捷团队的规模较小。
在团队级的SAFe中,这个框架使用Scrum和看板,冲刺采用至少2周一个迭代周期,并且交付有价值的、测试完备的、可工作的系统。团队工作的用户故事(开发特性所需的小块功能)列表来自项目群的产品列表。
没有敏捷团队,就不可能有火车。他们为敏捷发布火车(ART)乃至整个企业提供动力。ART负责提供更大的解决方案价值。火车上的所有团队都与其他团队合作,为“愿景”和“路线图”做出贡献, 并参加ART活动。此外,他们主要负责构建持续交付管道和DevOps功能。
项目群层
由敏捷团队、主要利益相关者及其他资源组成的一个项目群结构,被称为“敏捷发布火车(ART)”。 敏捷发布火车(ART)是典型的虚拟组织,它包含定义和交付价值所需要的所有人员; 具有定义、实现、测试、部署、发布和操作解决⽅案所需的所有能力(包括:软件、硬件、固件等其他能力)。ART的目的是通过⼀个明确的愿景、路线图和项目群待办事项列表,使管理层、团队和利益相关者向⼀个共同的使命保持协调⼀致。敏捷发布火车交付的是⼀个持续的价值流,如下图长期存在的敏捷发布火车:
在项目群层,敏捷发布火车(ART)采用10-12周为一个发布周期。敏捷发布火车由多个冲刺组成,这一系列冲刺发布一个或多个程序增量(PI)。ART可在每个PI迭代末设置一个特殊的IP冲刺,各团队可以提出PI过程中产生的问题、分析问题产生的原因,提出解决问题的方案,确定是否可放在接下来的PI计划中,以及为接下来的PI进行预计划。
程序增量(PI)提供了⼀个更⼤的、更具有战略意义的PDCA时间盒,用来收集和评估系统级的绩效表现。它还为整列火车的跨领域计划、集成、演示、检视和调整(I&A)提供了节奏。PI的时间盒是固定的。敏捷发布火车上的所有团队都同步相同的PI长度(通常是8 - 12周),并且有共同的迭代开始/结束⽇期和持续时间。PI最常见的模式是四个开发迭代,加⼀个创新和计划(IP)迭代。
PI是针对ART的,而迭代是针对敏捷团队的。这是⼀个固定的时间段,用于构建和验证整个系统增量,所有敏捷团队保持同一开发进度,每个迭代都必须产出对迭代任务有价值的内容,在较短的周期内防止实现和迭代任务的偏离。一旦发现偏离,可以及时纠正。每个PI将节奏和同步应用于:
- 方便规划 ;
- 限制在制品(WIP);
- 总结具有价值的反馈;
- 确保前后⼀致的ART回顾。
价值流层
价值流层可以应对更大更复杂的产品,一个敏捷火车已经不能满足开发工作,需要多个敏捷火车协同工作,由多个角色、组件和事件来帮组协调和集成各ART。
价值流层的增加是因为产品复杂度的增加造成。它需要完成定义解决方案,生成解决方案。这里的方案是一个高层面的解决方案,比如需要软件A,软件B,第三方软件,硬件系统A,硬件系统B,系统之间如何集成等。
投资组合层
投资组合层,从价值流的角度来分析史诗级的需求。史诗可以以价值流的角度分解成能力层、产品特性、用户故事等,然后由敏捷团队来实现用户故事。 Choerodon猪齿鱼的大规模敏捷实践。
在Choerodon猪齿鱼大规模敏捷管理中,主要应用了SAFe的团队层和项目群层概念进行大规模敏捷实践。我们将多个敏捷团队组建成一个项目群,由项目群的所有者统一管理并规划。制定开发节奏(迭代周期)、开发内容等,项目群中的任何项目都在同一个节奏上进行,从而提升产品开发交付周期。
如上图,在Choerodon猪齿鱼大规模敏捷管理的PI过程中,首先需要制定PI目标,即各个团队制定他们基本的业务目标,然后就接下来的开发目标达成⼀致。接着需要制定出特性,特性是满足利益相关⽅需要的服务。每个功能均包括收益假设和接受标准,并按需要进行大小调整或拆分,以由单个敏捷发布火车(ART)在程序增量(PI)中交付。当特性使能规划完毕后,就要把制定好的特性-PI,特性-史诗,规划PI关联起来了,并使用项目群公告板查看当前PI的各个子项目/冲刺/特性之间的关联,查看当前PI的各个子项目的冲刺周期,以及各个冲刺所要完成的特性。
以上的这些都可以体现在Choerodon猪齿鱼大规模敏捷管理的看板中,通过移动看板泳道中的特性卡片,来体现团队任务状态的变化,同时体现整个ART所有特性的状态流转。
总 结
通过上述对 SAFe相关理论的介绍,以及Choerodon猪齿鱼实践经验的分享,大家对SAFe 的概念和实施方式有一个基本的了解。SAFe适用于大型团队的合作开发,帮助团队提高协作性,降低团队管理的复杂性,为Choerodon猪齿鱼大规模敏捷的开发奠定了坚实的理论基础。
参考资料:
关于猪齿鱼
Choerodon 猪齿鱼作为全场景效能平台,是基于Kubernetes,Istio,knative,Gitlab,Spring Cloud来实现本地和云端环境的集成,实现企业多云/混合云应用环境的一致性。平台通过提供精益敏捷、持续交付、容器环境、微服务、DevOps等能力来帮助组织团队来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。
大家也可以通过以下社区途径了解猪齿鱼的最新动态、产品特性,以及参与社区贡献: