BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

腾讯研发总监揭秘腾讯敏捷研发引擎之谜(上)

| 作者 崔康 关注 0 他的粉丝 发布于 2015年8月13日. 估计阅读时间: 14 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

编者按

“大牛V课堂”是Geekbang核心栏目,通过邀约专业领域内的互联网顶级大牛分享专业知识和见解,让你了解专业领域内含金量最高的知识。关注geekbang01公众号,遇见下一位大牛。

本文根据腾讯研发平台总监袁琳在ArchSummit深圳2015大会的演讲整理而成,略有修改,感兴趣的读者可以关注10月份QCon上海2015大会的精彩内容。

正文

自我介绍,我是来自腾讯研发管理部的袁琳,目前担任腾讯研发总监,我也算是互联网行业的老兵,有十五年的软件和互联网产品的研发管理经验,我是在2005年加入腾讯,一直负责腾讯的敏捷产品的研发体系的探索和建设。到今年正好十年,所谓十年磨一剑,今天希望把这十年间腾讯在敏捷研发体系的工具和平台经验分享给大家,同时希望跟行业朋友进行更多的学习和交流。

在腾讯的发展历程中也孕育了众多的优秀产品,QQ、微信、QQ空间、QQ游戏产品等等。这些产品是如何打造出来的?腾讯如何始终保持产品研发创新的活力?支撑这些产品背后的研发体系是怎样的?腾讯的产品研发过程有哪些特色?

腾讯内部有哪些研发工具平台支持了研发团队的协作和项目管理,相信大家都比较感兴趣。接下来在我的分享中会从研发项目工具管理平台的角度跟大家介绍腾讯的敏捷产品研发平台TAPD平台以及TAPD平台是如何来支撑腾讯不同产品的差异化敏捷研发的模式。

腾讯敏捷化研发概况

首先简单跟大家介绍一下腾讯的整体研发概况。腾讯有超过一万五千个研发人员,在研发超过三百款产品,采用的是敏捷研发的方式,敏捷迭代、小步快跑。每个月会有超过两千次的迭代,超过五千次的产品发布,腾讯研发超过三百款产品,这是按照大的产品图划分的,还会再细分子产品。

腾讯采用的是敏捷化的方式,腾讯从06年引入了敏捷开发,经过十年间在不同团队的敏捷的实践,可以说腾讯的敏捷模式已经日趋成熟了,腾讯的产品包括腾讯的业务涉及到不同的行业领域,比如有即时通讯、社交平台、金融支付、游戏、工具平台等等,不同的行业领域面临的市场环境不同,所以研发过程也存在比较大的差异化,这里我们看到不同产品迭代的周期和产品发布的频率都是不同的。

举个例子,比如像QQ这样的大型的复杂的产品和成熟的项目,它的迭代周期和发布频率比较长,三个月一次迭代、一次产品发布,对于互联网外部类的、运营类的产品迭代周期发展频率比较快,可以做到一周一次迭代甚至每周多次发布,甚至每周多次发布。

对于腾讯这样的大型的互联网企业,从研发过程管理的角度来看我们面临着三大挑战,首先就是腾讯从2006年引入敏捷之后团队开始实践敏捷,如何支撑不同团队之间敏捷的实践落地;第二,腾讯不同产品研发过程的差异化,如何支撑研发过程的差异化,支撑团队实现敏捷;

第三,从团队的成长发展来看,团队往往会经历一个从小到大逐步成长的过程,当团队的业务增长、团队的规模扩张的时候,团队的研发过程往往会发生变化,这时候我们怎么样支撑这种团队的变化,这也是一个比较大的挑战。

腾讯TAPD研发模式

因此,在腾讯有一个TAPD的研发框架,就是腾讯敏捷产品研发框架,2002年腾讯的联合创始人、CTO张志东先生提出创立的腾讯敏捷产品研发框架,TAPD也是借鉴业界的思想精髓,像Scrum、XP、FDD,经过在腾讯团队的敏捷沉淀实践,我总结梳理出腾讯的敏捷产品研发模型。

TAPD的核心理念是以用户价值为依归的快速迭代,小步快跑,鼓励用户参与,持续交付和恢复验证。

TAPD的敏捷方法是如何在腾讯进行实施的呢?我们建立了TAPD的研发框架之后,在腾讯公司内去营造和鼓励这种敏捷研发的文化氛围,这里是一个敏捷实施的过程。

我们在腾讯内部也打造了一系列的敏捷培训课程,进行了四百多场的敏捷培训,同时也组建了敏捷的教练团队,去引导团队进行敏捷,指导团队的敏捷实施,同时在公司内组织了线上和线下敏捷实践交流,去帮助团队进行敏捷的经验交流和分享。

