研发效能度量平台建设以及落地实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 研发效能度量平台建设以及落地实践 演讲人:周纪海
2. 目录海 • 自我介绍 • 持续反馈和度量驱动 • 研发效能常见度量指标 • 研发效能度量平台建设 • 实践中如何正确使用研发效能度量 • 阿里,滴滴和京东的研发效能度量实践 • 量 平台建设以及落地实践
3. 自我介绍海 英国伦敦帝国理工学院博士毕业。毕业后在多家大型银行 (巴克莱银行,汇丰银行等)从事DevOps工作。2018年 从伦敦汇丰银行总部派到广州中国汇丰软件,负责投行部 千人的DevOps和DevSecOps转型。2019年加入腾讯TEG, 2020年作为首席技术布道师加入腾讯云 CODING。2021 年作为DevSecOps负责人加入汇丰科技证券科技部门。从 2018年至今,在国内外30多次技术峰会和论坛上分享 DevOps和DevSecOps经验
4. 持续反馈和度量驱动
5. 为什么需要度量海 • 管理学之父德鲁克说:“如果你不能度量它,就无 法改变它” • DevOps 三步法 – 持续反馈和持续改进 • 度量提供了一套可量化的,可视化的,并带有分析 结果的持续反馈机制和落地方案 • 传统度量更多是用于控制成本的人力度量,以及运 维侧的对线上产品的监控。而DevOps更多关注的是 研发过程度量
6. 度量驱动海 • 度量驱动是通过开发过程中的度量数据,认识 度量驱动的DevOps转型包括: 和理解目标及背后的原因,最终作为决策的输 ➢ 通过和迭代结合实现集中,高效的开发方式 入,影响到了技术的使用,人的文化意识的改 ➢ 通过自动化部署流水线有效提高软件交付的 变,甚至管理层的决策。 • 度量驱动的原则: ➢ 分配度量项给相关的负责人 ➢ 创建分层的度量指标,相互关联,发现趋势 ➢ 分析数据并利用度量做决定 效率 ➢ 通过质量内建确保软件交付的质量 ➢ 通过对过程数据的收集和分析,发现交付过 程中存在的问题和瓶颈 ➢ 通过对产品和用户的线上数据获取反馈,并 做出及时调整
7. 研发效能常见度量指标
8. 研发效能度量指标 • DevSecOps度量不仅包含了传 统DevOps的度量指标(交付速 度和交付质量),更将应用安全 引入进来(交付安全) • 交付安全包含了三个维度的指标 ➢ 安全能力 ➢ 安全效率 ➢ 安全成本
9. 交付效率/速度和交付能力度量指标 • 交付效率/速度度量指标: • 交付能力度量指标: ➢ 交付周期 ➢ 发布频率 ➢ 开发周期 ➢ 发布前置时间 ➢ 交付吞吐率
10. 交付质量度量指标海 • 过程质量度量指标: • 结果质量度量指标: ➢ 缺陷密度 ➢ 线上故障/事故数 ➢ 代码质量问题密度 ➢ 应用Down Time ➢ 单元测试通过率 ➢ 平均恢复时长 ➢ 单元测试覆盖率 ➢ 故障平均发现时长 ➢ 自动化通过率 ➢ 线上缺陷密度 ➢ 自动化覆盖率 ➢ 严重缺陷率 ➢ 漏测率 ➢ 发布成功率
11. 交付安全度量指标 • 应用安全工具发现的安全漏洞数 ➢ 高危安全漏洞/风险数 ➢ 中危安全漏洞/风险数 ➢ 低危安全漏洞/风险数 • 安全工单数总数 • 发布阶段的安全评审/扫描时长 • 因为安全返工的时长(成本) • 安全测试用例通过率
12. 研发效能度量平台建设
13. 研发效能度量平台建设架构
14. 实践中如何正确使用研发效能度量
15. 常见度量使用误区 • 管理者常常关注传统的度量指标 ➢ 资源利用率(工时,打卡) ➢ 代码行数 ➢ 缺陷数 ➢ 需求数/故事点数量 • 以局部产出进行度量 • 团队横向对比 • 把度量作为KPI用来衡量绩效 • 未准确定义度量 • 不能恰当分析度量 • 不能周期性地重建基准
16. 如何正确使用度量 – 不能横向对比
17. 如何正确使用度量 – 需要考虑全局 • 某个单点度量指标可能会给团队引导错了方 向。因此不能聚焦于某阶段的输出指标,而 需要聚焦整体结果产出指标 • 研发效能要以端到端的流动效率(而非资源 效率)为核心。比如交付时长越短,说明速 度越快,团队的交付效率也就越高 • 在实际工作中,流动效率和资源效率需要进 行协同优化,而不是简单地只考虑其中一类
18. 如何正确使用度量 – 不能作为KPI考核 • 因为度量数据并不容易量化,而且不能直接和100%准确反 映效能对产品价值的影响,因此无法进行绝对公平地衡量。 • 如果简单地以需求交付数量作为KPI,甚至将度量作为惩罚 性依据,则团队可能为了绩效或者免受惩罚,放弃以改进为 目标,而是以数字游戏,规避或者利己地心态对待度量。 • DevSecOps度量可以作为KPI的参考帮助管理者了解情况, 发现问题和做出判断。
19. 如何正确使用度量 – 可视化 ➢ 很多实践证明,度量的可视化是改变个人意识,以 及团队和公司文化的有效手段之一 ➢ 随着时间的推移,通过潜移默化的影响,逐渐让团 队通过度量指标关注研发效能,尤其是过程效能 ➢ 度量数据可以展示在人流密度大,或者比较显眼的 地方,以及大的屏幕上 ➢ 管理者需要经常关注展示和自己团队相关的数据 ➢ 配合一定的奖励机制,效果会更好。
20. 如何正确使用度量 – 度量数据的统计分析 • 度量数据需要进行统计和分析,发现最有价值的信 息,进而帮助团队发现深层次的问题,并为解决方 案提供实验数据,由此为依据进行改进 • 虽然我们重视量化和数字驱动,但不能过于迷信数 字,需要结合场景具体情况具体分析
21. 如何正确使用度量 – 需要配合提醒机制 • 及时的提醒比事后复盘更重要,因此相关提 醒需要配合度量一起使用 • 通过邮件,微信短信等方式定期通知并公开 个人对应的任务度量指标 • 通过不断提醒确保每个人都能遵守规范,并 且保证度量发现的问题可以及时和按时解决。
22. 如何正确使用度量 – 质量门禁 • 通过技术手段在流水线上设置质量门禁(为相关度量指标设 置用以流程通过需要满足条件),实现自动质量把关。 • 常见的质量门禁度量指标: ➢ 高危安全漏洞 ➢ 严重缺陷 ➢ 单元测试覆盖率/通过率 ➢ 自动化测试覆盖率/通过率 ➢ 严重等级的代码质量问题 ➢ 代码评审
23. 阿里和滴滴的研发效能度量实践
24. 阿里巴巴度量体系 – 度量指标和目标 阿里巴巴定义 了“2-1-1”研发效能的目标。 ➢ “2”是指85%以上的需求可以在2周内 交付(交付周期) ➢ 第一个“1”指的是85%以上的需求可以 在1周内开发完成(开发周期) ➢ 第二个“1”值得是1小时发布前置时间 – 提交代码后可以在1小时内成功完成发 布(发布前置时间).
25. 阿里巴巴度量体系 – 度量分析
26. 滴滴度量体系 – 度量平台建设 • • 滴滴研发效能经历了从采用开源满足业务基础需求,到特定领域自研,最后到特定领域的平台化 • 工具层面 ➢ 打通研发和非研发侧的工具,使得需求,项目和产品侧的同事感知到研发整体进度和关键指标进展 ➢ 通过一站式研发工具,统一标准和规范,并将最佳实践低成本地推广到跟多业务线 数据产品 ➢ 目标 • 1. 难点和解决方案 数据层:数据提取功能有限,数据缺乏统一标准和缺乏关联性。 1. 数据层:自动化并准确地收集原始数据 通过一站式解决数据关联问题,并且对数据结构的梳理和标准 2. 计算层:处理和加工原始数据,形成工程 化,以及工具本身数据能力的改造 效能指标 3. 应用层:基于不同视角,个性化展示指标 2. 计算层:数据解读成本高和缺少指标体系。通过梳理指标体系 和数据表血缘图来降低数据的解读成本
27. 滴滴度量体系 – 度量指标 • 滴滴定义了三类核心度量指标: ➢ ➢ ➢ 给业务和非工程团队参考用的交付指标 1. 交付周期:平均交付时长,最大交付时长 2. 交付质量:线上事故数,回滚数,增发、补丁数 3. 交付吞吐:单位时间交付数 体现工具本身状态的特征指标 4. 有效性:研发流程,工具能力,质量保证,度量手段 5. 可持续性:架构合理性,代码复杂度,测试覆盖率,团队构成及人数 研发过程指标 1. 需求响应能力:完成研发周期,开发周期,测试周期 2. 研发过程质量:库存缺陷数,缺陷修复时长 3. 持续集成能力:频率,平均时长
28. THANK YOU!

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-27 11:18
浙ICP备14020137号-1 $访客地图$