如何为研发团队打造专属的效能提升路径|QECon 演讲回顾

news2024/11/24 8:30:19

3934c63ce26427a02c742523a1ffd893.gif

近日,ONES 受邀参加 2023 QECon 全球软件质量&效能大会(深圳站)。在会上,ONES 研发效能改进咨询顾问陈仪,发表了主题为《如何为研发团队打造专属的效能提升路径》的演讲。

陈仪有着丰富的咨询经验,曾带领团队深度、完整地参与过全球化的敏捷转型,并帮助客户完成敏捷转型的实践及效能提升。本次演讲,他主要从咨询视角出发,分享自己总结的一套帮助团队提升效能的方法论,同时也会提炼研发效能实践中的常见误区。

4f58ff89865ad7f5c0c05d2a1b15f9b5.jpeg

想获取完整演讲 PPT 及演讲视频,扫码联系 ONES 产品顾问,回复「QECon 大会」即可领取。

ece50808d34b9a981418f0d5df575d82.png

47e846fb1c048485f74e395a5819cd3e.png

效能提升的上限与下限

研发效能是近十年软件研发领域的热门话题。很多软件研发企业或部门,在这个领域投入了大量的人力资源,并设立专职的岗位。

那么,为什么研发效能会得到企业的高度关注呢?

根据持续改进的理念,团队需要被允许停下手头的一些工作,定期回顾团队里存在的问题,思考如何改进。可以说,持续改进是为了让团队变得更好、更有竞争力,防止现存问题拖累团队。研发效能提升也是如此,其目标是让团队更好更快地交付客户想要的产品。

在我看来,提升研发效能是持续改进思想的一种具体表现形式,研发效能的范围也应该是广泛且全面的,不应该将研发效能的理解只限定在某一个或某几个特殊领域。

研发团队所面临的常见问题,主要分为四类:

  • 研发侧的响应能力跟不上业务创新;

  • 研发协作效率低;

  • 系统稳定性难以保障;

  • 缺乏统一的一体化平台。

这些问题凸显了提升研发效能的紧迫性和必要性。经过这些思考,我们再定义一下什么是研发效能。我比较认可的一个观点是:研发效能是顺畅、高质量、持续地交付有效价值的闭环。这个定义里一共包含了五个要点,这里重点解读其中两个要点:

  • 顺畅,代表整个研发团队工作流顺畅,没有浪费,或者说尽量少的浪费、尽量少的等待、尽量少地出现瓶颈。所以,在研发效能实践中,不光要考虑工程侧的实践,还要考虑研发过程侧的实践,比如工作流的优化、研发管理流程的规范。

  • 有效价值,代表交付物是不是客户真正想要的。有时候团队非常努力,但客户并不满意最终的交付物。所以在做效能度量时,需要包含客户价值这个维度。

通过定义,我们可以认为,研发效能是广泛且全面的。然而,我们往往追求研发效能工程侧的实践,比如 DevOps 平台建设、DevOps 工具的使用,而忽略了研发管理过程侧的实践。但后者正是整个研发项目的基础,所以我想提出一个观点:研发协作管理的成熟度,决定了效能提升的下限,同时直接影响了效能提升的上限。

如果把研发效能比作成正在建设的摩天大厦,那么不断提升大厦的层数,从 10 层、20 层到 50 层、100 层,意味着研发效能水平的不断攀升。研发协作管理就是大厦的地基,没有稳定地基的保证,整个研发效能大厦就没办法一直向上建设。

09f36e06e3915fd81178adaa6397bbb8.jpeg

0ab697cf257909cc57362a01e0a25790.png

效能提升的必要路径

在我看来,每一个企业、组织、团队都是独一无二的,因此在探索研发效能提升路径时,也要根据团队特性来定制策略。如果将一套普适性的工具推广到所有团队,实际效果一般会低于团队预期,因为普适性的工具与方法,往往不会解决团队的某些具体问题,反而可能带来新的问题。

