SAFe(Scaled Agile Framework)学习笔记

news2025/7/19 16:10:45

1.SAFe 概述

SAFe(Scaled Agile Framework)是一种面向大型企业的敏捷开发框架,旨在协调多个团队和部门的协同工作,以实现高效的软件开发和交付。下面是SAFe框架的简单介绍总结:

SAFe框架包括以下四个层次:

  • Portfolio层:在这个层次上,管理人员确定公司的战略和目标,并负责管理整个组织的资金和资源分配。
  • Program层:在这个层次上,多个团队协同开发一个或多个产品,形成一个“敏捷发布列车(Agile Release Train)”。
  • Team层:在这个层次上,各个团队负责完成特定的功能或任务,并将其集成到产品中。
  • Individual层:在这个层次上,个人在团队中负责实现具体的任务和功能。

SAFe框架的核心理念包括:

  • 敏捷思想:SAFe框架是建立在敏捷思想之上的,包括以人为本、持续交付、迭代和增量开发等。
  • 系统思考:SAFe框架鼓励团队和组织从整体上考虑问题,将复杂的系统分解为更小、更可管理的部分。
  • 持续改进:SAFe框架鼓励团队和组织不断地反思和改进自己的工作方法和流程。
    在这里插入图片描述

SAFe框架中的一些重要概念包括:

  • Agile Release Train(ART):ART是SAFe框架中的一个核心概念,它是一个由多个团队组成的敏捷团队,共同协同开发和交付一个或多个产品。
  • PI Planning:PI Planning是SAFe框架中的一个重要活动,旨在协调多个团队的计划和开发工作,确保整个组织在每个Program Increment期间都能够交付高质量的产品。
  • Feature:在SAFe框架中,Feature指的是一个独立的、完整的、可验证的业务价值,是产品开发的基本单位。
  • Epic:Epic是一个大型的、跨部门的功能集合,需要分解为更小的特性和故事点来实现。

2. SAFe精髓

SAFe(Scaled Agile Framework)是一种广泛使用的敏捷开发框架,SAFe框架的精髓在于它提供了一种协调大规模敏捷开发的方式,并强调价值导向、持续集成和持续交付等敏捷开发的核心原则。它的完整的框架可以帮助团队更好地实施敏捷开发,并提高团队的效率和质量。它的精髓在于:

  • 能够协调大规模敏捷开发:SAFe框架提供了一种能够协调多个团队、多个项目和多个部门的方式,让大规模的敏捷开发变得可行。它提供了一种标准化的流程、角色和术语,使得不同团队之间的协作变得更加容易。

  • 强调价值导向:SAFe框架始终强调价值导向,将客户价值放在最高的位置。它通过价值流分析和价值流管理,帮助团队了解客户需求,同时确保团队开发的功能都是有价值的。

  • 强调持续集成和持续交付:SAFe框架支持敏捷开发的核心原则,包括持续集成和持续交付。它鼓励团队在开发过程中频繁集成代码和测试,使得团队能够快速地检测和解决问题,并让功能能够快速地交付给客户。

  • 提供完整的框架:SAFe框架不仅仅是一种方法论,它是一整套完整的框架,包括组织结构、角色和职责、流程、工具和方法等。这种完整的框架能够帮助团队更好地实施敏捷开发,从而提高团队的效率和质量。

在这里插入图片描述

3. SAFe和SCRUM敏捷流程的相同点和区别

SAFe(Scaled Agile Framework)和Scrum都是敏捷开发的流程方法,它们有一些相同点和区别。

相同点:

  • 都强调团队合作和迭代开发。
  • 都强调在变化和不确定性的环境下快速适应客户需求。
  • 都强调持续集成和自我组织的团队。

