腾讯研发工具体系-腾讯研发效率领先的秘密
在devOpsDays Beijing,腾讯CODE平台产品经理mars分享介绍了腾讯研发工具体系,并通过两个研发过程中的实践案例,说明DevOps理念对于研发过程的优化作用,本文是这次分享内容的整理和延伸。
一、腾讯拥有业界领先的研发效率
平均每研发人员单位时间释放出的产品能力,即“研发效率”。
根据腾讯最新发布的公司介绍,腾讯大约有15,000名研发人员。但是,腾讯却有几乎最为广泛的业务线。在日常生活中,每个人都可以感受到腾讯产品的覆盖宽度。更为甚之,腾讯还有著名的“内部赛马”文化,同一类产品可能有多个团队竞争,这意味着集团的产品线要有多份的研发能力以供赛马。在这一切的背后,必须以高效的研发能力来应对保障。
研发效率是是指单位研发人员负责输出的产品能力,统计上就是集团公司整体的产品能力,除以整家公司技术族人数。
那么,究竟是什么使腾讯拥有如此高效的研发能力呢?有以下几点因素:
∙人的因素
在腾讯,有上万名优秀的技术人员,感谢他们心怀梦想的工作,为企业和社会做出了重要贡献。
∙敏捷文化
在腾讯,敏捷早已深入骨髓,已经是一种自发的行为。公司无需刻意强调,团队已然践行。
∙研发工具自动化
研发链上,腾讯具备完整的去中心化的工具体系。在这个体系中,自动化和便利性同等重要,并通过去中心化的机制保证组织末梢上的业务效率。
∙质量保障能力
app接口测试工具
腾讯有非常高效的质量控制能力——高效率的质量团队、高效率的质量工具和高效率的方法论。
二、腾讯研发工具链
腾讯特有去中心化的研发工具体系,平台之间使用松耦合的方式互相集成。下图中列出的工具系统大约占到腾讯内部工具平台的1/8左右。若从圆心点画每一条射线,都能到一个完整的工具链。从图中可以看出,有些工具平台是公共的,而其他一些则是与业务相关的。
(腾讯研发工具链示意图)
来看一下集团层面的公线工具。
腾讯的代码管理和需求管理有统一的平台,也就是说腾讯的源代码统一由CODE平台负责管理,其中主要是腾讯自研的Git平台,而需求规划系统统一由TAPD承担。
除此之外对于DevOps很重要但又很容易被忽略的部分,是企业内部的一些关键设施,比如办公网络、知识管理、安全管理还有就是最最重要的企业IM。
特别是IM,国内在做DevOps解决方案时经常忽略,IM和DevOps系统适当集成,可以组成实时的信息传递中枢。IM与全链工具链如何结合是一个可以深挖的课题。腾讯在IM方面已经全面使用企业,DevOps有关的各个系统都在实时通知的能力上与企业做了内部整合。
(公线工具示意图,虚线内)
再来看一下业务线,虚线内囊括了集成、测试、容器、部署、微服务等等工具,可以看到沿着中心每一条线,都能伸展出一条完整的研发和运维工具链。
(业务线工具示意图,虚线内)
其中还有一些比较著名的系统,比如织云、蓝鲸、WeTest、Bugly,在各自的领域上都十分完备,有很好的用户体验。
系统和系统之间的DevOps闭环是通过松耦合的模式互相衔接的:用Hooks 触发,再用API相互集成调用。实现一种去中心化的协作能力。
每个业务可以自行选用适于自己的系统,比如一个团队可以使用MIG的RDM 做编译,用IEG的CodeCC做静态代码扫描,用QTA或者WeTest做自动化测试,再用织云来发布服务。而不会因为组织架构而拘泥于某一系列的研发工具。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。