我把方法论一共归纳为六点,也叫「打造团队专属研发效能提升路径六个实践」:

  • 评估团队现状。只有了解了团队现状,才能量身制定下一步计划;

  • 从痛点、问题出发。优先解决最要紧的痛点和问题,会最大化短期收益;

  • 优化工作流程规范。简化流程、简化浪费,从底层优化效能管理的根基;

  • 逐步工具线上化。从提升局部垂直能力出发,逐步实现全局优化和拉通;

  • 建立度量指标库。度量指标库并不是一次性就能完整建立,因此我们可以从先解决最紧急的问题,之后再不断维护指标库,保证指标库的持续更新,为效能全面度量做基本准备;

  • 持续验证度量收益,打造效能管理闭环,迭代式探寻自身组织最需要的度量指标及工。

43ae0a6ebe554191613e58c5dee0b7e1.png

通过这六个实践,可以打造一套比较适合自身组织的效能提升路径。接下来我们通过一个客户实例,详细看看每一个实践的具体应用。

a89b0614f9d0227288d81283379e77ff.png

研发效能咨询客户案例

这是一家世界 500 强国有独资企业,业务领域涵盖金融、地产、供应链、创新等。它的组织架构为:集团下有科技公司及各个行业板块子公司,比如金融行业、地产行业、供应链行业,部分子公司下设有自己的 IT 部门。我们此次对接的是集团下的科技子公司。

第一步,从规范化、线上化、数字化和智能化四个维度,评估客户团队的现状。具体评估时,每一个大的维度下面也会细分出很多子方向,每一个子方向也会有很多具体的条目。通过和团队一起对每个具体条目的打分(0~5分),最终以雷达图的形式展现全面评估结果,可视化地评估团队在每个维度的现状。

  • 规范化评估,主要针对团队的交付模式规范化的程度;

  • 线上化评估,主要针对研发管理过程侧、工程侧的工具平台化程度;

  • 数字化评估,主要针对效能指标管理体系的成熟度;

  • 智能化评估,主要针对数据驱动战略决策的能力。

通过评估,我们认为案例中客户团队的现状是,在规范化、线上化和数字化上都有初步进展,但是在智能化上相对薄弱。

第二步,我们基于客户现状开始梳理痛点。

比较常见的梳理方式是跟不同关键角色进行访谈,组织群体性工作坊、敏捷回顾会等,尽可能让研发团队高度参与。一方面可以更全面地收集痛点和问题,另一方面团队从问题梳理上就高度参与,之后在推行任何改进措施时,会有更高的主观能动性。

通过痛点收集,我们将客户遇到的问题归纳为三类:

  • 业务数字化转型,急需 IT 项目管理的提升;

  • 团队、不同角色间的协同效率较低;

  • 缺乏统一的研发协作平台。

梳理完之后,我们会形成一个痛点的待办事项,从多个维度去区分问题的紧急性,从而打造下一步的实施策略。

第三步,用价值流图分析(VSM)优化研发流程。通过可视化团队中的工作流程,让团队有更好的视角对目前的工作流进行审视,识别其中的浪费,从而优化整体工作流。

在该客户案例中,我们通过优化组织级的管理规范、项目管理规范,以及一些专门痛点,比如需求管理、测试管理、运维管理等,进行重点优化。当我们把团队的基础性问题解决掉,再去构建效能平台时,就会有一个很好的根基。

第四步,从全局为客户规划效能提升蓝图,按阶段逐步实施。

基于痛点梳理及流程优化,我们为客户团队整体规划了以优化流程规范、整合平台工具、提升持续集成测试能力等为主要方向的效能提升体系蓝图。整个方案实施分为两个阶段:

在第一阶段,从优化现有团队研发规范开始,结合客户现有工具的使用情况,按照最小 MVP 的原则,打造了以 ONES 研发管理平台为中心的初始版研发效能平台,打通企业内部的工具链,实现从业务需求提出到需求实现、发布上线的端到端的集成。此外,在持续集成阶段,我们也将静态代码扫描和安全代码审计作为质量保障的手段。

第二阶段,在持续集成和持续交付能力上,除了静态代码扫描外,我们也集成了更多的质量保障体系,包括接口自动化测试、安全静态扫描、安全动态扫描等一系列功能侧的实践,逐渐提升整个效能体系的质量保证。同时,继续深化效能研发一体化平台,让工具更加集成,为效能度量体系做准备。将优秀实践推广到其他子公司,形成集团级知识财富。

第五步,建立效能指标库。我们通过定义指标体系,包括了指标定义、计算公式、指标意义、数据源以及面向角色等因素的考量,从不同角度来定义指标、维护指标。比如从管理层、项目管理层、业务视角,我们更关注资源投入、项目质量、项目成本,更关注项目周期、交付周期等指标。但是从运维角度来看,他可能更关心故障响应的时效、故障处理的时效等指标。

与此同时,在验证效能指标时,也要先验证紧迫性较高的指标,解决紧迫性较高的痛点。

最后一步,打造效能指标的管理闭环。

通过 MVP 的模式,我们以敏捷迭代的方式,在每个迭代中选取少量指标,结合痛点,优先选取紧迫性较高的痛点,然后以相关指标作为前几个迭代的实施对象,定期分析,形成改进行动项,最终形成闭环。

在每一个迭代中,我们都会按照分析问题、选取目标、选取指标、获取数据、分析反馈、改进落地的顺序去实施。

有了改进指标后,接下来是打造效能指标的管理闭环。

最终极的目标,就是结合我们构建的研发效能一体化平台,实现效能管理的闭环,打造出一个数据驱动的效能度量可视化平台。

45a144dfdaccea992421f4c47bb1ff0d.jpeg

通过这样一个平台,我们可以自动化地产出各种视角的效能指标以及结果分析,对整个企业未来的规划产生积极的影响作用。

最后总结一下,通过打造效能提升路径的六个实践,我们为客户打造了一个效能提升蓝图。其中实现路径可以归纳为三个环节:

  • 搭建组织级的流程规范,引入敏捷及工程的相关实践,完成效能提升的基础性准备工作。

  • 以 ONES 研发管理平台为中心,打通上下游的发布平台,形成一体化平台;同时支持稳敏双态的项目管理,也就是敏捷和瀑布双模式的项目管理能力。

  • 利用数据驱动效能改进闭环,打造出一个比较成熟的效能管理平台。

通过这三个环节,我们帮助客户在不到一年的时间里就打造出了效能平台的雏形,帮助客户的研发管理规范得到了进一步提升,同时也提升了研发管理体系的成熟度。未来,我们也会继续帮助客户进行研发管理工程侧的工具平台及度量体系建设。

50f66988fcb12019d60ed811d06daf79.png

研发效能实践中的常见误区

第一个误区是期望「快餐式」的「拿来主义」。

很多客户期望通过直接引进其他厂商在效能提升上的优秀实践,在短时间内复制出类似的效能收益。这样做,往往会忽视了解和优化自身研发管理规范的重要性,也低估了新工具在团队内部推行的阻力及学习成本。

一般来讲,将普适性的工具引用到团队中,最后往往只是接入了工具,并没有真正使用起来。所以通过合理的方法完善研发管理流程规范,逐步通过一些试验性实践,摸索出最适合自身组织的效能提升路径才是正解。

第二个误区是迷信单点局部工具能力。

单点局部的工具,在研发初期往往很有收益,因为它可以帮助我们解决很多具体问题,尤其是那些优先级较高的问题。但是随着研发效能进程的不断深入,单点工具的收益会随着时间逐渐递减,因此企业需要从更高的视角出发,对研发效能的一体化平台进行整体规划。

第三个误区是伪工程实践,为了做而做。

很多团队里充斥着伪工程实践,为了做度量而做度量,为了做公司的实践而去做实践,然而团队可能没有真正了解这些实践应用的真实意义。一个原因是团队的思维还没有跟上效能工具和实践的升级,导致很多工程实践在团队中的应用是被动的,而不是主动的。

另一个原因是,某些团队的效能指标直接与绩效指标挂钩,导致成员为了提高绩效而做一些假数据。

很多团队缺的不是工程实践的数量,而是工程实践执行的深度和态度。所以我也建议,在梳理痛点的时候,最好是由团队整体来参与。从一开始就培养团队的参与感,避免伪实践情况的发生。

第四个误区是试图提升研发效能的绝对值。

提升研发效能的绝对值,在现实发展的趋势下,这是一个不合理的现象。因为随着企业规模的壮大,研发团队的规模也在不断扩张,由此带来的团队内部沟通成本、协作复杂度,也会成倍增长。加上软件架构的复杂度也在不断攀升,最终研发效能的效果很难保证一直是上升趋势的,它在某一个阶段肯定会有所下降,或者产生波动。在这种情况下,我们能做的,就是尽可能地减缓研发效能恶化的速率。