区别:

  • 适用范围不同:SAFe框架适用于大规模的企业级应用开发,而Scrum适用于中小型团队的应用开发。
  • 团队组织方式不同:SAFe框架采用了分层的组织结构,包括组织层、价值流层、程序层和团队层;而Scrum则是一种基于团队自我组织的方法,没有固定的组织结构。
  • 角色不同:SAFe框架包括多个角色,如产品经理、产品所有者、系统架构师等;而Scrum则只有三个角色:Scrum Master、产品所有者和开发团队。
  • 流程和文档不同:SAFe框架在流程和文档上比Scrum更加详细和丰富。SAFe框架提供了完整的开发流程、工具和方法,同时也包括了详细的文档,如特性、冲刺计划、冲刺评审、需求文档等;而Scrum只有简单的流程和文档,如产品待办事项、冲刺计划和冲刺回顾等。

SAFe框架和Scrum都是敏捷开发流程方法,它们有相同点和区别。SAFe适用于大规模的企业级应用开发,采用了分层的组织结构、多个角色和详细的流程和文档;而Scrum适用于中小型团队的应用开发,采用了团队自我组织、简单的流程和文档。选择哪种方法应该根据实际需求和项目规模来决定。

4. SAFe框架的完整的开发流程、工具和方法

SAFe(Scaled Agile Framework)框架是一种大规模敏捷开发框架,它包括多个层次和组件,提供了一个完整的、可重复使用的开发流程,旨在帮助组织以一种更加协调的方式交付高质量的软件产品。以下是SAFe框架的完整的开发流程、工具和方法的详细阐述。
在这里插入图片描述

  • 建立组织层(The Organizational Level):SAFe框架的第一步是建立组织层,这是指整个企业或组织的顶层管理,它为整个框架提供了领导力、财务和战略方向。在这一层次,通常需要定义组织的愿景、使命和价值观,并确定企业战略和产品路线图。

  • 建立价值流层(The Value Stream Level):组织层下面是价值流层,它是指一系列相关的价值交付活动,包括产品经理、需求分析、开发、测试和发布等。在这一层次,需要识别所有的价值流和价值流中的价值流程,并为每个流程定义相应的角色、负责人和流程。

  • 建立程序层(The Program Level):程序层是指跨团队的多个敏捷团队,共同协作交付一个共同的产品或解决方案。在这一层次,需要创建一个价值流程组合(Value Stream Solution),并且由一个主要的团队负责领导协调。在程序层中,通常需要制定一个特性路线图(Feature Roadmap),并为每个冲刺(Sprint)制定计划。

  • 建立团队层(The Team Level):团队层是指单个敏捷团队,负责实现特定的需求和开发功能。在这一层次,通常需要采用Scrum方法,包括每日站立会议、Sprint回顾和Sprint计划等。此外,团队层也需要采用XP(Extreme Programming)方法,如测试驱动开发、持续集成等。

采用工具和方法:SAFe框架提供了一些工具和方法,以帮助组织实现敏捷开发。这些工具和方法包括:

  • Agile Release Train:它是一个跨团队的敏捷开发流程,由多个敏捷团队组成,它们协作完成一个共同的目标。

  • PI Planning:它是一个两天的活动,旨在帮助整个团队在一个特定的时间段内协同制定产品

以下是SAFe的三个核心概念Feature Roadmap、Agile Release Train、PI Planning的详细描述。

  • Feature Roadmap
    Feature Roadmap是一个逐步建立的特性路线图,它描述了在一个时间范围内需要交付的所有特性,以及它们的交付时间表。在SAFe框架中,特性是指一个独立的、完整的、可验证的业务价值。Feature Roadmap用于支持跨团队的特性计划,并为组织提供一个总体的特性视图。
    在建立Feature Roadmap时,需要从顶层组织开始,确定组织的战略和产品愿景,然后将其转化为特性的清单。接下来,需要将特性按照其优先级排序,并将它们分配给不同的版本和时间框架,以支持持续的特性开发和交付。

Feature Roadmap是SAFe框架中的一个重要概念,用于协调多个团队的特性计划,并提供整个组织的特性视图。Feature Roadmap是一个逐步建立的特性路线图,它描述了在一个时间范围内需要交付的所有特性,以及它们的交付时间表。在SAFe框架中,特性是指一个独立的、完整的、可验证的业务价值。

下面是一个例子来说明Feature Roadmap的使用。

假设我们是一个电商公司,我们决定使用SAFe框架来开发我们的电商平台。首先,我们需要确定我们的产品愿景和战略目标,例如,“成为一个全球领先的电商平台,提供最好的购物体验和服务”。

接下来,我们需要将这个战略目标转化为可行的特性清单。例如,我们的特性清单可能包括:

购物车功能:允许用户将多个商品添加到购物车中,然后一起结账。

支付系统:提供多种支付方式,并确保安全的支付流程。

会员中心:允许用户注册成为会员,并提供个性化的推荐服务和折扣。

物流跟踪:允许用户跟踪他们的订单,并提供实时的物流信息。

社交媒体功能:允许用户分享他们的购物体验,并与其他用户互动。

接下来,我们需要将这些特性按照优先级进行排序,并将它们分配到不同的版本和时间框架中。例如,我们可以将购物车功能和支付系统功能分配到第一个PI(Program Increment),会员中心和物流跟踪功能分配到第二个PI,社交媒体功能分配到第三个PI。

在制定Feature Roadmap时,我们还需要考虑到不同团队的资源和能力。例如,我们可以将购物车功能分配给前端开发团队,支付系统分配给后端开发团队,会员中心分配给个性化推荐团队等等。

通过Feature Roadmap,我们可以实现多个团队的协同开发,使得整个电商平台的开发过程更加协调和高效。同时,Feature Roadmap还可以帮助我们确保开发出的特性是有价值的,并符合我们的战略目标。

  • Agile Release Train

Agile Release Train(ART)是一个跨团队的敏捷开发流程,它由多个敏捷团队组成,这些团队协同完成一个共同的目标。ART是一个按照时间表和版本进行协调的团队集合,它的目标是为客户和利益相关者提供一个可预测的交付周期。

ART的时间表通常是由PI(Program Increment)计划来确定的,PI计划是一个12周的开发周期,用于支持跨团队的协同计划。ART中的所有团队都必须遵循共同的开发流程和规范,包括同步冲刺计划、协作开发、持续集成、系统演示和回顾等。
ART是SAFe框架的核心,它提供了一种可重复使用的、可预测的交付方法,使团队能够快速适应不断变化的市场需求。

假设一个公司正在开发一个电子商务平台,该平台需要多个团队的协同开发。为了实现高效的协同开发和交付,公司决定采用SAFe框架,并将所有相关团队组织成一个Agile Release Train(ART)。

在这个ART中,每个Program Increment(PI)的时间长度为12周。在每个PI开始之前,所有的团队都会参加一次PI Planning活动,以确定该PI期间的目标和计划。

在这个例子中,ART包括以下四个团队:

  • Web团队:负责开发和维护电子商务平台的网站前端,包括网页设计、交互设计、前端开发等工作。

  • API团队:负责开发和维护电子商务平台的API接口,包括后端开发、数据库设计等工作。

  • 移动端团队:负责开发和维护电子商务平台的移动端应用,包括iOS和Android两个平台。

  • 测试团队:负责进行各种类型的测试,包括自动化测试、手动测试、性能测试等工作。

在每个PI期间,每个团队都会完成一些特定的Feature和User Story。在每个团队内部,他们会采用Scrum框架进行敏捷开发,包括Daily Scrum、Sprint Planning、Sprint Review和Sprint Retrospective等活动。

在ART层面,所有团队的工作会在PI Planning活动中进行协调,以确保整个平台能够在每个PI期间内按时交付高质量的软件产品。同时,ART还会定期进行系统演示、系统整合和系统验证等活动,以确保各个团队的工作能够顺利集成和交付。

  • PI Planning

PI Planning是一个由整个ART团队参与的两天活动,旨在帮助整个团队在一个特定的时间段内协同制定产品和特性的开发计划。PI Planning在SAFe框架中是非常重要的,因为它为团队提供了一个统一的、协同的计划视图。

在PI Planning期间,团队将一起评估当前的状态,审查特性清单,并确定下一个PI的目标。团队会根据当前的业务需求和愿景,制定一个可行的开发计划,并将计划分配给不同团队。

在PI Planning活动中,所有团队会参加一个两天的会议。第一天会议的重点是确定ART的目标和里程碑,以及确定每个团队的贡献和计划。在这个过程中,团队会制定一个PI Objectives,也就是该PI期间希望完成的具体目标和计划。

例如,在上面的例子中,前端团队的PI Objectives可能是实现一些新的UI特效和优化用户体验,后端团队的PI Objectives可能是实现一些新的数据处理和查询功能,移动端团队的PI Objectives可能是实现一些新的移动端特性和提升应用性能。

第二天的会议重点是确定团队的迭代计划和任务分配。在这个过程中,团队会制定一个详细的迭代计划,包括迭代期间需要完成的具体User Story和任务,以及团队成员之间的工作分配和时间安排。

例如,在这个例子中,前端团队的迭代计划可能包括实现一个新的购物车功能和一个商品详情页面,后端团队的迭代计划可能包括实现一个新的用户登录和数据备份功能,移动端团队的迭代计划可能包括实现一个新的消息推送和应用性能优化。

通过PI Planning活动,所有团队能够清晰地了解ART的目标和计划,以及各自的贡献和任务分配。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/369507.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

金测评 手感更细腻的游戏手柄,双模加持兼容更出色,雷柏V600S上手

很多朋友周末都喜欢玩玩游戏放松一下,在家玩游戏的时候,PC是大家常用的平台,当然了,玩游戏的时候用键鼠的话,手感难免差点意思,还是要手柄才能获得更好的体验。我现在用的是雷柏V600S,这是一款支…

飞鹅打印机怎么样?飞鹅打印机好用吗?飞鹅打印机怎么知道订单是否漏单?

外卖打印机怎么选?飞鹅打印机好用吗?飞鹅智能云打印机产品专注于云打印的解决方案和技术服务提供。2019 年飞鹅已经成为国内先进的云打印服务提供商,主要是服务美团、饿了么客户,产品主要优势:自动接单、自动打印,无需…

美好音乐不只在现场,索尼播放器NW-WM1ZM2和NW-WM1AM2满足聆听热爱

当两点一线的单调生活成了多数人的生活常态,那些有过程有讲究的仪式感开始变得弥足珍贵起来,爱乐者们不远千里奔赴音乐节、Livehouse的现场,除了追求当下高燃兴奋的感受,同样是为了获得一份全心投入的听音仪式感。而当不便出行的日…

.net core 本地环境切换网络遇到的问题 500.19 502.5 invalid_request

问题一 运行环境 IIS 部署.NET CORE 项目 出现 HTTP 错误 500.19 - Internal Server Error附上.NET CORE2.1版本的下载链接下载 .NET Core 2.1 (Linux、macOS 和 Windows) (microsoft.com)下载完成以后重启IIS,有的版本还需要在IIS设置.NET CLR版本为无托管代码二 H…

从0开始写Vue项目-Vue实现用户个人信息界面上传头像

从0开始写Vue项目-环境和项目搭建_慕言要努力的博客-CSDN博客从0开始写Vue项目-Vue2集成Element-ui和后台主体框架搭建_慕言要努力的博客-CSDN博客从0开始写Vue项目-Vue页面主体布局和登录、注册页面_慕言要努力的博客-CSDN博客从0开始写Vue项目-SpringBoot整合Mybatis-plus实现…

mybatis-plus深入学习篇(三)

mybatis-plus深入学习篇(三) 1 准备工作 1.1 建表sql语句(Emp表) SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0; -- ---------------------------- -- Table structure for emp -- ---------------------------- DROP TABLE IF EXISTS emp; CREATE TABLE emp (EMPNO int …

java原理4:java的io网络模型

文章目录1:基础概念1:同步和异步2:阻塞和非阻塞2.1:阻塞IO2.2:非阻塞io2.3:io复用3:同步/异步和阻塞/非阻塞3.1:同步非阻塞NIO4: redis为什么速度快Java 网络IO模型简介1&#xff1a…

VMware ESXi 8.0b - 领先的裸机 Hypervisor (Dell HPE Custom Image update)

本站发布 Dell 和 HPE 定制版 ESXi 8.0b 镜像 请访问原文链接:https://sysin.org/blog/vmware-esxi-8/,查看最新版。原创作品,转载请保留出处。 作者主页:www.sysin.org 产品简介 VMware ESXi:专门构建的裸机 Hyper…

HTB-Photobomb

HTB-Photobomb信息收集开机提权对于问题的思考信息收集 端口扫描 目标首页 有一个http Authorization 目录扫描 在查看源码的时候发现了一个js文件。 并且发现了访问不存在的目录会出现错误提示。 通过搜索得知 Sinatra 是一个基于 Ruby 语言的 DSL(领域…

2. Dart 开发工具环境配置

很多编辑器都可以用来开发dart,所以大家可以选择自己喜欢的编辑器去进行开发。我还是比较喜欢vs code如果你不用vs code来开发dart的话,这篇文章可以直接跳过。如果想要在vs code里有dart的语法提示,我们需要安装相关的插件如图点开插件输入d…

MySQL高可用 集群(MHA)

1. MHA集群概述 集群的定义:多台服务器一起提供相同的服务,如(web集群)等。常见集群的分类: LB(负载均衡集群):服务器共同平均分摊处理客户端的多次连接请求。 HA(高可用…

python库streamlit学习笔记

什么是streamlit? Streamlit是一个免费的开源框架,用于快速构建和共享漂亮的机器学习和数据科学Web应用程序。它是一个基于Python的库,专为机器学习工程师设计。数据科学家或机器学习工程师不是网络开发人员,他们对花几周时间学习…

Python近红外光谱分析与机器学习、深度学习方法融合实践技术

、 第一n入门基础【理论讲解与案 1、Python环境搭建( 下载、安装与版本选择)。 2、如何选择Python编辑器?(IDLE、Notepad、PyCharm、Jupyter…) 3、Python基础(数据类型和变量、字符串和编码、list和tu…

教你如何搭建培训机构-教务管理系统,demo可分享

1、简介 1.1、案例简介 本文将介绍,如何搭建培训机构-教务管理。 1.2、应用场景 可对排课、上课点名、课堂点评、作业发布进行管理。 2、设置方法 2.1、表单搭建 1)新建表单【学员】,字段设置如下: 名称类型学员成员单选姓…

STM32—独立看门狗(IWDG)

什么是看门狗? 在由单片机构成的微型计算机系统中,由于单片机的工作常常会收到来自外界电磁场的干扰,造成程序跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成…

Python Unittest框架

1、unittest简介 unittest是Python自带的单元测试框架,具备编写用例、组织用例、执行用例、输出报告等自动化框架的条件,主要适用于单元测试,可以用来作自动化测试框架的用例组织执行框架。 2、unittest框架的特性: 提供用例组织与执行:当测试用例只有几条的时候可以不考虑…

notepad++如何快速批量搜索复制,3步搜索+标记所在行+复制书签行

一。缘起 用习惯了 某edit, 突然用notepad很不习惯,至少3处不习惯:列操作,批量复制搜索行,和是txt文件比较。 另外一直坚持认为,不提供快捷键操作的软件不是好软件:)当下屏幕对眼睛迫害至深的时…

【正点原子FPGA连载】第十七章双核AMP实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第十七章双核AMP…

使用FVM管理Flutter SDK版本切换

window下配置fvm版本切换工具,管理flutter sdk版本的切换 一、配置flutter dart环境 使用前需要先配置flutter dart环境,才能下载jvm 已经配置好环境的,在命令框中输入dart --version验证是否安装成功 C:\Users\topqizhi>dart --versi…

前端导出表格 修改样式(xlsx-style)用法

一. 应用机制 xlsx-style 修改样式的机制 就是选中哪一行,那一列或者哪一个 然后去修改 比如表格最左上角的一个格子 坐标是(0, 0)下标 也可以叫做 A1 选中之后 可以修改其样式 二. 实战讲解 1. 下载依赖 npm install xls…