从字面上看,研发效能追求的是“效率”,但是脱离目标谈效率是没有意义的。从研发的角度看,软件的意义就是交付用户和客户的所需,从而产生价值。因此,研发效能就是更快地为软件的用户或客户交付价值。这里的价值包括以下几个方面。
有效性:让业务交付的服务与客户的需求及市场更加匹配,即对不对的问题。
质量:提升业务的安全性和可靠性、用户体验等,即好不好的问题。
效率:提升研发运维和变更的效率,即快不快的问题。
2021 年,腾讯 CSIG 技术委员会成立了研发效能提升组,基于腾讯云的技术标准化,以CODING 为底座,建设了统一的 DevOps 平台,集成从需求、代码、制品到云原生部署研发运维全生命周期的工具能力,基于工作流帮助业务实现研发运维过程的自动化,提升软件研发效率和质量。
下面介绍腾讯会议在研发效能项目中的实践经验,希望对同样走在研发效能提升道路上的你有所借鉴与帮助。
1
腾讯会议研发效能建设前概况
腾讯会议作为行业领先的云视频会议产品,为企业混合式办公、会议室协作,以及各类垂直场景提供高清流畅、便捷易用、安全可靠的连接模式,虽然经常被大家调侃为“只有三个按钮的 App”,但具有十分便捷的入会体验,且极大地提升了协作效率。
腾讯会议于 2019 年年底上线,面对疫情期间用户需求的爆发式增长,小步快跑,通过App Store 可以看到腾讯会议的迭代频率:在刚上线的 100 天内,快速迭代了 20 多个版本,下图是腾讯会议的发展历程。
随着产品的持续发展,腾讯会议在 2020 年下半年已经拥有了云会议、腾讯会议 Rooms、会议室连接器、开放平台 4 个产品线,随着团队规模和业务规模的扩大,团队协作的复杂性不断提高,导致研发效率降低。
如下图所示,2021 年年初研发效能专项建设前的数据显示,腾讯会议的团队规模与业务规模迅速扩大,但随着业务与协作复杂性的增加,研发效率却出现明显的下降,而导致研发效率下降的主要原因,相信也存在于大多数研发团队中。
腾讯会议的研发流程主要分为开发、测试、部署、运营 4 个部分,它们分别对应的领域存在以下问题。
开发域:技术栈不统一、流程化程度低、公共组件积累少。
测试域:环境单一、自动化程度低、测试工具不完善。
部署域:平台多、入口多、发布慢、回滚慢、没有门禁权限控制。