大规模敏捷 Scaled Agile Framework (SAFe) 全面介绍

2023-10-23 11:11

本文主要是介绍大规模敏捷 Scaled Agile Framework (SAFe) 全面介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

企业敏捷 Scaled Agile Framework (SAFe) 是一个大规模敏捷框架,它不仅包括团队敏捷,还包括了价值流、投资组合、项目集等层级的敏捷管理方法和架构。

大规模敏捷框架 SAFe 是什么

SAFe 是一个企业级的大规模敏捷框架,它基于精益和敏捷的最佳实践。SAFe 框架可以分解为团队层、项目集层、投资组合层、价值流层。

  • 基于精益和敏捷原则
  • 为企业价值流、投资组合、项目集和团队提供详细的实施指导
  • 最大限度为企业利益相关者提供价值

敏捷框架的作用

SAFe 可以处理大规模复杂的应用开发,使用 SAFe 可以获得以下好处:

  • 生产效率提升 20-50%
  • 质量提升大于 50%
  • 产品发布缩短 30-75%
  • 员工满意度度和忠诚度提升

undefined

史诗是敏捷研发的顶级需求,它一般是一个比较大的工作量集合,例如也许需要几十个团队成员做上几个月的需求。因此史诗需要进一步拆分,拆分成比较小的史诗、产品特性、甚至团队可以用作开发的用户故事。史诗拆分成产品特性或用户故事后可以分配给敏捷开发团队,由团队与产品负责人(PO)进一步分析拆分和细化,直到团队可以用作开发的任务。

undefined

大规模敏捷框架(SAFe)的适用条件

  • 实施敏捷的范围包括多个投资组合、多个项目组团队。
  • 多个项目团队都在实施敏捷研发,项目组经常遇到障碍、延迟、甚至失败。
  • 多个项目团队之间的工作任务相互依赖。
  • 想在整个组织范围内实施敏捷,但又无法确定需要什么角色和岗位。
  • 想在整个组织范围内实施敏捷,但又不知如何在业务部门、投资组合层、项目集层、研发团队之间建立连续一致的策略。
  • 组织想提高产品研发效率,在同行业竞争中获得优势。

undefined

SAFe 和其他敏捷实践的差别

SAFe 与其他敏捷实践的差别在于:

  • SAFe 是一个免费使用的敏捷框架。
  • SAFe 有大量的说明材料可以获得。
  • SAFe 是一个经过实践证明实用的敏捷框架,适合大规模应用。
  • SAFe 会经常根据实际的实践经验进行更新。
  • SAFe 对于敏捷实践可扩展性强。
  • SAFe 适用于团队和整个企业。
  • SAFe 为这个软件研发生命周期提供了蓝图。
  • SAFe 对于组织的各个层面都是可视化的。
  • FAFe 可持续推进软件质量的提升,并获得反馈。

SAFe 的理论基础

SAFe 的理论基础包括精益-敏捷原则、敏捷核心价值、精益-敏捷领导、精益-敏捷思维、敏捷实践社区、敏捷的实施经验。

  1. 精益-敏捷原则

运用 SAFe 应该深入理解精益-敏捷原则

  • 采用经济的视角
  • 运用系统思考
  • 接受变化,保留选项
  • 快速构建增量,不团学习环
  • 以工作系统的客观评价作为里程碑的基础
  • 可视化和限制在制品,减少批量大小和管理队列长度
  • 掌握节奏,与跨域计划保持同步
  • 释放员工的内在动力
  • 非中心化决策
  1. 敏捷的核心价值

SAFe 敏捷基于四个价值观点。

对齐方式

对齐从投资组合战略开始,然后下移到远景和项目集产品列表,然后下移到团队的产品列表中

内建质量

  • 确保产品增量在交付之前满足质量标准。
  • 质量措施不是在软件研发的后期加入的。
  • 内建质量是精益的先决条件和强制要求。

信息透明

  • 信息透明可以增加信任。
  • SAFe 可以帮助企业在各层增加信息透明,包括高级管理层、投资组管理层和各利益相关者之间。
  • 每个人都可以查看到投资组合看板、项目集看板、和团队看板。
  • 每个层级都有可以很好理解的增量目标
  • 项目集可以可视化的看到团队产品列表,和其项目集的产品列表
  • 团队和项目集科可以看到业务和架构史诗,可以让项目层和团队明确自己的位置

项目集执行
SAFe 专注可以工作的系统和业务结果产出。
SAFe 帮助团队持续交付价值

  1. 精益敏捷领导

精益敏捷的领导者是终生学习者和教师。它通过理解和展示精益-敏捷安全原则来帮助团队构建更好的系统。

作为团队的推动者,最终的责任是采用、成功推进精益敏捷开发并和持续改进。为了变革和持续改进,必须对领导者进行培训。

领导者需要采用一种新的领导风格。一个真正的授权和鼓励个人和团队,以展现他们的最高潜力。

精益敏捷领导原则

  • 领导变化
  • 终身学习
  • 培养人才
  • 激励并与使命保持一致;最小化约束
  • 非中心化决策
  • 释放知识型员工的内在动力
  1. 精益敏捷思维

精益-敏捷思想包括两个方面:

  • 精益屋
  • 敏捷宣言

精益屋
SAFe 来源于精益生产实践和原则。SAFe 的精益屋展现方式来源于丰田汽车的精益屋。

精益目标:在最短的交货时间内,以最高的质量向客户提供最大的客户价值

敏捷宣言

敏捷是帮助人们更好的开发软件产品的一种方法。敏捷宣言是敏捷的核心精神。

个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划

相对于右侧,我们应该跟注重左侧。

敏捷原则

  1. 我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。

  2. 欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。

  3. 经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。

  4. 业务人员和开发人员必须相互合作,项目中的每一天都不例外。

  5. 激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。

  6. 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。

  7. 可工作的软件是进度的首要度量标准。

  8. 敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。

  9. 坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。

  10. 以简洁为本,它是极力减少不必要工作量的艺术。

  11. 最好的架构、需求和设计出自自组织团队。

  12. 团队定期地反思如何能提高成效,并依此调整自身的举止表现。

SAFe 中的层级

1. 团队层

角色 事件 制品(成果)
敏捷团队 冲刺规划 团队列表
产品负责人(PO) 冲刺列表梳理 非功能需求
敏捷教练(SM) 每日站站会 团队增量目标
  冲刺执行 迭代成果
  冲刺评审 用户故事
  冲刺回顾 冲刺目标
  增量(IP)冲刺 内建质量
    峰值
    团队看版
  • SAFe 团队都归属与一个敏捷发布火车🚄(Agile Release Train)。
  • SAFe 团队是一个充分授权、自组织、自管理、跨功能的团队。
  • SAFe 团队在固定期限的迭代中负责完善团队列表中的用户故事、构建产品并进行测试。

这篇关于大规模敏捷 Scaled Agile Framework (SAFe) 全面介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

Python中配置文件的全面解析与使用

《Python中配置文件的全面解析与使用》在Python开发中,配置文件扮演着举足轻重的角色,它们允许开发者在不修改代码的情况下调整应用程序的行为,下面我们就来看看常见Python配置文件格式的使用吧... 目录一、INI配置文件二、YAML配置文件三、jsON配置文件四、TOML配置文件五、XML配置文件

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio