什么是SAFe(规模化敏捷框架)2——团队层

2023-10-17 22:30

本文主要是介绍什么是SAFe(规模化敏捷框架)2——团队层,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        上一篇我们介绍了SAFe的全景图&基础层,本文介绍SAFe团队层的内容,文章内容是基于SAFe4.0与SAFe5.0 的总结。

注:资料来源:分别来自
https://www.scaledagileframework.com/#,和《SAFe4.0 参考指南》

        SAFe以敏捷团队为基础,团队层为敏捷团队的活动提供了组织、工件、角色和流程模型,每个团队负责定义、构建和测试其待办事项列表中的故事。团队采用Scrum或看板方法,强化质量实践,从而在一系列同步和固定长度的迭代中进行价值交付。所有的SAFe团队都是敏捷发布火车(ART)的一部分——ART是项目群层的核心组成部分。

图1 SAFe 团队层

团队层包含3个角色:产品负责人、Scrum Master、敏捷团队

        Scrum Master:与Scrum中角色类似,在敏捷发布火车上的责任帮助协调团队之间的合作,以便团队真正地成为“在火车上的团队”。

        产品负责人:产品负责人(Product Owner, PO)是团队的一员,他是团队与客户之间的接口,负责定义用户故事和确定团队待办事项列表的优先级,从而衔接项目群优先级事项的执行,并维护团队所负责的特性和组件在概念和技术上的完整性。产品负责人是质量保证的关键人物,并且是团队中唯一有权力接收已完成用户故事的人,一个产品负责人通常可以支持一个团队(最多两个团队)。

        项目群的每个产品经理通常可以支持最多4个产品负责人,每个产品负责人最多可以负责1~2个敏捷团队的待办事项列表。

图2 PM/PO的人员比例模型

        产品负责人与团队拥有同一个经理、拥有同样的激励机制和文化。但是产品负责人也会参加产品经理的会议讨论有关计划、待办事项列表和愿景的梳理等。

        作为产品管理团队的一员,产品负责人积极参与项目群待办事项列表细化和准备PI计划会议的工作,同时也积极参与PI计划。在PI计划之前,产品负责人更新团队待办事项列表,审查和参与制定愿景、路线图和进行内容展示。在PI计划期间,产品负责人参与用户故事定义,为团队澄清产品需求,以便团队进行用户故事估算和用户故事排序,并为项目群增量起草团队目标。

        敏捷团队:包含5-9名成员,并包括所有必要的角色,确保在每一次迭代中构建一个高质量且有价值的发布增量。这些角色包括Scrum Master、产品负责人、全职工作的团队成员,以及其他能为团队创造价值的专业资源。团队可以选择敏捷方法,比如:Scrum、ScrumXP或者看板方法。他们并非独立的单元,是敏捷发布火车的一部分,敏捷发布火车上的团队相互协作,并参与敏捷发布火车的关键仪式,他们负有交付大型价值的责任。

        敏捷火车上的团队都在一个共同的框架下运作,这个框架管理并指导整个火车的运行。这些团队共同制定计划、共同执行集成和演示、共同学习。每个团队的待办事项列表都是从项目群待办事项列表中衍生而来的。所有敏捷团队都使用相同的方法进行估算。

图3 敏捷团队共同计划、共同集成和演示、共同学习

        所有团队共同参加PI计划会议,在计划会议上,大家一起计划和承诺一系列的PI目标。大家都有一个共同的愿景和路线图,共同协作以达成目标。

        团队按照相同的敏捷发布火车节奏工作,在每个迭代开始时共同提出和沟通迭代目标。在敏捷发布火车同步时,各个团队也会互相更新状态,通过与其他团队的成员进行交互,从而积极地管理相互之间的依赖关系。团队在内部和这个火车上,都应用了内建质量,并在迭代内进行持续集成,同时所有团队共同协作,从而可以在每个迭代完成时进行系统演示。

        团队除了参加团队级别的回顾会议之外,也会参与更大的检视和调整会议,通过这种方式识别优先级,按优先级对改进故事进行排序,并将其放入后续的PI计划会议中进行处理。

团队层包含的工件:团队待办事项列表,迭代目标,可交付的增量

        团队待办事项列表代表了一个团队为提升系统需要做的所有事情的集合,它包含了用户故事和使能故事,其中大部分都来自于项目群待办事项列表,有些则是来自团队自己的具体场景。

        迭代目标:迭代目标是敏捷团队和产品负责人达成的共识,是可以在一个迭代内完成的业务和技术目标的高度概括性描述。迭代目标都提供了一种共同的语言,让项目群利益相关者、管理层和敏捷团队可以保持一致,管理依赖,并在项目群增量的执行过程中进行必要的调整。

迭代目标的作用

1 将团队成员对齐到共同的目标

图4 迭代目标帮助团队对齐

        迭代执行是一个快速和激烈的过程,两周的时间一晃而过。迭代目标可以帮助团队和产品负责人,回到他们最初计划发布业务价值时所达成的共识,保持团队和项目群PI目标的对齐,并帮助团队落地实现已确定的目标。

2 将项目群团队对齐到共同的PI目标并管理依赖关系

图5 迭代目标对齐团队到项目群PI目标,并帮助识别团队间的依赖关系

        SAFe团队并不是一些敏捷孤岛。相反,它们属于一个更大的项目群环境和目标的有机整体。因此,每个团队必须与其他团队和发布火车工程师就下一个迭代的目标进行沟通,从而能够确保大家保持对齐到项目群PI目标上。此外,各个团队的迭代目标也提供了发现和解决依赖关系的必要环境。

3 迭代目标提供了可视化及与管理层的沟通途径

图6 迭代目标提供了可视化及与管理层的沟通途径

        管理层应该了解团队正在进行的工作以及开展这些工作的原因,因为管理者负有责任去提高组织的开发能力并保证价值发布的成果。为此,将发布火车上的迭代目标进行汇总,从而得到一个简单的、文本化的、以两周为周期的工作内容概要。

团队层包含的事件:团队迭代、团队迭代计划、每日站会、迭代演示、迭代回顾

        团队迭代:团队迭代是敏捷开发的基本组成单元,每个迭代都是一个固定的时间盒,包含计划、执行、演示、回顾四个部分。SAFe的迭代长度是2周,这为团队提供了一个开发产品特性和组件的基本开发节奏。在这个短周期之内,团队需要完成迭代待办事项列表中用户故事的开发,与其他团队的输出结果进行集成,以及准备整个系统的演示等一系列工作。

        团队迭代是连续的,一个接着一个进行,以稳定的速度提供持续的商业价值交付。迭代的节奏是SAFe提到的第一个节奏。SAFe项目群增量(PI)的时间盒更长,由一组和谐的短迭代组成,每个PI的周期是8~12周。PI时间盒为敏捷发布火车上所有的团队提供了一个外部节奏。团队在这个时间盒里共同计划、共同集成和演示、共同学习成长。

        团队迭代计划:此处的团队迭代计划流程与Scrum中的方式大致相同,每个敏捷团队为下一个迭代(依据迭代待办事项列表)确定需要完成的故事,并将这些故事汇总成一组迭代目标。在SAFe 的PI计划会议中团队的待办事项已经确定或部分确定,团队迭代计划是细节层面的细化,也是对在敏捷发布火车PI计划过程中创建的初始迭代计划的调整。

        团队迭代计划会议的时间盒最多不超过4个小时。迭代计划会议的参与人员包括:产品负责人、Scrum Master负责主持会议、所有其他团队成员、任何其他利益相关者,包括来自其他敏捷团队或者敏捷发布火车的代表,以及负责某个专题的专家。

        团队迭代演示:在演示会议上,团队向产品负责人演示经过充分测试的价值增量,并且获得产品负责人的反馈。团队演示后,团队成员紧接着会参与整个系统的演示。团队演示的参与人员包括:敏捷团队,包括产品负责人和Scrum Master;敏捷交付火车中的其他利益相关者,或者本迭代中涉及的共享服务人员;业务负责人、高层管理者(发起人)、客户,还可能有其他团队的成员。演示的时间限制在1-2个小时。

        团队迭代回顾:团队迭代回顾是团队进行持续改进(SAFe精益-敏捷思想的支柱之一)的关键方式之一。

未完待续......

这篇关于什么是SAFe(规模化敏捷框架)2——团队层的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/228366

相关文章

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea

Gin框架中的GET和POST表单处理的实现

《Gin框架中的GET和POST表单处理的实现》Gin框架提供了简单而强大的机制来处理GET和POST表单提交的数据,通过c.Query、c.PostForm、c.Bind和c.Request.For... 目录一、GET表单处理二、POST表单处理1. 使用c.PostForm获取表单字段:2. 绑定到结

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte