导读
腾讯到底是怎么进行敏捷研发和极速产品交付的呢?
腾讯研发管理部高级产品经理、敏捷教练张贺,受邀在DevOpsDays深圳站中进行了相关分享。
他从“道、法、术、器”四个方面揭秘了腾讯当年面对研发方面挑战时的破局之道,并结合实践介绍了腾讯的三种研发模型及典型案例。
快来一起看看吧~
大家好!
首先做一下自我介绍,我叫张贺,来自腾讯研发管理部,目前主要负责腾讯敏捷研发体系和敏捷研发平台TAPD的建设工作,同时我个人也是一名敏捷教练,指导了腾讯内部很多业务团队的敏捷实施,也帮助了许多腾讯合作企业完成了研发转型和敏捷落地。
![640?wx_fmt=jpeg](https://i-blog.csdnimg.cn/blog_migrate/cc98f6d1b6cb4c17a871fecefabdc00f.jpeg)
大家都知道,在腾讯的发展历程中孵化了众多的优秀产品,QQ、微信、视频、音乐等等都服务在我们的生活当中。
这些产品背后,有着不同规模、不同成熟度的产品研发团队在进行着持续创新。那么支撑这些创新的研发体系是怎样的?腾讯的产品研发过程有哪些特色?
今天我会和大家聊一聊,企业在产品研发过程中面临的各种挑战,以及腾讯是如何解决这背后的问题,并与大家一起探讨企业数字化敏捷转型,怎样更快更好地落地。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/a65ade2ecc12a87b0718507a4882d14a.jpeg)
困惑到破局
企业研发面临的敏捷挑战
在腾讯的这么多年里,我见证了众多业务的孵化,参与了许多研发团队从组建、成长到成熟的过程,尽管业务领域各有不同,但是研发团队所面临的问题却有很多相似之处,其中最为普遍的一点,就是随着业务扩展、技术栈的更新、团队规模的增长,研发模式怎样随团队一起升级。
不知道在座的各位,有没有遇到过下面这些情况。比如因为人员变多带来的信息逐层衰减,导致团队沟通效率降低。因为风险没有及时同步,造成的版本不能按时交付,从而影响到业务的整体推广计划。这些都是摆在团队面前实实在在的挑战。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/1c349da887127f13f5febf6bf78f543b.jpeg)
具体到腾讯的情况来看,目前腾讯有超过2W的产品研发人员,业务覆盖社交、广告、金融、娱乐等数十个行业,超过400款产品,每月有数千个项目在持续运转。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/78b51b995e21f3c643630844a06cdd0e.jpeg)
在这些数据的背后,不同的业务场景下,他们的研发模式有什么差异;流程管理怎样做到自适应和定制化?
如果团队内部存在多元的技术栈,那么研发效能如何度量和改善呢?
这里和大家分享一下腾讯的破局之道。
十年磨一剑
腾讯敏捷研发体系
首先,给大家介绍下腾讯敏捷研发体系。这个体系是怎样的一套框架呢?在腾讯内部,我们把它概括为:道法术器四个方面。
所谓道,是指腾讯研发的核心思想和理念;所谓法,是指腾讯研发文化和组织;术则包含了腾讯研发体系的最佳实践;器,则是承载这些思想和实践的平台。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/58bf8f9dd731e7552d1872f4011e1822.jpeg)
敏捷思想是腾讯产品研发的核心理念。说到腾讯敏捷的起源,时间要回到2006年,当时的腾讯的联合创始人,前CTO张志东先生,前往美国与Google、Yahoo等公司进行交流,并将敏捷思想带回腾讯,十二年来,敏捷在腾讯落地、生根、发芽,并沉淀为了这样一套成熟的敏捷思想——以用户价值为依归,敏捷迭代,小步快跑,鼓励用户参与,持续交付和灰度验证。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/602f3b7e502824d7416fb01203d3d5a0.jpeg)
仅仅有思想还不够,在腾讯,我们打造了一系列的敏捷培训课程,进行了四百多场的敏捷培训,组建了敏捷教练团队,来指导业务团队的敏捷实施,同时在公司内组织了线上和线下敏捷实践交流,去帮助团队进行敏捷的经验交流和分享,营造敏捷氛围。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/121c4c296d33f45963b67eb502d07b2d.jpeg)
组织结构方面,腾讯在职能组织的基础之上,引入Feature Team。Feature Team是一种按照敏捷的交付模式,以用户为中心,按照用户场景作为边界来组织团队的做法,是业务的最小作战单元。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/1140f62a13976e1c672664ffcf830d4e.jpeg)
有了思想、文化和组织,就到了实践环节。
在实践方面,腾讯的敏捷有两部分构成,项目管理实践和研发工程实践。项目管理实践提炼并融合了Scrum、XP、FDD等主流的敏捷研发思想;研发工程实践,则是从研发、交付等视角,持续进行CI、CD的建设。之所以将项目管理与工程管理并称为腾讯敏捷,是因为他们有一个共同的目标——快速高质量地交付用户价值。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/17ca7c51b872999d95a26ba106f5710b.jpeg)
说到工具,正所谓“工欲善其事,必先利其器”,基于腾讯的敏捷实践的落地需要,我们从06年开始,打造了“乐高化”的腾讯敏捷研发工具平台——TAPD。
![640?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/5b030c72d1740a154e5487b53d985be2.jpeg)
正是基于刚刚提到的公司内部研发场景复杂化的特点,我们要求这个平台必须具备一体化、敏捷化、自动化、智能化的特点,用以支撑不同团队研发过程管理的差异化。很高兴的是,我们最终做到了这点,腾讯的敏捷研发平台TAPD已经成为业界极具竞争力的研发工具平台。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/7f03435254471615bc4b94e8e2cf564e.jpeg)
可以说,腾讯的敏捷思想、文化、实践和平台,道法术器四个方面,共同构成了腾讯敏捷研发体系。
敏捷化驱动
腾讯项目管理与研发工程实践
了解完研发体系,相信大家一定对腾讯的研发实践和案例更为感兴趣,下面带大家一起了解下腾讯敏捷研发的经典模型和典型案例。
刚才有讲到,腾讯敏捷实践的目标是交付用户价值,这种交付我们要求它能从端到端拉通敏捷项目管理和研发工程管理,同时我们希望这种交付是快速的、可靠的。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/4611f47e94af6495d4a668e8805ee416.jpeg)
1
腾讯项目管理实践的三种模型
这里我们先来了解一下腾讯敏捷项目管理的经典实践,我们把它抽象成三个模型,分别是:迭代模型、极速模型、大象模型。
迭代模型被腾讯80%团队所采用,是最主流的敏捷模式。极速模型则主要适用于需要快速响应市场变化的业务,以运营类团队居多。大象模型则更适合跨组织、跨地域的大型团队采用。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/a3c9b11913aa3a5f8788df1706355ac1.jpeg)
那我们首先来看下迭代模型,迭代模型是基于Scrum思想的敏捷实践,他的特点是具有相对稳定的迭代周期,每个迭代周期至少有一次交付。
这种模型是以需求为始,产品负责人会结合各个渠道的反馈,整理分析成产品的Backlog。团队成员会通过迭代计划会议,选择高价值的需求,分解后纳入迭代。
迭代是产品研发的心跳,迭代周期会根据团队的实际情况决定,一般不会超过4周。迭代过程中,Scrum Master会组织团队通过每日站立会议、迭代燃烧图等方式透明迭代进展,并通过持续集成等方式确保迭代成果快速交付。
迭代完成后,团队成员会通过迭代回顾会议进行总结和改进。这就是一个完整的迭代过程。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/2394a3a1324a048629be4504355a032c.jpeg)
接下来我们来看极速模型,它是以需求为粒度的拉动式交付,通常是单周迭代,可以做到最快每天多次发布。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/4bf785bd48809abaa0db23706f0e511f.jpeg)
这里我们以QQ音乐的运营团队为例,在遇到节假日,或者市场热点需要举办运营活动,或者对于产品功能进行调整的时候,他们会把这次运营活动作为独立的需求进行跟踪,完成后立即交付,以便做到最极速的响应。
第三种模型是大象模型,它常见于百人以上的团队,这种团队有多个Feature Team构成,跨组织跨地域,一般的交付周期大于2个月。
![640?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/9c0f68f143ad41df586c86937774995d.jpeg)
这里一个案例就是手机QQ,手机QQ是超过1500人的复杂团队,会接入腾讯各种业务,比如QQ会员、QQ支付等,这些业务都属于不同的部门,每一个部门都会有一个Feature Team,跟手机QQ的基础平台进行协作,采取拉取代码分支的方式进行独立开发。
手机QQ建立了统一的迭代计划,进行跟踪管理,迭代周期通常为三个月。设计到需求的变更都进行了严格的控制,让整个迭代计划在所有业务团队都透明,做到项目计划一致。同时在TAPD建立了需求评审流程,所有变更都要经过评审通过后再去实施。通过TAPD平台的使用,做到进一步的透明和精细化管理。
腾讯的三大敏捷研发模型具有很好的灵活性和适应性,在腾讯十余年的敏捷实践过程中,不管是小团队,中型团队还是大型团队,都可以根据团队的成员能力与研发情况选择最适合的敏捷模型,并且随着业务发展持续扩展与升级,这些自适应的实践都可以借助腾讯敏捷研发平台实现。
2
腾讯敏捷研发的工程实践
接下来为大家介绍腾讯在研发工程方面的敏捷实践。
腾讯敏捷研发实践有三大特点,分别是多元化、定制化和分布式,通俗讲就是工具多、个性化和度量难。那我们是如何解决这个问题的呢?
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/fa16dc054d48568c49a196836734c2eb.jpeg)
腾讯敏捷研发平台提供了持续交付数据总线的解决方案。通过数据总线,拉通产品研发的全过程,覆盖项目管理、代码管理、持续集成、测试管理、交付部署,运营反馈各个阶段。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/3aafa7c9e217a8bcd90d5593c37fa36f.jpeg)
同时,数据总线支持在各个环节,接入腾讯内部多样化研发工具,比如腾讯工蜂Git代码管理、代码检查工具、自动化测试工具、RDM、织云等集成和部署工具。
数据总线提供了可视化的流水线管理,并落地了各环节的研发数据,帮助团队进行多维度的研发效能度量,实现一站式研发过程管理和改进。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/fc27de90ae95bb9e6aa7f492258de7c6.jpeg)
持续交付数据总线可以将项目管理和工程实践数据无缝打通,支持标准化的工具集成方案,提供丰富的研发效能度量,使整个研发生命周期可知可溯。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/a4a2f298127bc472ddab71ac8e77d602.jpeg)
具体来看这些实践:
开发人员可以将每次的代码提交,和产品需求或缺陷进行关联,使代码更加场景化,实现Issue和代码双向追溯。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/6995a963fcb6ee7f426df7cbb66582f9.jpeg)
构建信息嵌入在项目管理中,拉通项目管理和工程实践。所有的构建任务、构建过程和构建结果都会在平台可视化展示和管理。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/b2dff3c051d4615e3f40dc1b115f77e0.jpeg)
聚焦到单次构建,可以获取到这次构建范围内涉及的需求和缺陷。开发运维同事,可以关注到这次构建包含的产品特性;同时,产品运营同事,可以感知每天的开发进度和交付情况。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/69716e89d96834d02c8c15c89a41f8ee.jpeg)
对于客户端类型的产品,测试、体验相关人员,可以快速获得每次构建的制品产物,并对构建产物进行版本化管理,开展质量验证工作。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/08c01aa6dd3183723a0248a81806bf68.jpeg)
如果团队有做静态代码检查、自动化测试相关的实践,数据总线可以对质量报告进行分析与可视化展示。对报告中的问题,支持一键录入缺陷单,实现缺陷的全程跟踪管理。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/dc134365bc62d7c02a5ac30f8fc2c8b1.jpeg)
除了CI、CD实践外,研发效能的统计与度量也是驱动持续改进的重要因素。
TAPD数据总线提供了多维度统计和度量能力,以迭代为例,通过迭代的Dashboard,可以统计到当前迭代的需求完成情况、缺陷新增和解决情况、代码提交与关联趋势、每日构建统计、构建产物版本情况、自动化测试、部署等全过程数据。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/9554ffcea5425bc3b1e59a4cd841e8bc.jpeg)
TAPD数据总线能够全方位、多角度、立体化进行研发效能度量,解决企业交付面临的研发效能难度量问题,驱动研发效率持续改进。
开放与助力
企业数字化敏捷方案落地
随着腾讯“开放 连接 生态”建设的深入,腾讯的敏捷研发平台TAPD也向外界进行了开放,携腾讯敏捷的经典实践与十二年来的敏捷服务经验,助力各行各业的企业提升研发效能,落地数字化敏捷方案。
开放一年多的时间来,腾讯敏捷研发平台已经服务超过40W研发项目,覆盖电商、企业、金融等20多个行业领域,获得良好的用户反馈和评价。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/61994c3a41cc9fb450d4fee008f55161.jpeg)
我们将腾讯十二年来的敏捷实践进行了提炼,结合腾讯敏捷研发平台的产品优势,推出了轻量协作、敏捷研发、DevOps持续交付三大解决方案,满足不同行业、不同规模、不同成熟度团队的项目协作与研发管理需要,并且支持无缝扩展升级,与团队共同成长。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/411e6bd1b354df9eed9858584d2dddce.jpeg)
同时,在工程实践环节,我们整合了业内主流研发协作工具,并和项目管理过程进行了无缝打通。针对企业自建平台的接入,我们的开放平台也提供了标准化的接入流程,助力团队打造贯穿产品研发全生命周期一站式交付能力。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/736c9101197f666b2bee3220ba90775f.jpeg)
截至目前,腾讯的敏捷研发平台TAPD已经服务了超过10W家企业,并得到了各个行业标杆客户的认可。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/4804ff6f67c87051ad0000b9e9368487.jpeg)
未来的腾讯敏捷研发,希望和在座的各位,以及各位所代表的企业一起,探索更多的可能,一起打造更加开放的敏捷研发生态。
最后,如果大家希望了解腾讯敏捷的更多信息,可以等会后在外面TAPD的体验区进行体验与交流。
谢谢大家!