InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

瑞士邮政服务的大规模 Scrum

  • 2015-09-27
  • 本文字数:2595 字

    阅读完需:约 9 分钟

瑞士邮政服务在 7 个团队中使用了大规模 Scrum(scaled Scrum),以实现对旧系统的取代。Ralph Jocham 在 2015 敏捷希腊峰会上在他的演讲中,介绍了他们利用大规模 Scrum 在 7 个团队中实现 10 个月交付 18 个应用的经验——瑞士邮政服务的大规模 Scrum

InfoQ 采访了 Jocham,谈论了他们如何扩展 Scrum 以及如何处理历史遗留问题、使用完成的定义、他们如何成功提前三个月交付他们的系统的、以及从该项目中获得的主要经验和教训。

InfoQ:您能描述一下,您是如何在多个团队之间扩展Scrum**** 的?

Jocham: 基于经验主义和自组织的大规模 Scrum 其核心应该还是 Scrum。扩展主要是针对管理依赖问题,以确保正确的消息在正确的时间出现在正确的位置。为了实现这一点,需要不同的团队进行额外的交流,实现对 Scrum 的扩展。最低限度,你需要解决架构问题,横切特性,和质量问题。最重要的是,你需要确保在冲刺阶段的任何特定的时候,拥有一个可发布的增量——只有那样,你才算“完成”并且没有遗留下工作。为了使它成为可能,当持续集成不再削减的时候,你需要努力持续交付。

我们在 Scrum.org 开发的 NEXUS 框架(参见 Scaled Professional Scrum 和 NEXUS )正好解决了这些问题。在扩展过程中,没有统一的答案,但是不要跟许多扩展方法一样,陷入方法陷阱。即使是大规模,你仍然需要经验,和建立自组织。让正确的方法自己出现。

InfoQ:Scrum**** 是用来替代传统产品的。这是否给团队带来了更多的挑战?

Jocham: 现有的系统越来越跟不上时代了。现有的软件还是一个 WindowsCE 应用,硬件已经不再支持这样的应用了。即使这套系统仍然可以运行,它也不得不被替换。

它是否带来了更多的挑战?好吧,我们必须确保新的产品涵盖了所有需要的功能,并且能够被目前超过 22000 基数的用户群愉快地接受。多年以来,怪癖成为了特性。所以我们必须密切关注易用性。但是,因为我们的服务对象是终端用户,所以这本身并不是一个挑战,并且,在很早的阶段,我们已经要求他们投入精力了。他们也参与了产品待办事项列表中的待办项的初始创建:通过不断地精细化,完成了待办项工作。包括 UI 线框图,和明确的最低验收标准。通过每两周一次的冲刺评审,我们会关闭经验反馈回路。

就个人而言,我不会区别对待旧系统的更换与新产品的开发。最后,所有的一切都是关于实现价值最大化(结果对抗输出)和使客户或者终端用户开心。

InfoQ:您在处理遗留问题时有没有量身定制Scrum?

Jocham: 在 Scrum 指南中,我们是这样描述精细化流程的:产品待办事项列表精细化是在产品待办事项列表中向待办项添加细节、预算和规则的行为。这是一个持续的过程,在这个过程中需要产品拥有者和开发团队共同合作,处理产品待办事项列表中待办项的细节。

由于我们邀请了最终的终端用户——邮差——进入精细化环节,所以我们的确改变了 Scrum。但是这是在一个非常详细的层次上进行的。这样做后,通过经验反馈循环,我们的终端用户很快就看到了 Scrum 的优势,并将其拥抱。然而因为精细化不是一个官方的 Scrum 项目, 因此我想简短地回答“不,我们没有量身定制 Scrum”。

但是,我们通过在开发团队之间进行额外的交流(基于 CDE 的研讨会——容器差异交流,其对自组织的影响正如 Glenda H.Eoyang 在 2001 年著作的《Facilitating Organization Change: Lessons from Complexity Science》一书中描述的一样)对 Scrum 进行了扩展。其中对特性、架构和测试依赖的交流正在落实当中。由于 Scrum 是一个框架,因此能够很好并有意识地向其中添加规范和元素。

InfoQ:您能描述一下"完成"的定义吗?

Jocham:“完成”的定义主要是关于质量、可维护性和增强能力。这是一个大型项目,在巅峰时大约有 100 人参与其中。从一开始我们就确保,一旦推出这个设备,那么产品将进入维护模式,我们之后的团队将会继承质量方面的自测试系统,他们是:确认和验证。

我们对所有的业务逻辑功能,并为每个业务模式都进行了 90% 覆盖率的测试,其中业务模式包括在浏览器里实施的基于 Selenium 的 UI 测试和在 Android 设备上的 Appium 测试。事实上,高覆盖率的测试并不能保证质量,但是要想获得高质量通常需要高覆盖率的测试。所有这一切共同使我们能够确切地知道我们的产品是否“完成”与否。

除了上文提到的质量问题,我们也对常规编码标准进行了符合性检查,以及拥有已实现要求的最新文档,测试案例,软件架构和界面。

最后,我们要确保该产品是国际通用的,比如在瑞士,我们不得不用三种语言实现它:德语、法语和意大利语。

InfoQ:您成功实现了提前三个月交付产品。您能解释一下,使这一切成为可能的成功因素是什么?

