写点什么

Skyscanner 数据文化的改进之道

作者:Ramsay Ashby, Laz Allen

  • 2023-05-22
    北京
  • 本文字数:4671 字

    阅读完需:约 15 分钟

Skyscanner 数据文化的改进之道

目前团队度量标准正流行:有很多公司提供工具来支持我们的敏捷实践,并且不乏支持各种度量标准组合价值的书籍,这些组合将引导我们的团队成为交付明星。在这篇文章中,我们将分享我们的旅程,从意识到这可以增强我们的竞争优势和表明需要改变的迹象开始。我们解释了为什么我们不只是选择部署了一个工具,而是将其视为改变我们工程管理的文化,以使其重视并利用这些指标来推动大规模的改进。


我们将解释我们在整个探索过程中对所需内容的理解是如何演变的,以及我们如何与团队一起进行试验以更好地理解这一点。我们还将分享我们对最重要指标的解释、我们受到的启发、以及我们期望如何增强这些指标。然后,我们将探讨我们在采用过程中发现的挑战、我们预测的挑战、以及我们如何改变计划以适应这些挑战。最后,这篇文章将审查我们为评估各种工具提供者而创建的价值,以找到我们认为能够帮助我们团队的价值。更重要的是,它可以加强文化变革,这是本次活动的基本目标。


在撰写本文时,Skyscanner 正在指导 85 个团队(约 700 名工程师)完成这一变革,我们已经看到了良好的采用率和洞察力,并创建了跨组织的实践社区来支持这一变革并将其纳入长期应用。我们将会讨论我们用来推动这一采用的原则。

探索指标


Skyscanner 是一个不断努力改进的组织,并且我们知道,随着周围机会的变化,我们需要不断适应。为此,我们需要不断加强我们的方法,以确保在各个层面上不断改进。我们已经使用数据来为我们的战略和日常产品开发决策提供信息,因此我们通过更深入地思考后者来实现前者是有意义的。随着 Accelerate、Agile Management 和 Project to Product 等工作的开展,这个领域已经成熟很久了,因此我们决定探索如何在整个组织中应用这些概念和实践。


追溯到大约十年前,Skyscanner 采用每六周发布一次的发布序列,并且对其整个单体代码库进行更新。通过这一序列,我们能很容易地了解在给定的时间段内我们能够发布多少“价值”,也能很容易德了解代码和工程组织的整体健康状况,因为它能很容易地比较一个版本和下一个版本的内容,以及预计发布的内容。


但是,在一个团队每天都可能多次部署变更的世界中,我们对构建新特性所需的时间并没有相同的隐式看法,因为每次部署通常只包含重要工作的一小部分。我们认识到,我们的 CI 和 CD 实践已经成熟到需要明确寻找一些曾经非常明显的信息的地步了。


我们知道,帮助我们的团队了解正确的度量标准将使他们能够识别并采取行动,对他们的合作方式进行最具影响力的改进。我们还认识到,在某些情况下,我们可以汇总这些指标,以确定组织范围内的改进。

选择指标


我们的出发点有两个。DORA指标已经作为一个概念在我们的工程组织中得到了很好的理解,因此我们有兴趣在我们的 85 个团队中探索如何更可持续、更一致地使用它们。这些指标得到合理的理解,有助于改进 DevOps 实践。也就是说,我们知道作为 DevOps 实践,我们需要的不仅仅是这些;集成和部署只占整个价值流的一小部分。此外,它们也是流程中最自动化的部分,并且通常需要在与其他价值流隔离的情况下进行优化。


因此,我们开始研究 Mik Kirsten 在《Project to Product》 一书中描述的流指标。这些指标引起了我们强烈的共鸣,这本书所描述的旅程也很合适我们。它们被称为流动时间、流动负荷、流动分布、流动效率和流动速度。


但当我们开始与试验组讨论这些指标时,我们发现新的新词汇增加了混乱,阻碍了采用。在软件行业中,“周期时间”和“进行中的工作”等术语已经广为人知,所以我们选择了坚持使用它们,以便对 Kersten 在书中使用的词汇进行更温和的学习。


我们采用的核心指标集是:

  • 史诗和故事的周期时间——端到端(包括所有计划、开发、测试、部署等)需要多长时间才能让一项工作投入到生产中

  • 进行中的工作——在任何给定的时间里,有多少并发工作项在团队的面板上处于任何“进行中”状态(即不是“要做”或“已完成”)

  • 等待时间——工作开始后,一项工作处于空闲状态的时间。等待代码审查所花的时间是该指标的最重要贡献因素之一

  • 工作分布(跨不同类别)——将每个工作项标记为“缺陷”、“债务”、“特性”或“风险”之一,并跟踪这些类别的总体分布(期望每个类别的健康组合)


我们最初的试验包括两个小组,让他们在 Excel 中手动获取这些指标,并在回顾中定期讨论这些指标。这使我们能够非常快速地证明我们可以推动团队交付进行有意义的改进。我们发现,仅通过限制进行中的工作和对团队工作方式的一些小调整,比如更好地确定代码审查的优先级,就可以史诗般地将周期时间缩短 37%以上,这远远超出了我们的预期。

评估工具


我们的出发点是,我们希望将所有的价值流和生产力指标放在同一个地方。在 Skyscanner,我们有很多工具,因此只引入一种新工具而不是多种非常重要。这也能使推广和沟通更加容易。


从那时起,我们开始审查可用的工具,并与构建这些工具的团队交流;一些关键的决定因素逐渐变得清晰了起来。


通过研究这些工具的基本理念,我们发现,有些工具是针对管理者、部门负责人和首席技术官的,而另一些工具则是对团队自身最有用的。这两种方式产生了截然不同的用户体验;产品看起来就不一样,通过外观你可以知道它们的主要目标受众。我们非常有把握地预测,一个没有被团队首先使用的工具也不会被我们的小组使用,而且一个没有被我们小组使用的工具也不会对其他人产生有意义的数据。因此,这个用例成为了我们的主要关注点。


我们还研究了工具对团队工作方式的“固执己见”程度。其中一些工具要求团队以定义的方式工作,以便产生有意义的数据,而其他工具则更能适应不同的工作方式。在 Skyscanner,我们鼓励团队调整并完善他们的工作方式以最好地满足他们的需求,因此我们不想引入一种强制执行某种约定的工具,即使数据最终会导致团队对其工作方式做出一些改变。


在经历了这个过程并试用了一些工具之后,我们决定使用 Plandek 来实际收集度量指标,并向我们的团队展示数据和洞察力。Plandek 的团队一直很出色,始终与我们合作,他们了解我们的需求,并为我们提供了相关建议,并且在某些情况下,还对产品进行了补充来帮助我们实现目标。

改变文化


这可能是我们投入最多精力的部分,因为我们认识到,任何失误都可能被误解为是我们站在别人的肩膀上瞭望,甚至更糟的是,使用这些旨在表明改进机会的指标是在衡量个人绩效。这两种情况中的任何一种都会对我们在 Skyscanner 中的工作方式造成强烈反抗,并会阻止项目的进展,甚至可能对项目的声誉造成不可逆转的损害。为此,我们制定了一个计划,重点是在引入工具之前与我们的工程负责人探讨,深入理解意图。


该计划侧重于一种基于军团领队的自下而上的推广方法。每个军团被设计为大约 6 或 7 名领队,由来自不同组、不同办公室和不同经验水平的人组成,涵盖我们所有的团队。小团体会增加责任感,因为在小团体中更难推脱,也会创造一个安全的地方,让人们可以分享他们的想法、经验和关注。我们还努力确保每个队中至少有一个人是我们所期望的团队度量的坚定拥护者,并且不超过一个人是我们所期望的后期采纳者或诋毁者。这意味着,每一个军团通常都会有强烈的积极前景,而集体建立负面情绪的风险微乎其微。


军团成员每 2-4 周会见面一次,在那里我们会带他们进行一些结构化学习——可能会解释某一特定指标的含义和为什么它是有用的,以及一些改进它的技巧——然后进行大量的讨论和知识分享。在会议期间,我们会鼓励人们尝试,将数据带回团队进行回顾讨论,等等,然后再将任何见解带回到下一次军团会议中。


虽然事后看来,我们对某些军团的确切组成做了一些小调整,其中一些支持者可能没有我们预期的那么强大,但总体而言,这种方法对我们来说非常有效,我们打算在未来的类似推广中仍遵循这种模式。随着我们在 2023 年第一季度(Q1)的进展,我们将重新平衡军团,以反映人们的不同理解水平,并使我们能够聘用新的管理人员。

成果


我们对大多数工程负责人的敬业度感到非常满意。Plandek 与我们分享的使用数据显示,大多数管理人员在一个季度中至少登录过一次,他们的定期参与程度很高。我们最敬业的团队成员设定了一个非常高的标准,每个季度可能会有几十个会话,这表明这样的团队数据是多么的吸引人。


有了这个,我们看到了组织各级对进行中的工作和周期时间的认识有所提高,并且获得了我们期望的结果;团队感到压力更小了,对工作量有了更多的控制,而且所有其他事情也做的非常棒。这些好处还没有完全渗透到对更广泛的交付图景的可见影响中,但这些事情需要时间,而且相对来说也很容易理解,所以我们很乐意耐心等待!


我们的一位领队指出:“清楚地了解周期时间还能让团队更加了解我们拆分工单的方式,并且工单的类型属于峰值型”。这是一个很好的例子,说明了对数据的了解自然会导致正确的(敏捷)改变,而无需对人们进行相关教育。


这一举措也有助于提高这些指标的知名度,使人们在不同的环境中自然而然地谈论它们,而无需任何提示。当团队在系统设计评审中要权衡选项时,将史诗般的周期时间视为一个考虑因素,这会很好。同样,我们的高管和高级领导团队也已经开始采用相同的词汇了,这既是一个好兆头,也进一步加快了采用速度。在此之前,这些只是概念;现在,它们是实实在在的措施,人们能够更好地理解它们,并且理解之后就会采取行动。

采用挑战


当然,这并非都是完美或容易的。两个最大的挑战是争夺人们的时间,以及人们的参与度是可变的。


首先,每个人都认为自己“很忙”;有些人,正如俗话所说,“忙得无暇改善”。这意味着将其定位为相对轻量级的东西,可以帮助他们腾出更多的空间来进行快速思考,这是当务之急。为此,我们通过削减仪表板来实现这一点,我们要求人们将指标降至我们认为是有用的绝对最小值。Plandek 有 30 多个不同的指标,但我们会及时了解更多。当人们开始探索我们开始研究的子集时,他们自然会开始尝试提供的其他见解。


其次,当我们与军团一起前进时,并非每个军团中的每个人都以相同的速度前进,这有时会导致不连贯的对话。如上所述,根据 2023 年第 1 季度的进展,我们将重新平衡军团,以使人们重新获得他们最受益的支持水平。我们仍然认为,从高度混合的军团开始是正确的做法,这样符合与监督无关的信息;现在,这已经得到了一定程度的证明,我们可以思考如何继续前进了。

收获


毫无疑问,我们最大的收获就是底层文化的提升是那么重要。从一开始,我们就意识到并明确表示,我们不想“推出一个工具”,而是围绕团队度量的“思考过程”。但只有在我们第一次验证了概念之后,我们才意识到,我们需要更深入地挖掘并关注基础,并将交付指标的概念构建到我们的文化中,就像我们在服务和产品指标方面所做的那样。


我们主要是通过明确我们所称之的措施(即不是“Plandek 推出”),然后在开始使用工具之前,先在军团会议上进行理论和探索性讨论。小而频繁的军团让人们对这些概念感到舒适。如果我们将其作为一种工具推出而不是作为文化变革来处理,我们本可以很容易地进行几次大型的一次性培训课程来“让人们开始使用工具”。


从那时起,这一切所花费的时间和精力都比我们想象的要多。让事情变得简单是有价值的;这并不是说要有很多指标和许多先进的使用方法,而是要让聪明的人理解其中的原因、价值,并为他们提供易于使用的工具,让他们有足够的理解来开始,然后支持他们,让他们分享他们的成功。


原文链接:

https://www.infoq.com/articles/Skyscanner-metrics-culture-improvement/


相关阅读:

迁移至云端:真的像看上去那样让人望而生畏吗?

InfoQ 2023 年趋势报告:事件驱动架构、深度学习和人工智能、云原生架构和容器化技术

平台工程的失败模式及如何避免,来自一线的宝贵经验


2023-05-22 08:003475

评论

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

2023 重学 Angular

PingCode研发中心

前端框架

瓴羊Quick BI在商业智能BI发展趋势方面如何?

对不起该用户已成仙‖

对话Neo4j首席科学家Jim Webber:图数据库江湖5年后将尘埃落定

Neo4j 图无处不在

neo4j 图数据库 知识图谱 非关系型数据库 图技术

精彩回顾 | 云原生系统软件的产业应用

BoCloud博云

云原生

MegEngine Inference 卷积优化之 Im2col 和 winograd 优化

MegEngineBot

深度学习框架 卷积 MegEngine

SAP MM 使用两个STO实现免关税跨国公司间转储

SAP虾客

ModelWhale 教学实训模块,更流畅的作业编写及提交体验|ModelWhale 版本更新

ModelWhale

人工智能 机器学习 数据分析 编程建模 教学实训

构建基于 Ingress 的全链路灰度能力

阿里巴巴云原生

阿里云 微服务 云原生w

三年后端开发:拿下阿里/腾讯/美团等四个大厂的Offer后,总结如下

钟奕礼

Java Java 面试 程序员‘ java 编程

跟误告警说再见,Smart Metrics 帮你用算法配告警

阿里巴巴云原生

阿里云 云原生 Grafana

图数据技术护航网络安全

Neo4j 图无处不在

网络安全 neo4j 图数据库 知识图谱 图算法

基于云原生技术的融合通信是如何实现的?

阿里云CloudImagine

阿里云 云通信

数字产业化的颠覆创新和生态打法

PMO实践

产业数字化 11月月更

互联网企业面试必问Spring源码?搞定Spring源码,看完这篇就够了

钟奕礼

Java java面试 java编程 程序员‘

阿里云洛神云网络集中式网关丨技术解读与产品实践

云布道师

云网络

企业想要高效运营,还需要选择瓴羊Quick BI软件

流量猫猫头

大数据

新时代冠军企业成功硬道理:人效管理与可组装式HCM SaaS

ToB行业头条

腾讯云原生容器服务发布三大新能力,创新自研技术助力企业降本增效

科技热闻

aPaaS是什么(aPaaS与iPaaS的区别)

优秀

aPaaS ipaas

springboot整合canal

@下一站

Java 程序开发 spring-boot 11月月更

关于不法分子冒用我司名义虚假招聘的严正声明

嘉为蓝鲸

Lattice - 面向高可扩展的业务框架

原力在线

架构 中台 插件 lattice 业务平台分离

嘉为科技宋蕴真:观测不止于监控,让运维不开盲盒

嘉为蓝鲸

运维 智能运维AIOps

8年程序员年初被迫毕业,前后面试30家公司,如今终于上岸

Java永远的神

程序人生 后端 java程序员 java面试 面经分享

MyBatis resultMap元素的用途是什么呢?

@下一站

技术 mybatis java; 11月月更

10月&11月书单

图灵社区

书单推荐

图计算的黄金时代 知识图谱背后的数据价值

Neo4j 图无处不在

neo4j 图数据库 知识图谱 图计算 图技术

Neo4j CEO Emil Eifrem 解读图数据平台引领数据库未来十年的发展

Neo4j 图无处不在

neo4j 图数据库 知识图谱 图可视化引擎 图数据

在结构效率不变情况下的降本增效

PMO实践

数字化转型 数字化 数智化 11月月更

蓝鲸研运体系在腾讯内是如何应用实践的?

嘉为蓝鲸

运维 智能运维AIOps

SpringMVC常用注解

@下一站

软件开发 程序 Java‘’ 11月月更

Skyscanner 数据文化的改进之道_软件工程_InfoQ精选文章