前言:随着2019年PCG各业务如火如荼的发展,急需提升的研发效能成为大家的关注点。由PCG研发部发起的一轮研发模式变革正在紧锣密鼓地席卷而来。
1
背景
伴随近几年DevOps的兴起,越来越多软件工程名词进入大众视野:敏捷软件开发、精益软件开发、看板方法、设计思维、持续集成、持续交付、持续部署等。精益软件开发和持续交付。本文从概念出发,对腾讯所做的研发模式变革进行介绍。
精益软件开发七原则:
尊重一线人员、消除浪费、增强学习、尽量延迟决定、嵌入质量、快速交付、整体优化。
精益思想:“开发-测量-认证”的验证学习过程,增加有价值的活动,减少不增加价值的活动。
在互联网的快节奏下,是否能快速推出有价值的产品,直接决定了业务的生存。如果能有效的控制“不必要的浪费”,增加研发过程中的“有效活动”,就能有效的提升研发效能。效能的提升,离不开持续交付的理念。持续交付从本质上讲,就是希望端到端地去解决问题。它以可持续的方式,安全快速地把变更,无论是features、配置管理、用户体验,放到生产环境上让用户使用。所以持续交付本身定义的是一种软件团队由需求到用户的端到端的交付能力。
腾讯高级管理顾问乔梁老师在《持续交付2.0》中提出了以下的持续交付七巧板模型。
2
EPC模型介绍
EPC(Engineering Productivity Certification)模型是上述持续交付七巧板模型落地的执行标准。将软件研发能力体现在11个维度,进行量化展示。
bug是否变少了,线上问题是否变少了?发布频率是否变快了?发布周期是否变短了?为此我们制定了 EPC能力提升带来的效果。
软件研发效能度量指标:
3
实践机制
研发模式变革活动的时间轴(2019年)如下:
总体思路为:
a) 选取试点团队:遵循自愿自主的原则,对体系标准理念认可且友好,愿意投入研发人力的团队。
b) 建立和培训核心教练团:对试点团队的研发模式变革实践进行贴身指导。
c) 过程中EPC标准答疑、工具链对接、工具开发,实施接地气式的专业辅导和协助。
d) 建立每季度的例行评估机制(评审团和被评审业务的举证答辩式评审机制)、团队激励机制。
e) 目标分解落地,持续优化,形成闭环。
工具:对接主流的持续集成工具,例如蓝盾、pipeline、git等。开发了添翼研发助手,基于IDE插件的研发效率工具,打通IDE、工蜂、TAPD、CodeDog, 提供便利的代码评审、需求缺陷管理、代码扫描等功能。支持IntelliJ IDEA、GoLand、Pycharm、clion、phpstrom、 AppCode、Android Studio、VS Code等数十款IDE。为了精准快速呈现各业务的研发模式变革结果,我们开发了EPS研发效能度量平台。可以自助获取分支管理、代码质量管理、持续集成等维度的评级结果以及代码、缺陷、需求等相关的团队与个人的研发效能度量指标数据。
人:建立EPC核心辐射圈,以EPC标准为核心,先将核心理论辐射到EPC教练团、试点团队,然后借助各种工具及对应的红线准出设定,持续地将标准应用到所有业务。并且在试点过程中引入团队度量和激励方式,牵引参与人员的工程素养和质量意识提升。
4
效果评估
每个季度对参加试点的团队进行评估,记录各试点业务在研发效能模型下的各维度工程能力平均分,对照年初成倍提升,其中最优秀团队增长超过三倍。在质量保持稳定的同时,各业务平均需求交付周期也有显著提升。
未来展望
结合公司正在推行的技术中台战略思想,以EPC认证体系为驱动力,计划在2021年覆盖PCG全部业务。我们会努力夯实基础研发环境与工具,搭建高效的研发生产体系,建设效能度量平台,让每位工程师的效能产出与质量透明可见。在DevOps转型之路上,我们一直在努力。
后期我们会从EPC的各个维度向大家介绍我们的DevOps转型之路,想要看更多干货,请继续关注我们哦~
end
长按二维码关注
获取更多精彩干货
注:图片均来源于网络,无法联系到版权持有者。如有侵权,请联系后台做删除处理。