通过一系列的敏捷的引导去帮助团队实施敏捷,最终腾讯不同团队的敏捷实践也日趋成熟,需要一款研发的工具平台来支持敏捷实践落地,真正让敏捷玩起来。我们从06年开始打造这款支撑腾讯敏捷项目管理的工具平台,就是TAPD平台。最终通过TAPD平台支撑了腾讯敏捷发展的思想落地,TAPD平台可以说是沉淀,包括固化了腾讯最优秀的团队敏捷实践。

TAPD提供什么样的服务和价值,首先沉淀、固化、继承腾讯敏捷最佳实践,提升团队协作效率,同时帮助团队敏捷自适应,团队成长加速器,实时透明资源共享,消除信息孤岛,高效的分布式协作,无缝沟通,突破协作瓶颈。

这里给大家介绍一下TAPD目前用户的数据。目前TAPD平台有超过3000个项目团队在使用,团队规模下至五人十人,上至百人千人,大家可以查一下TAPD目前所支持的最大的项目团队有多大,有多少人,现在TAPD支持最大的团队是手机QQ团队,团队规模超过1600人。

同时TAPD平台超过三万用户量,刚才提过腾讯有15000的研发人员,除了腾讯的员工之外,TAPD还会支持到跟腾讯合作的合作伙伴的研发团队,比如说腾讯有一些代理游戏,这些代理游戏是由海外开发商进行开发的,他们需要跟腾讯的测试团队进行协作,所以这些海外的游戏开发商也在使用TAPD平台跟腾讯的研发团队进行协作,所以TAPD平台也支持了全球的跨地域分布式敏捷协作。我们也支持国际化,提供了英文版。

TAPD在腾讯十年间的应用也丰富了不同行业的敏捷实践的案例,包括社交类的比如像微信,财富类的像支付通,还有O2O的大众点评等等。TAPD也是腾讯研发人员日常工作所用到的最核心的平台。

这里列出来的是TAPD平台目前典型的用户,包括了腾讯的所有的明星产品,包括不同业务领域的产品,同时包括PC端、Web类的和移动端,覆盖了不同的平台。可以说腾讯每一款成功的产品,成功研发的背后都离不开TAPD平台的支持。

刚才介绍了TAPD平台的用户情况,接下来带大家一起揭开TAPD平台神秘的面纱。

TAPD平台的优点和特色

首先介绍一下TAPD平台的产品架构,TAPD平台最大的特色就是支撑腾讯敏捷研发生命周期的关系,覆盖从产品规划、产品需求管理、项目迭代计划、项目进度跟踪、工作任务管理、工时进度度量、产品测试管理、产品缺陷管理包括产品的发布计划以及产品发布结果的跟踪,以及产品反馈,整个过程形成整个研发生命周期的闭环。

同时TAPD平台业提供定制化引擎和开放平台以及技术服务去切入第三方的研发工具和研发应用,TAPD平台最大的特色是敏捷,因此作为一款敏捷项目管理工具,我们也重点支撑敏捷项目管理工具中的敏捷实践。这里可以通过TAPD平台提供敏捷实践,帮助想要去实践敏捷的团队能够快速的提升敏捷研发的成熟度。

我们要把TAPD平台打造成研发工具中的乐高,TAPD平台支持全生命周期管理,我们把研发生命周期中不同研发阶段的研发活动管理,像需求管理、测试管理、用户反馈管理、计划等等都封装成一个个独立的插件,这样就做到了应用的插件化和模块化,研发团队可以自己研发过程的需要像搭积木一样按需组装,支撑到不同研发模式。

同时TAPD平台也提供了非常强大的工作引擎,不同研发团队的流程往往是不同的,像十人以下的团队从需求生命周期的管理角度来讲,从需求的规划到需求的实践、到需求发布,往往会经历比较少的一些需求的状态,一般三到五个状态。

对于大型复杂的团队,比如像QQ需求生命周期管理相对比较复杂,从需求规划到需求的实现到需求的交付整个过程需要不同团队角色的协作,往往需求会经历十五个这样的需求状态,通过TAPD工作引擎就可以满足不同团队研发流程的差异化。

同时,我们知道对于一个项目管理的规矩来说,往往跟团队管理的方式密切相关,往往随着产品业务的发展,团队规模的扩张,研发过程就会发生一些变化,我们就要做过程改进。我们之前选择的研发工具平台往往就不能满足组织变化之后研发过程变化需要,就要进行研发工具的选型,这对研发过程来说往往是比较大的困扰。