40054684d4f8b79bd24a62a3771f6c99.png

总结

首先,提升研发效能是持续改进思想的一种具体形式,因此我们对研发效能的理解应该是广泛的、全面的,而不能只针对某些具体的、垂直能力的实践。

其次,研发协作管理的成熟度是持续提升研发效能的基石,它保证了研发效能的下限,同时会直接影响到研发效能的上限。

再次,我们需要利用一些方法论,去探索提升效能的专属路径,尽量避免采用一刀切或者一般普适性的工具流程。

最后,团队需要提前充分了解效能建设的误区,提前规避,少走弯路。

以上就是我今天的分享内容,希望能给大家带来一些思考或启发,帮助我们所有研发团队找到最适合自身的研发效能提升路径。

904f66ff7cbb5dc9bfaee96d4790dfbd.png

e765c6d9cd7b2b03e2fb32f2e3b281b6.png

f0275a1f9e58ccc4524f87a735d413d7.jpeg

959efc99b40f05a3c3ba04ba8250653e.jpeg

c0574f5705adaef6d1e7bf3b257ae831.jpeg

4895b348eb21a459b67cb9d2cd36610e.jpeg

b295539776cb8e1e83b5f2c0605a2928.jpeg

605a3477041266c6bc1d8da63effc54d.png

01f64c7398b2557b1c9c6d316e8f41d7.png

0b50633a85eb9ab48307b7f4ad61e8bc.png

18176bf864fab54d02c96ce5e785e6db.png

906e71ed31d1baf22651ab3ee94812b8.png

a5236d59a4145ea5fcd9adea48becafe.gif

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

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

相关文章

C++考试

文章目录 1.程序填空1.1函数调用1.2前置和后置“”、“--”运算符重载1.3异常处理1.4文本文件读取 2.程序阅读2.1C编程基础2.2继承与派生2.3静态成员2.4继承与派生2.5 输入输出2.6 模板 3.程序改错3.1三种访问权限3.2 友元3.3抽象类不能实例化对象3.4常数据成员初始化必须使用构…

面试题总结

1、0513 1.重载和重写的区别? 重载发生在同一类中,同名的方法如果有不同的参数列表(类型不同、个数不同、顺序不同)则视为重载。 重写发生在父子类中,重写要求子类重写之后的方法与父类被重写方法有相同的返回类型,比…

Linux:在VMware中,如果虚拟机之前可以上网,之后突然不能上网,怎么办?

Linux系统版本:centos 7.5 x64位 VMware版本: VMware Workstation Pro 16 文章目录 前言一、什么原因会导致这种问题并如何解决它?原因①:虚拟机没有启动网络服务原因②:外部主机上VMware的【VMware NAT Service】服务…

Linux常用命令——htpasswd命令

在线Linux命令查询工具 htpasswd apache服务器创建密码认证文件 补充说明 htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。 语法 htpasswd(选项)(参数) 选项 -c:创建一个加密文件;…

用“平面两点距离”求三角形面积,再用“三角形面积”多边形面积

不小于 3 边的多边形,都可以任一顶点发出的边切分为 n - 2 个三角形。 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单…… 地址&am…

跟着我学 AI丨教育 + AI = 一对一教学

随着人工智能(AI)技术的迅速发展,它已经开始了改变教育的方式。本文将介绍AI在教育行业中的应用场景,当前从事AI 教育的公司有哪些以及这些公司所提供的教育产品的特点,和未来AI 教育的潜在实现方式。 AI在教育行业的…

【C++初阶】C/C++内存管理

⭐博客主页:️CS semi主页 ⭐欢迎关注:点赞收藏留言 ⭐系列专栏:C初阶 ⭐代码仓库:C初阶 家人们更新不易,你们的点赞和关注对我而言十分重要,友友们麻烦多多点赞+关注,你们的支持是我…

【数据结构】一篇带你彻底了解栈

文章目录 栈的概念及结构栈接口的实现栈的初始化入栈出栈获取栈顶元素判断栈是否为空获取栈中有效元素个数栈的销毁 总结 栈的概念及结构 栈:一种线性数据结构,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶 (Top&…

Node.js 学习系列(三) —— REPL

Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Windows 系统的终端或 Unix/Linux shell,可以在终端中输入命令,并接收系统的响应。 Node 自带了交互式解释器,可以执行以下任务: 读取 —…

Spring 初始导读

1.Spring初始 1. 为什么要学框架 学习框架相当于从"小作坊"到"工厂"的升级 , 小作坊什么都要做 , 工厂是组件式装配 , 特点就是高效. 2.框架的优点展示(SpringBoot Vs Servlet) 使用SpringBoot 项目演示框架相比 Servlet 所具备的以下优点: 无需配置 …

Three.js 实战【1】—— 3D全景视图开发

Three.js 实战【1】—— 3D全景视图开发 摘要 1、3D视图Demo2、准备工作——搭建好一个开发环境3、RGBELoader——高范围动态图像加载器4、HDR——高动态范围图像5、使用HDR实现3D全景视图6、直接通过图片纹理进行实现 摘要 在现代开发过程当中,3D开发是越来越不可…

find,which,whereis,grep,bc,uname,free,nano,history指令的语法,功能与选项等

Tips x86_64 与 x64 都是指 64位x86 指的是 32位 find指令的语法,功能与选项 语法:find 目录 -name 文件名功能:在指定的目录之下进行文件查找(递归式查找)选项:它的选项也非常多,讲个 -name…

【Java 基础】File IO流

文章目录 1. File1.1 File类概述和构造方法1.2 绝对路径和相对路径1.3 File 类的常用方法1.4 递归删除文件夹及其下面的文件 2. IO2.1 分类2.2 字节输出流2.3 字节输入流2.4 文件的拷贝2.5 文件拷贝效率优化2.6 释放资源2.7 缓冲流2.8 编码表 3. commons-io 工具包3.1 API 1. F…

VSCode中安装GPT插件详细教程+gpt4改进

目录 安装插件 A.安装CodeGPT B.安装chatgpt 1.VSCode安装插件,使用本地下载vsix文件 2.获取 ChatGPT API 密钥 3.配置settings.json gpt4和3.5对比 GPT-4主要有三大改进点 局限性 安装插件 AB功能一样,A安装的人最多,GPT具体功能可…

K8s之标签、Node选择器与亲和性详解

文章目录 一、标签1、标签是什么?2、给Pod打标签3、给Node节点打标签4、查看标签资源 二、Node选择器1、nodeName(指定Pod调度到指定Node节点)2、nodeSelector(指定Pod调度到具有指定标签的Node节点) 三、亲和性1、Node亲和性-nodeAffinity2、Pod亲和性-podAffinity…

软件测试项目实战经验附视频以及源码【医疗项目,社区管理,前后端分离项目,银行项目,金融项目,车载项目】

前言: ​​大家好,我是测试小马。 很多初学的测试小白都在烦恼找不到合适的项目去练习,这也是难倒大部分测试小白的一个很常见的问题,项目经验确实是每一个测试非常宝贵的经验!这里小马哥给大家找了一些常用的项目合…

AJ-Captcha验证码使用教程源码解读

1.背景 验证码的主要作用是防止机器人恶意使用我们的程序........ 今天我们结束一款强大的验证码组件:aj-captcha 官方文档:AJ-Captcha在线体验 大家一定要认真阅读官方文档 2.项目启动与快速测试 启动后端: 快速页面测试: 使用浏览器访问这个页面 有修改后端源码的情况…

MySQL触发器Trigger加载以及目前局限

GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者: 亮文章来源:GreatSQL社区原创 概念介绍 首先需要知道MySQL中触发器特点,以及表table…

掌握这些技巧,让你的Facebook文案更具说服力!

面对广告瀑布流般的竞争,如何让自己的Facebook广告脱颖而出,吸引到用户的眼球,成为广告运营人员必须思考的问题。在这个过程中,文案的作用是至关重要的。 优秀的文案不仅可以吸引用户点击,还能让用户产生共鸣&#xf…

K8s scheduler 调度:预选和优选策略

1 环境准备 kube-scheduler是k8s的核心组件之一,主要负责Pod的调度。scheduler通过监听kube-apiserver,查询未分配 Node的Pod,根据配置的调度策略,将Pod调度到最优的工作节点上,从而高效、合理地利用k8s集群资源。 在m…