基金公司最佳实践:如何用价值流分析,洞察研发效能瓶颈?

news2024/11/19 7:49:53

近日,ONES 受邀参加 QECon 2023 全球软件质量&效能大会(北京站)。在会上,ONES 高级研发总监&首席解决方案架构师陈亮宇,发表了主题为《聚焦价值流分析,寻找研发效能的「北极星」》的演讲,分享 ONES 在 DevOps 实践中的洞见及思考。

陈亮宇在研发管理方向深耕 10 余年,在敏捷管理、DevOps 领域实践经验丰富,成功帮助数百家中大型企业实现高效管理,提升研发效能。本次演讲,他结合 ONES 某知名基金公司的最佳实践,详解如何通过价值流分析洞察研发效能瓶颈,以及如何有效提升研发效能。

图片

阅读本文,你将了解:

  • 研发效能提升路径的六大步骤

  • 如何通过价值流分析提升研发效能

  • 研发中常见的瓶颈阶段及内在动因

01 提升研发效能的关键六步

在聊研发效能之前,想和大家分享一个 AI 小故事:

作为研发出身的我,在 ChatGPT 刚火的那阵子,打算用 AI 写一个运维脚本,很好奇它究竟是如何帮助企业提升研发效能的。我先去了解了 ChatGPT 的前世今生,通过阅读大量的资料和论文理解它的同类和原理,最后再真正上手试用它。

当我做足了功课后,便信心满满地使用 ChatGPT,代码在我的提示词下,很快就产生了。但我发现,这段代码实现的内容与我的需求相差甚远,我开始重新修订提示词,但这时候,我又发现了下一个问题:每次生成的内容有限,我需要不断拆分需求,分批次地生成代码。最终,我发现生成的代码质量并不过关,我又开始和 ChatGPT 沟通如何写好一个单元测试。就这样不断地摸索,终于在一周后完成了这个脚本。

这次经历总的来说达到了我的目的,即通过 AI 完成了一个脚本。但通过一系列的效能分析(写这种脚本的需求产生的频次如何?我原本写这个脚本需要多久?过往写的质量如何?),这次的尝试无疑是失败的。

在黑夜里,想要确定方向,最简单的方法就是寻找北极星,研发效能的「北极星」是什么?就是顺畅、高质量地持续交付有效价值的闭环。在 ONES 服务众多客户落地研发效能实践的过程中,总结出以下六大步骤:

  • 评估企业研发管理现状

  • 引入管理工具,将研发过程全面落地在工具上

  • 价值流分析,明确企业的效能瓶颈

  • 设计效能提升的实施步骤和计划

  • 建立指标库,并设立提升目标

  • 持续改进

02 最佳实践:知名基金公司的效能提升案例

企业往往擅长解决问题,却不擅长发现问题。也就是说,上述提升效能路径的前三步,是企业普遍缺少的步骤。接下来,我将通过一个案例,帮助大家更好地理解如何通过价值流分析洞察效能瓶颈。

该案例来自一家国内知名基金公司的信息科技部门,公司战略规划中明确要求信息科技要围绕核心的投资、营销、运营等领域,构建公司的数字化护城河,提升研发效能。受 DevOps 文化影响,在接触 ONES 之前,该公司全力发展 CI/CD 基础设施建设,效能提升却陷入了困境;公司便很快意识到,DevOps 的概念不仅仅是 CI/CD,而是涉及整个研发管理的全链条。最后,ONES 通过「产品+咨询+服务」三者结合的方式,为其提供了全流程研发管理解决方案。

步骤一:评估企业研发管理现状。ONES 通过规范化、线上化、数字化、智能化四个维度为该公司进行评估:

  • 规范化:研发模式是否覆盖所有研发场景,评估研发管理各环节的规范程度;

  • 线上化:企业是否运用一站式研发管理平台,承载从需求到交付全流程的流通;

  • 数字化:企业是否有成熟的度量模型数据,来持续优化团队能力和交付效率;

  • 智能化:企业是否有智能化的决策模型,为研发管理过程提供决策推荐。

图片

步骤二:引入管理工具,将研发过程全面落地在工具上。ONES 咨询顾问通过访谈、回顾会等方式梳理客户的研发管理全流程,并将该公司的研发管理过程从需求调研到业务验收的完整流程全面固化在 ONES 中。

步骤三:价值流分析,明确企业的效能瓶颈。下图是 ONES 最初为其绘制的价值流映射图:业务部向产品部提出自己原始的需求,需求便流入需求池中;当需求的目标、范围确认清楚后,产品经理完成需求的原型图设计及文档分析,并交给 UED 完成 UI 设计。与此同时,产品经理拉齐 UED、研发、测试部门主管一起澄清需求;之后,研发部门将需求拆分为各个研发任务,进入研发阶段。

图片

然而,当我们画完价值流映射图后,发现了三个异常环节,分别处于业务验收阶段、研发阶段以及发布上线阶段。

图片

第一个异常环节处于业务验收阶段。在最后的验收环节,该公司的 C/A 率低至 50%,也就是说,交付的需求有一半都无法通过验收。ONES 通过访谈关键部门,得出以下结论:

首先,需求实现的效果与预期不一致。需求从业务部门提出到研发阶段,中间产生了层层的信息差,无论是需求方案、UI 设计,还是技术方案,业务侧全程未参与,造成了研发资源的大量浪费。

其次,业务侧快速上线的期待与研发排期的冲突。受到研发排期的影响,需要快速响应的需求最终都错过了交付时间。

最后,是跨部门沟通不畅的原因。有时,需求已经暂停了,却未及时告知研发部门,直到验收阶段才被知晓。

第二个异常环节处于研发阶段。如果一个项目的研发周期为 20 天,但真正的增值时间只有 12 天,导致这一现象只有一个动因:跨部门协作不畅。以下图这张计划表为例,每个业务需求被拆解成各个部门的研发需求,客户端的需求基本上依赖中台的研发完成。也就是说,如果研发没有排期,需求的完成就会被拖长,导致大量需求等待。跨部门协作是研发效能中较为常见的问题,解决方案有很多,比如成立虚拟的业务小组、部门统一目标、规划优先级等等。

图片

第三个异常环节处于发布上线阶段。因为 CI/CD 平台的日益完善,该公司的发布阶段只需半小时,但是发布上线的前置时间长达 1 天,流动效率仅为 1%。ONES 对其关键角色进行了访谈,发现了这 1% 的原因:

其一:发布需层层审批,存在各种各样的等待情况;

其二:无论需求的大小,所有需求都需审批;

其三:发布的时间经常不确定,无法前置安排审批时间。

围绕上述 3 个异常阶段,ONES 为客户制定了一系列的提升计划。在执行了一个季度后,该公司的价值流数据发生了很大的变化:整体的流动效率从原本的 69% 提升到 82%,C/A 率也从 87% 提升到了 93%(图中标红数字表示提升的数据)。

图片

03 思考和总结

今天的演讲接近尾声,和大家分享以下几点心得:

  • 研发效能和任何变革一样,有低垂的果实,也有边际效应。例如,验收阶段因为信息通知的不及时导致浪费,通过很小改动就能获得提升;同时它也有边际效应,CI/CD 的基础建设固然能提升研发效能,但当工程效能已经不是研发效能的瓶颈时,我们需要慎重考虑是否继续投入。

  • 返工是最大的浪费,尤其是交付不符合预期的价值。返工代表的是质量问题,但质量问题不仅仅体现在测试环节,我们将测试左移,从价值流最前端开始关注,此时所产生的浪费是最小的。越到价值流末端的返工、浪费行为就越应该被抵制。

  • 不同企业研发效能的目标和路径都不尽相同。专家经验最终也只是参考,需要贴合企业的实际情况来制定效能提升的目标。

  • 价值流分析能够有效帮助企业找到研发效能瓶颈,从而将复杂的研发效能提升工程化繁为简。

  • 规范化和线上化是价值流分析的重要条件,能够极大地承载价值流数据的获取时间。

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

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

相关文章

NSX 4.1中新的网络和高级安全功能介绍

我们很高兴地宣布VMware NSX 4.1全面上市,该版本为私有云、混合云和多云的虚拟化网络和高级安全提供了新功能。该版本的新特性和功能将使VMware NSX客户能够利用增强的网络和高级安全,提高运营效率和灵活性,并简化了故障排除的过程。 领先于…

使用免费MES系统的成功经验

随着科技的发展和数字化时代的到来,越来越多的工厂开始采用生产管理软件来提高生产效率和管理水平。 本文将分享一家工厂在使用免费生产管理软件后的成功经验,希望对广大读者有所帮助。 “之前也是在市面上找了很多厂家咨询报价,少则十几万多…

shell脚本清理redis模糊匹配的多个key,并计算释放内存大小

#!/bin/bash# 定义Redis服务器地址和端口 REDIS_HOST"localhost" REDIS_PORT6380# 获取Redis当前内存使用量(以字节为单位) function get_redis_memory_usage() {redis-cli -h $REDIS_HOST -p $REDIS_PORT INFO memory | grep "used_memo…

一个页面多触发事件需要共用一个接口处理数据,封装回调函数方法回调处理数据

// 事件共用方法queryData(code,data,callback){let params{code:code, //根据实际情况传入参数data:data //根据实际情况传入参数} // 传入借口参数this.$axios({url:, // 接口url地址method:post, // 接口类型params:params // 接口接收参数}).then((res)>{if(res&am…

有防水性能不错的耳机吗?这几款耳机游泳的时候都可以戴

Hey,朋友们!清爽初夏是不是又到了减肥塑形的好时候了呢?不知道有没有喜欢一边运动一边听音乐的小伙伴呢?运动健康的同时又放松心情确实一举多得。不过现在市面上大多数耳机都不适合我们在运动中携带,常常会因为我们运动…

【工具】自动搜索Research网站的学术会议排名

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] Research.com是一个可以搜索学术会议网站的影响因子的网站。 好用是好用,但有一个缺点:得手动选择类目。有这么多类目,一个个手动选也太累了。 所以做了一个自动搜索的小工具&a…

图片资源

1.TextureType: Default:默认图片类型 Normal:法向贴图 Editor GUI:编辑器使用的图片 Sprite:精灵格式图片 Cursor:鼠标贴图 Cookie:灯光Cookie贴图 Lightmap:灯光贴图 Single…

aws的EC2云服务器自己操作记录

亚马逊官网有免费试用1年的服务器 以下内容参考 1. 启动生成实例 1.1 创建实例时需要生成 使用的默认的 Debian 和 一个.pem后缀的秘钥 1.2 网上下一个Mobaxterm ,实例名是公有 IPv4 DNS 地址 ,使用SSH连接,登录名是admin 1.3 登录进去后 输入用户名 admin 后进去,sudo …

【赠书活动|第三期《Spring Cloud Alibaba核心技术与实战案例》】

文章目录 特色内容简介作者简介抽奖方式 特色 不留遗漏:全面覆盖Dubbo核心知识点 直击要害:实战化案例精准定位技术细节 学以致用:精要式演示确保开发、学习不脱节 潜移默化:研磨式知识讲解渗透技术要点 提升效率:垂直…

W5100S-EVB-PICO做DNS Client进行域名解析

前言 在上一章节中我们用W5100S-EVB-PICO通过dhcp获取ip地址(网关,子网掩码,dns服务器)等信息,给我们的开发板配置网络信息,成功的接入网络中,那么本章将教大家如何让我们的开发板进行DNS域名解…

【网络安全带你练爬虫-100练】第16练:使用session发送请求

目录 一、目标1:使用seesion进去请求 二、网络安全O 一、目标1:使用seesion进去请求 (1)应用: 通过创建会话(session)对象来请求并爬取返回的数据包 情景:需要登录才能爬取的网…

深度学习Redis(4):哨兵

前言 在 Redis(3):主从复制 中曾提到,Redis主从复制的作用有数据热备、负载均衡、故障恢复等;但主从复制存在的一个问题是故障恢复无法自动化。本文将要介绍的哨兵,它基于Redis主从复制,主要作…

HET-1型多功能二维材料转移平台

HET-1型多功能二维材料转移平台 产品介绍 HET-1型二维转移平台适用于石墨烯、各类过渡金属化合物、黑磷等多种单层及其多层二维材料的精确定位转移及范德瓦尔斯异质结的准确制备,实现了低维材料转移的精确可视化操作。本套转移平台由转移台模块、样品台模块、显微观…

高性能API设计

背景 设计出一个高性能的API,需要综合网络、业务、数据库的优化。一下是我在实际的开发过程中总结的优化思想和一些效率提升的技巧。 批量思想 很多的数据库操作都含有batch或者bulk的api,如我最近常使用的mybatis、mybatis plus以及elastic Search的…

怎么让表格中的一行数据 转置 为一列数据 (WPS )

例如 我现在有一列数据 我想要 变成一行 数据 1.首先选中想要转置的数据,然后control C 2.接着 点击你想放置数据的位置 右键 其实 关键是 找到 选择性复制 3. 找到转置,勾选 最后 确定 反之亦然

GD32F103VET输出PWM波形

GD32F103VET将TIMER0_CH3映射到PE14引脚,使其输出PWM波形。测试时,使用示波器看PE14引脚输出的波形,效果更直观。 TIMER0之PWM输出引脚映射如下: TIMER0_REMAP[1:0]"00"(没有映射): TIMER0_CH0默认被映射到PA8引脚 TIMER0_CH1默认…

计算机网络 深入理解HTTPS协议证书

文章目录 一、HTTPS协议二、对称加密三、非对称加密&对称加密(混合加密)三、加密证书四、HTTPS双刃性 一、HTTPS协议 之前介绍了HTTP协议,它给我们带来很大便利,但是也能看到他的不足。由于其本身通信使用明文,没有进行加密,…

MATLAB /Simulink 快速开发STM32(使用st官方工具 STM32-MAT/TARGET),以及开发过程

配置好环境以后就是开发: stm32cube配置芯片,打开matlab添加ioc文件,写处理逻辑,生成代码,下载到板子中去。 配置需要注意事项: STM32CUBEMAX6.5.0 MABLAB2022BkeilV5.2 Matlab生成的代码CTRLB 其中关键的…

Apache RocketMQ 命令注入

漏洞简介 RocketMQ 5.1.0及以下版本,在一定条件下,存在远程命令执行风险。RocketMQ的NameServer、Broker、Controller等多个组件外网泄露,缺乏权限验证,攻击者可以利用该漏洞利用更新配置功能以RocketMQ运行的系统用户身份执行命令…

java+springboot+mysql个人日记管理系统

项目介绍: 使用javaspringbootmysql开发的个人日记管理系统,系统包含超级管理员、管理员、用户角色,功能如下: 超级管理员:管理员管理;用户管理;反馈管理;系统公告;个人…