对应用TAPD平台的团队来说就不存在这样的困扰,TAPD平台扩展了,当研发团队发生变化的时候通过应用插件化配置、通过工作流的定义、通过研发报表的配置帮助团队适应到研发过程的演变,去帮助团队成长。同时,TAPD平台也支持自定义的业务对象,包括开放平台以及开放的API接口,也提供了强大的报表功能帮助团队做精细化管理。

TAPD平台多适应的管理方案

腾讯的产品在十年的敏捷实践经验里也积累了针对不同的产品类型包括不同的产品成长阶段,都会有不同的敏捷研发的模型。TAPD也是根据腾讯不同产品的研发的模型提供了相适应的研发平台的解决方案,这里列出来的是腾讯比较典型的研发模型以及TAPD平台提供的研发项目管理的解决方案。

首先是针对于十人以下规模的团队,在腾讯有这样一些团队是处于实验期或产品初创期、探索期的团队,这些团队规模比较小,十人以下,这些团队往往研发过程比较轻量,团队比较自由、开放、创新的氛围,所以他们需要一个非常简单轻量的项目协作工具。

我们提供了协作的解决方案,包括三个应用,包括看板、文件和 Wiki。看板包括工作中的工作记录以及工作进度的透明展现,通过文件管理研发过程中的数据,通过Wiki 进行研发过程中知识的沉淀包括创意的滚动。随着团队的成长,当团队规模扩张之后,我们提供了轻量的敏捷项目解决方案,这是在腾讯内部运用最多的项目管理方式,一般支撑规模三十以内的团队,提供一系列的敏捷实践应用帮助团队更好的实施敏捷。

另外,在腾讯内部还有一些大型复杂的项目,比如像刚才介绍过的手机QQ、PC端QQ这样的大型项目,他们的团队规模超过百人,整个团队研发的过程、研发的流程相对来说比较成熟,同时从这些大项目来看他们对研发流程规范性的要求比较严谨。

跟刚才所介绍过的轻量企业团队不一样,轻量企业团队研发的规范和研发规则的约束相对比较弱,对大团队来说怎么确保上百、上千人的快速高效运转呢,就需要通过流程+工具。我们TAPD平台就提供了全生命周期的解决方案,就提供从反馈、缺陷、需求、任务、测试一系列的,帮助团队做精细化的管理。

TAPD平台业提供了自定义引擎T魔方,支持团队建立一个全新的应用支持个性化的研发活动和研发管理,通过建立应用自定义业务对象、自定义工作流、自定义业务规则甚至自定义业务字段和应用。比如腾讯游戏团队通过T魔方建立游戏流程,微信团队会用T魔方建立用户投诉管理的流程,通过T魔方可以快速搭建一个研发的个性化的流程,支持研发流程。

TAPD平台也提供了一个开放平台,把所有开放对象都提供了API接口,通过TAPD平台的API接口可以帮助腾讯业务团队开发自己的平台、自动化测试的系统等等。

这里介绍一下腾讯的系统集成系统,因为腾讯不同的业务,基础平台和开发业务平台都不同,所以腾讯内部没有统一的公司级的平台,是各个业务团队根据自己的技术特点、业务特点搭建这样的系统,包括自动发布系统,通过TAPD平台可以把各个业务部门与管理实践和工程实践贯通。

同时腾讯内部还有比较多的非常好的研发工具,这里给大家介绍一款腾讯针对移动APP的异常监控和上报的工具Bugly,这个功能非常强大,做一个插件植入移动APP,舰空导APP的信息,包括环境信息、设备信息,都可以做到非常快速的上报。Bugly通过API接口把检测到APP的信息快速的从API写入做到移动APP的快速跟踪,推动测试团队和开发团队快速解决问题。

Bugly.qq.com大家可以深入了解一下,同时在展厅Bugly团队也会给大家提供支持。TAPD平台也提供了移动版,提供了移动APP包括企业号,满足移动场景下的工作管理和项目管理的需要。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

字有错误 by shijiu wang

同时腾讯内部还有比较多的非常好的研发工具,这里给大家介绍一款腾讯针对移动APP的异常监控和上报的工具Bugly,这个功能非常强大,做一个插件植入移动APP,舰空导APP的信息,包括环境信息、设备信息,都可以做到非常快速的上报。Bugly通过API接口把检测到APP的信息快速的从API写入做到移动APP的快速跟踪,推动测试团队和开发团队快速解决问题。

此段文字中“舰空导APP的信息”,应该为:监控到APP的信息

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT