聊聊大规模敏捷框架和测试启发

news2024/9/21 0:50:40

这是鼎叔的第七十三篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。

欢迎关注本公众号《敏捷测试转型》,星标收藏,大量原创思考文章陆续推出。

之前的敏捷实践介绍文章,都是以单个团队(独立交付特性的敏捷团队)的视角来描述过程的,这样的团队人数通常是5-9人,建议最多不超过15人。但实际上,知名公司敏捷转型往往涉及大部门的所有员工,甚至跨多个部门一起进行敏捷开发,相关全职人力动辄50人以上,甚至高达数百人。因此我们有必要引入大规模敏捷实践框架,对于多个特性团队(8个以上,甚至数十个团队)联合研发,该如何协调,交付更高层次的价值呢?

下面基于行业普及率很高的大规模敏捷框架-SAFe,简单介绍一些基础知识。

PART1 SAFe核心知识简介

SAFe(Scaled Agile Framework)是应用于大型企业的精益敏捷实践框架,已在众多世界500强公司中实施并获得成功,能够大幅提升生产率、质量和员工满意度,实现企业范围的可见性。目前该框架已经迭代到6.0版本。

之前介绍的Scrum主要从一线特性团队的视角来阐述具体的工作流程和原则,SAFe对更高层次的大团队视角进行了拓展,包括项目集层面,和项目组合层面。SAFe的知识理论来源很丰富,包括精益,敏捷,DevOps实践,系统思考领域等。

图片

下面是SAFe的实施路线图,为实施SAFe变革的领导者提供行动指引。

图片

项目集层面

项目集团队,管理一定数量的敏捷小团队,完成更大的企业目标,向客户交付完整的大型产品、系统或服务套件。相对于小团队敏捷,项目集面临更多的组织挑战,包括:愿景和路线图的维护,管理多团队的发布节奏,保障定期集成的质量,清除小团队无法控制的阻碍,面向终端用户部署整个系统。

在项目集团队中,单个的敏捷小团队可以区分为特性团队(对特性独立交付负责),组件团队(专门提供某一类架构能力,支撑特性团队的专项团队),此外项目集团队还要设立一个系统团队,和一个发布管理团队。前者负责项目集全局的系统测试,系统持续集成和开发基础设施。后者负责发布治理权限,面向终端用户交付高质量的解决方案。

为了确保多个团队交付功能的同步,项目集定义了ART(版本发布火车机制),以固定的时间频率(通常是2-3个月左右)完成一个可发布的增量内容(PI)。多个敏捷小团队在每个PI周期之初都要进行一次联合会议,制定PI的发布计划,澄清各团队彼此的依赖关系和风险,并记录行动措施,更新整个项目集团队的路线图。

项目组合层面

对于更高的企业视角,驱动的技术团队动辄数百人甚至上千人,那就需要定义产品主题(或者称投资主题),即能带来差异化市场竞争力的产品/服务价值主张。对此进行决策的是项目组合管理团队,通常由BU层面的决策者在每年的预算时作出。除了投资主题,管理团队还需要确认技术层面的架构跑道,它包括现有或计划中的基础设施,满足目前需求而不必过分重构,同时也包含系统级的非功能性需求(如性能,安全,可靠性,行业标准,系统设计约束等)。

明确了投资主题,就从中提取出史诗故事(或者称为篇章,Epic),它是大规模的开发行动,实现投资主题价值。同理,也要从架构跑道中提取出架构实现的史诗故事。

简单理解就是:单个独立小团队的迭代发布是以具体特性驱动,拆解为用户故事进行开发;而项目集增量发布是以史诗故事(Epic,投资主题中抽象出的价值)驱动,拆解为特性给到单个团队进行开发;项目组合发布是以投资主题和架构跑道驱动,拆解为史诗故事给到项目集团队进行开发。

PART2 测试启发

  一,提供项目集层面的专项测试资源。

对于项目集运作的大型产品或者产品集,除了安排在每个特性团队的专职测试人员,还需要考虑安排合适的专项系统测试人员,负责大型系统层面的质量保障,以期达到交付标准。比如系统级的复杂性能测试,安全渗透测试,升级测试和兼容测试等等。此外还需要指定持续交付测试的负责人,确保每日测试的自动化测试结果是健康的和完整的,出现风险能及时介入分析。

二,在ART版本发布火车的流程中建立特性合入的质量标准。

在ART指定的集成时间之前,特性团队的版本如果没有达到代码合入主线的质量标准,版本发布火车过时不候,只能在下次ART集成时提交了。因此,项目集要对各特性团队确认统一的合入质量标准,并在合入前确认特性测试通过的结果。合入后需要进行各项系统测试,确保合入后的整体质量达到能够系统发布的质量标准。

三、每个PSI开始的联合会议上,尽可能确认各特性间测试依赖关系和策略执行风险。

几个月一次的多个特性团队联合会议,是非常难得的一次碰头脑暴的机会,各特性测试负责人和系统测试负责人、主管和测试架构师,都需要利用这次机会好好梳理,搜集系统测试需要掌握的产品和技术知识。例如:

不同的特性测试是否有先后依赖关系,测试次序是否要调整?自动化用例建设是否也需要调整次序?

测试设备和环境是否充足,是否影响并行的特性测试,如果影响应该如何协调?

对于列出的风险,是否已有初步对策?如果没有,谁需要保持观察和优先响应?

对于项目集团队决策的ART合入和特性发布计划,及产品路线图,从质量角度看,是否有信心按时完成?

四、评估项目集的测试技术债(技术需求)优先级

和特性评估类似,要综合考虑实现工作量和延迟成本,延迟成本越大,工作量越小,优先级应该越高。

测试技术需求的延迟成本和下列几个因素有关:

  • 商业价值。需求实现能降低多大的公司运营成本?包括能减少多少的测试总投入成本。提高多少用户的体验满意度?

  • 时间价值。实现价值如何随着时间推移而衰减,衰减越快说明优先级权重越高。比如现阶段实现的自动化能力能大幅提高测试效率,但是后期的使用率就可能迅速减少了,那就应该提高优先权重。

  • 让未来的风险降低或者提升新的价值机会。比如越能预警发布质量事故的工具需求,这块权重就越大。

PART3 大规模敏捷的更多思考

1 敏捷企业必学的OKR系统,是一个建立明确目标和可衡量成果的协作性框架,因此,OKR非常适合支持SAFe中的核心价值,即投资组合战略的敏捷交付,保持其中的ART和敏捷团队工作之间的透明性和一致性。此外,OKR还可应用于衡量组织改进活动,包括SAFe转型的预期成果。

2 最小的独立团队是自组织的特性团队,开发人数5-9人,交付物是特性及其用户故事(包括非功能故事),其拆分估算的最小工作单位是任务。

大一些的团队是项目集团队(多个特性团队的集合),交付物是产品的史诗故事,及其特性组合,拥有逐步实现产品愿景的特性发布计划。

最大规模的是项目组合/企业级敏捷团队,按投资主题和架构跑道进行规划,周期一年以上,按篇章(史诗故事)进行交付内容的拆解。

总结一下敏捷团队交付物的大小,从小到大依次是:任务(不能独立交付),用户故事,特性故事,篇章(史诗故事),投资主题或架构跑道。

3 SAFe组织实践的里程碑是PI(增量发布),通常每十周可以完成一个PI里程碑。

SAFe变革团队要力争在3个月拿出一期业务交付成果,否则可能因为管理层的耐心不足而导致变革中止。按照上面交付物大小的梳理,单个用户故事不要跨迭代交付,单个特性不要跨PI交付。

记住:企业高管层引入SAFe这类大规模敏捷框架,并不是为了让各个部门更加灵活敏捷,而是要看到交付的价值是否更快更好。团队规模越大,变革的成本越高,务必以终为始,看到上市效率和口碑的提升。

4 SAFe变革要系统组织团队,让不同特性团队的集成能够快速整合,因此要在组织中设立一个敏捷变革中心,自上而下驱动子团队变革。

一线scrum团队可以区分为四类,特性开发团队,组件开发团队,平台系统团队,赋能(专家/教练/管理)团队。后者的成员可能会为多个前者团队对接服务。

5 在一线Scrum小团队中适用的敏捷变化措施,一下子拿到大规模团队,借助高管的支持来实施,可能会导致意料之外的负面评价。

比如鼎叔之前文章提到的“故事点估算实践”,对于一线开发小团队来说是个很好的集体沟通和反思的措施,有利于澄清技术复杂度信息。如果贸然推广到所有团队,让彼此能看到各个团队的故事点,很多人会觉得这是个愚蠢的数据晾晒,不同团队当然估算结果不同,晾晒出来就可能被管理者强制(暗示)拉通。虽然推广它的初衷是不用于绩效和团队PK,但是一线人员不会这么想,在反对情绪下也不会耐心听解释或自我尝试。

因此,敏捷改进从小团队传播到大团队,还是得借助口碑的力量,谨慎利用权力,优先发挥一线团队的自主性。

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

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

相关文章

R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享...

全文链接:https://tecdat.cn/?p33514 综合社会调查(GSS)是由国家舆论研究中心开展的一项观察性研究。自 1972 年以来,GSS 一直通过收集当代社会的数据来监测社会学和态度趋势。其目的是解释态度、行为和属性的趋势和常量。从 197…

口碑最好的洗地机排名 洗地机哪个牌子性价比高

口碑最好的洗地机排名 洗地机哪个牌子性价比高 洗地机,作为现代家庭和商业环境中必备的清洁设备,既方便又高效。不过,面对市场上众多的洗地机品牌,我们该如何选择呢?毫无疑问,我们都希望能够找到一款口碑最…

vue中使用window.open打开assets文件夹下的pdf文件

需求:系统有个操作手册,点击会在浏览器新开个窗口并打开pdf文件。这个pdf文件存储在本地assets文件夹中。 文件结构: 注:直接使用window.open(文件路径)不能打开,需要在vue.config.js中配置所需文件 引入图中红框中的…

AMD 锐龙 8000系 APU 将补完其产品线,推出 12C24T16CU 和 16C32T40CU

我们大家都知道一直以来,AMD 的 APU 只到 R7,也就是 R7-x700G 和 r7-x800H。虽然也有 R9-x900HX,但它毕竟是 x800H 硬超上去的,核心数完全一样,并不能叫做真正的 R9。 究其原因,AMD 的 APU 是移动端优先的…

如何将Word中的中文数字转化为阿拉伯数字

例如这种情况: 需要把这些汉字数字改为阿拉伯数字。 步骤1:在任意位置输入“第章”,然后把光标放到“第”和“章”的中间,然后ctrlf9插入域,在域里面输入 autonum,然后按altf9 显示域值。 按下altF9后 第 …

优化案例5:视图目标列改写优化

优化案例5:视图目标列改写优化 1. 问题描述2. 分析过程2.1 目标SQL2.2 解决思路1)效率低的执行计划2)视图过滤性3)查看已有索引定义 2.3 视图改写2.4 增添复合索引 3. 优化总结 DM技术交流QQ群:940124259 1. 问题描述…

Typora 远程代码执行漏洞(CVE-2023-2317)

Typora 远程代码执行漏洞 【CVE-2023-2317】 一、产品介绍二、影响版本三、漏洞复现四、深入复现1.启动teamserver服务2.cs生成exe马子3.开启http.server4.导入组合拳到md文件(1)下载马子的第一个命令,自行base64解密修改路径(2)执行马子的第二条代码,注…

【高级程序设计语言C++】右值引用

1. 左值引用和右值引用2. 修改的右值3. 左值引用和右值引用的比较3.1. 左值引用总结3.2. 右值引用总结 4. 右值引用使用场景和意义5. 完美转发 1. 左值引用和右值引用 什么是左值?什么是左值引用? 左值是一个表示数据的表达式(如变量名或解引用的指针)…

计算机网络 概述部分

目录 计算机网络在信息时代的作用 计算机网络的重要特征 网络,internet,Internet的区别 局域网 广域网的区别 网络协议的分层 计算机网络在信息时代的作用 计算机网络的重要特征 连通性:彼此联通,交换信息 共享性:信息共享…

精准运营,智能决策!解锁天翼物联水利水务感知云

面向智慧水利/水务数字化转型需求,天翼物联基于感知云平台创新能力,提供涵盖水利水务泛协议接入、感知云水利/水务平台、水利/水务感知数据治理、数据看板在内的水利水务感知云服务,构建水利水务感知神经系统新型数字化底座,实现智…

WebGpu VS WebGL

推荐:使用 NSDT场景编辑器 助你快速搭建3D应用场景 WEBGPU VS. WEBGL 粗略地概述一下WebGPU与WebGL的不同之处是很有用的。在不涉及太多复杂的技术细节的情况下,两者的整体设计大致如下: WebGL和OpenGL一样,涉及许多单独的函数调…

Docker基础入门:容器数据卷与Dockerfile构建镜像(发布)

Docker基础入门:容器数据卷与Dockerfile构建镜像(发布) 一、docker容器数据卷1.1、使用docker容器数据卷1.2、具名挂载、匿名挂载1.3、如何确定是具名挂载还是匿名挂载 二、使用dockerfile2.1 初识Dockerfile2.2 Dockerfile构建过程2.3 Docke…

Nacos 未授权访问(CVE-2021-29441)

Nacos 未授权访问(CVE-2021-29441) Nacos是阿里巴巴推出的一个新的开源项目。它是一个动态的服务发现、配置管理和服务管理平台,可以更轻松地构建云原生应用程序。致力于帮助发现、配置和管理微服务。Nacos 提供了一套简单易用的功能集,可以快速实现动态…

火山引擎 DataLeap 助你拥有 Notebook 交互式的开发体验

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 Notebook 是一种支持 REPL 模式的开发环境。所谓「REPL」,即「读取-求值-输出」循环:输入一段代码,立刻得到相应的结果&#xff…

SAP_ABAP_接口技术_PI实践总结

SAP ABAP顾问能力模型梳理_企业数字化建设者的博客-CSDN博客SAP Abap顾问能力模型https://blog.csdn.net/java_zhong1990/article/details/132469977一、背景说明 1.1 案例介绍 1.1.1 实现OA系统 --> PI系统 --> SAP系统的过程 二、实现步骤 1.2 PI中间件的实现过程 …

LabVIEW | 串口基础【自学】

转载 B站   up:不烧板子 地址:https://www.bilibili.com/read/cv9435378 原博图片不清楚,自己重新跟学截图自留,侵删 文章目录 一、串口基础1.串口发送(1)简单发送(2)循环发送&…

第三方ipad电容笔哪个牌子好用?开学好用电容笔推荐

现在,市面上有很多种类型的电容笔,在选择的时候,我们很容易踩雷,比如,我们购买的一些产品在书写过程中,往往会出现断触,或者是防误触功能不起作用。所以我们买东西的时候必须要注意产品配置。对…

87. 扰乱字符串

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 解题思路: 对于给定的两个字符串S和T。 如果S和T的长度不相等,T肯定不是S的扰乱字符串。 如果S和T的长度相等,则可以在某一个随机下标处进行…

空时自适应处理用于机载雷达——波束空间空时自适应处理(Matla代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

[CFI-CTF 2018]powerPacked 题解

脱掉upx壳 逻辑很简单 str"EHK}kanqxgarqygtre" flag"" for i in str:flagchr(ord(i)-2) print(flag) CFI{i_love_powerpc}