Jocham: 跟三件事有关:

  1. 需求: 我们在实现需求时使用了敏捷。将一个遗留程序分解成许多较小的应用。这种做法允许我们每次专注于一件事,与七个开发团队并行工作,降低特性风险。应用的数量从 20 降低到 30,随后又再次降低到 18,最后以 22 收尾。在这个项目中,为我们添加的特性而进行的交流促进了许多可重用组件的创造。
  2. 质量: 从一开始这就是我们的首要任务,而不是马后炮。质量的强制执行是通过自动化测试组件和持续集成实现的,该自动化测试是基于一个强大的构建流水线,而持续集成则是对所有已开发功能的持续集成。在我看来,如果测试在开发之后,甚至更晚,它就不再是质量,而是稳定了。
  3. 透明: 透明的确保是通过(接近)无关政治的诚信拼搏实现的。我们不断地对所有重要方面的情况进行评估,并有与之相对应的快速行动降低风险的方法。每两个星期,我们基于我们检查到的数据采取行动。信任是使之成为可能的关键。

InfoQ:您能分享一下从这个项目中学到的经验和教训吗?

Jocham: 没有什么是“完成”的,直到它真正的完成,让这种思想伴随你一路,从 UI 到后端系统的最后一个角落。永远不要相信做出的承诺会起作用。从早期对有所的功能就提出集成的要求。在第一次冲刺的时候就“完成”,直到最后都不要推迟,因为它会一直困扰你的。

InfoQ:如果您不得不重新开始这个项目,您会与之前有什么不同吗?

Jocham: 我们对后端系统确实有一些设想,比如,我们如何连接它们,它们如何工作和执行。 在许多案例下,这些假设都是错误的,成为绊倒我们的电线。幸运的是,我们拥有我们自己的自动化测试,并且多次拯救了我们。在未来的项目中,我将会坚持“完成”同样包括后端系统。我将会尽量在每个开发团队中安置后端开发人员。

查看英文原文: Scaled Scrum at Swiss Postal Services

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2015-09-27 19:001266
用户头像

发布了 92 篇内容, 共 21.0 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

有序存储对于高性能的意义

华为云开发者联盟

后端 开发 华为云 12 月 PK 榜

管理有方!华为云数据库为医药行业管理加速

华为云开发者联盟

数据库 后端 华为云 12 月 PK 榜 医药

ins快拍下载保存到手机相册最新图文教学!

frank

ins图片下载 ins

还原火山引擎A/B测试产品——DataTester 私有化部署实践经验

字节跳动数据平台

大数据 AB testing实战 12 月 PK 榜

代码质量与安全 | 如何将清洁代码标准扩展到整个企业,促进业务上的成功?

龙智—DevSecOps解决方案

代码质量 代码安全

模块四课后作业 - 设计千万级学生管理系统的考试试卷存储方案

闲人Eric

架构实战营

语音生成领域模型又填一名猛将

felix

深度学习 语音合成 TTS

使用无代码构建客户门户

间隔

融云任杰:激活组织生命力 让听见炮火的人做决策 | TGO专访

融云 RongCloud

专访 程序员‘

研讨会回顾 | 自动化测试“领导者”SmartBear解析软件质量与测试现状调研

龙智—DevSecOps解决方案

软件测试 自动化测试 测试自动化

基于Seata探寻分布式事务的实现方案

京东科技开发者

大数据 分布式事务 微服务架构 关系型数据库 seata

软件测试面试真题 | 什么是 Redis ? Redis缓存应用场景有哪些?

测试人

redis 软件测试 自动化测试 测试开发

当云原生网关遇上图数据库,NebulaGraph 的 APISIX 最佳实践

NebulaGraph

图数据库 API网关

【观察】融云百幄:为政企数智办公按下“快进键”

融云 RongCloud

融云 数智化 政企 百幄

华为云桌面,助力企业数字化转型

爱尚科技

多年缓慢成长,近3年野蛮狂飙,谁是这个赛道的王者?

ToB行业头条

持续发力折叠屏生态,OPPO 携手开发者探索大屏应用新体验

科技热闻

AI 训练加速原理解析与工程实践分享

百度Geek说

人工智能 机器学习 12 月 PK 榜

华为云桌面,让企业随时随地开启云上办公

爱尚科技

华为云桌面解决方案,打造安全高效办公新体验

科技怪授

云桌面

PHP转Go之后,我又开始研究机器学习和自动驾驶了。

王中阳Go

自动驾驶 Apollo

版本控制 | SVN,Git与Helix Core,谁的数据管理基础设施更安全?

龙智—DevSecOps解决方案

git svn 版本控制 版本控制系统

案例丨多元业态管理服务厂商如何走通数字化转型之路

优秀

数字化转型 数字化管理

小游戏开发投放平台及分成政策盘点

Onegun

小游戏 小游戏开发

【经验】硬件工程师与PCB槽孔斗智斗勇的故事

华秋PCB

工具 PCB PCB设计 槽孔

高性能网关基石——OpenResty

ooooooh灰灰

lua nginx openresty

启科量子或将开源环境部署工具Runtime

启科量子开发者官方号

#开源 #量子计算

内网穿透你真的了解吗?

C++后台开发

网络安全 NAT Linux服务器开发 内网 网络穿透

32篇年度最佳AI论文;Python编译器Codon开源;ChatGPT的前世今生

OneFlow

人工智能 深度学习 大模型

Docker daemon configuration overview(Docker 守护进程配置概览)

独钓寒江

小程序游戏的3大分发平台

FinFish

小程序 小游戏 小游戏运营

  • 扫码添加小助手
    领取最新资料包
瑞士邮政服务的大规模Scrum_语言 & 开发_Ben Linders_InfoQ精选文章