腾讯重新定义敏捷

2020 年 9 月 04 日

腾讯重新定义敏捷

敏捷需要重构

敏捷开发奠基人 Robert C. Martin 接受采访时曾表示:软件研发领域成功的秘诀其实是用很多小团队解决很多小问题。随着 IT 互联网的飞速扩大,业务规模的海量增长,软件开发领域走向了用大团队解决大问题。

但大团队先天性的臃肿、迟缓、滞后的弊端,带来了瀑布式软件开发的效率低下。于是在世纪交替之际,软件开发领域的先驱 Robert C. Martin 与 Martin Fowler、Kent Beck 等人共同起草了一份后来引发全球软件革命的文件,是为“敏捷宣言”。

二十年过去了,敏捷开发已经演变成了一种文化,但在其落地过程中却遭遇了种种问题,Robert C. Martin 也在近期表示敏捷运动最成功的只有敏捷一词。在过去二十年中,原本简洁明了的敏捷概念已经变得含糊不清,精益、看板、LeSS、SAFe、现代化、技能提升等等理念让人捉摸不透。

实际上,敏捷开发只是一个从众多特性化的实践中提炼出的共性化的指导思想和原则,并没有给出具体的实践步骤。在实际的工作中,如果企业只是照猫画虎,不针对自己的业务模式、团队规模等特性制定自己的敏捷开发流程,最终都只能流于表面,成效寥寥。

腾讯是国内最早一批实践敏捷开发的企业,早在 2006 年腾讯就引入了敏捷开发的理念,敏捷成为腾讯研发文化的内核。14 年后,腾讯用 TAPD 重新定义了敏捷,这个对内覆盖超 90% 业务的研发平台,对外服务数十个行业、数十万家企业客户的 SaaS 工具,走出了一条别样的敏捷之路。

14 年:探索、实践与重定义

2006 年,腾讯的联合创始人、CTO 张志东先生提出了要创立腾讯自己的敏捷产品研发框架,也就是后来的 TAPD——Tencent Agile Product Development,腾讯敏捷研发协作平台。

在那个年代,国内的敏捷开发落地并没有太多参考实践,预见敏捷开发革命性的企业并不多,大家更愿意在瀑布式的模型下按部就班地做着软件开发工作。腾讯借鉴了业界比较成熟的敏捷思想精髓,吸取了 Scrum、XP、FDD 的养分,经过在腾讯团队的敏捷沉淀实践,总结梳理出了这一套腾讯的敏捷产品研发模型。

所有尝试过敏捷开发的研发团队应该都能感同身受:让团队内的研发人员认可敏捷开发这个理念有多难。而在腾讯这样研发人员占据半数以上的集团公司,推行敏捷开发更不容易。不易之处不仅在于理念的认可,更在于如何向数万研发人员做名词解释:究竟什么才是敏捷?

敏捷在实践中的困境也正是如此:一千个读者有一千个哈姆雷特,一千个团队有一千种敏捷实践。腾讯选择了扎根于自己的企业文化,从中提炼出了重定义的腾讯式敏捷:以用户价值为依归的快速迭代,小步快跑,鼓励用户参与,持续交付和灰度验证。

从认定敏捷开发的那天起,腾讯在内部打造了一系列的敏捷培训课程,组织了四百多场的敏捷培训,同时也组建了专业的敏捷教练团队进行指导,同时在公司内组织了线上和线下敏捷实践交流,去帮助各大团队进行敏捷经验交流和分享。通过建立敏捷研发文化,培养兴趣、影响习惯、激发动力,鼓励自适应,从而促进敏捷研发体系进一步完善、进化。

敏捷文化的打造是上层建筑,一款支持实践落地的工具平台是底层基础。2006 年起,腾讯研发团队开始打造这款支撑腾讯敏捷项目管理的工具平台——TAPD。TAPD 平台可以说是沉淀、固化了腾讯最优秀团队的敏捷实践成果。到今天,TAPD 已经覆盖腾讯所有研发团队、各类业务线,沉淀了多种研发模型,支持了 QQ、微信、王者荣耀等明星产品各个阶段的研发协作。

在微信的创业初期,由于团队只有 10 人左右,所有的沟通都在 Excel 上完成。当产品小有名气时,团队规模扩张到了 30~50 人,为了解决版本发布周期极不稳定、经常遗漏 bug 等问题,便引入了 TAPD,尤其是其中的缺陷、迭代需求模块,很好地帮助团队完成了迭代节奏稳定、缺陷跟进等关键问题。当微信进入稳定期后,团队规模扩张到了数百人,对更完善的报表、项目进度、多项目协作以及发布跟进等提出了更高的要求,所幸的是,TAPD 早已能够通过更多模块和功能的配置,很好地给予了支持,也才成为了微信研发团队最值得信赖的研发及沟通协作平台。

正是通过这样内部的持续实践和团队从小到大的成长,丰富了敏捷研发的类型,形成了有腾讯特色的四种研发模型,从稳定迭代到极速发版,从大型团队研发到多业务线敏捷协同,不同的业务场景都能找到适合自己的敏捷研发模型。

这也推动了 TAPD 工具平台的“乐高化”,研发团队可以根据各自团队的规模、业务场景按需组装,TAPD 成为了腾讯敏捷研发协作领域的唯一大中台。

研发过程及工具支撑

DevOps 工具链集成

2015 年,同程旅游通过张志东偶然得知了 TAPD 的存在,双方一拍即合定下了合作意向,这是 TAPD 平台第一次试水对外开放。通过这次合作,TAPD 帮助同程旅游从瀑布流的研发模式成功转型为敏捷研发模式,敏捷迭代、小步快跑,在快速变化的旅游市场中快速占领市场。

截至今天,TAPD 已累计服务数十万家各领域企业,提供适合各行业特色的研发管理解决方案,同时助力高校人才培养,为高校软件工程专业提供课程建设、企业案例和企业实践等支持。TAPD 同时致力于构建开发者生态,从生产端助力开发者,依托服务端连接企业客户,通过搭建开放、连接的平台生态,帮助开发者更快更好地进行应用开发与服务创新。

腾讯的离职员工成为了播撒 TAPD 的“火种”,靠着口碑积累、口耳相传,这一套在腾讯积累沉淀 14 年之久的敏捷研发工具平台开始在金融、游戏、电商、音视频、生活服务等市场生根发芽,由此带来的各异场景下的使用体验,就像敏捷模型的“深度学习”,让这种敏捷变得更加本土化。

敏捷开发在落地过程中遇冷的原因是什么?是抽象化的概念在具象化的场景面前没有统一的解释标准,企业在实践中往往只取到了敏捷的“形”,而忽略了敏捷的“神”。腾讯 14 年的敏捷开发落地过程中,一以贯之的是重定义后的核心理念:以用户价值为依归的快速迭代,小步快跑,鼓励用户参与,持续交付和灰度验证。而 TAPD 在这 14 年的发展过程中,也不再仅仅是一套敏捷研发协作的工具平台,更成为了一种验证有效的敏捷文化落地方法论。

写在最后

TAPD 首次对外发声是在 2015 年的 ArchSummit 全球架构师峰会(深圳站),举办方正是 InfoQ 所在的极客邦科技。极客邦科技也是 TAPD 的核心用户,动笔之前,笔者向我司从来不对付的研发与产品总监调研了使用体验,得到的反馈居然都是特!别!好!这大概是我第一次在同一件事情上看到他们达成了惊人的统一。

而今,TAPD 平台对外开放已有三年。根据 TAPD 企业数字化转型调查,当前,87.9% 的企业正在尝试数字化转型,数字化转型的价值已获企业普遍认可。而在数字化转型路上,数字化协同办公、敏捷能力最受企业重视。

腾讯 TAPD 负责人表示:“对外开放三周年,TAPD 已经从腾讯内部的一款敏捷开发工具,成长为服务整个社会和行业的云端 SaaS 敏捷研发工具。我们始终坚持‘要在协作中看到一个个活生生的人,看到人和任务之间的关系’的初心,专注于连接代码与人,助力全行业的研发效能提升。”

行业真正需要的,是怎样的敏捷?

“薛定谔式的敏捷”,No!

重定义的敏捷,Yes!

以上。

2020 年 9 月 04 日 16:16 4243
用户头像
小智 InfoQ高级编辑

发布了 385 篇内容, 共 296.5 次阅读, 收获喜欢 1590 次。

关注

评论 1 条评论

发布
用户头像
InfoQ就没好文章了,沦落到天天发广告文?
2020 年 09 月 04 日 17:21
回复
没有更多评论了
发现更多内容

架构师训练营第八周学习总结

张明森

SpreadJS 纯前端表格控件应用案例:雷鸟365在线文档系统

Geek_Willie

前端开发 SpreadJS 在线文档

POI内存溢出故障排查

Season

JVM POI jvm调优

我的 20 条工作原则

泰稳@极客邦科技

成长 个人知识管理 职场成长

最高法主张加强数字货币产权保护有法可依

CECBC区块链专委会

数字货币 法偿货币 中国人民银行 虚拟财产

多云架构下,JAVA微服务技术选型实例解析

华为云开发者社区

开源 微服务 Java、 云服务

BIGO技术:全球时钟同步服务建设

InfoQ_3597a20b53cc

互联网

Docker网络学习第四篇-Namespace通信实战

Lazy

Docker Linux 网络

架构师训练营第八周笔记

Melo

读《我们为什么要去火星》随笔

Jackchang234987

产品 人生 读书 随笔杂谈

压测工具试验

独孤魂

Redis系列(六):你说要看Redis线程模型?安排

z小赵

redis 高并发

【区块链+通证经济】从量变到质变区块链发展的下一阶段是什么?

CECBC区块链专委会

数字货币 防篡改 通证

1. 初识Jackson -- 世界上最好的JSON库

YourBatman

json Jackson Fastjson

眼见为实,华为鲲鹏架构服务器生态大揭秘

华为云开发者社区

华为 鲲鹏920 服务器 云服务 华为云

OAM 深入解读:如何基于 OAM Runtime 编写一个扩展 Trait?

钱王骞

云原生 k8s OAM

22种超全用户触点采集,易观方舟SDK又更新了

易观大数据

四十个鹏城春夏,一场数字繁花

脑极体

除了技术,加密货币开发者更应关注可使用性

CECBC区块链专委会

加密货币 用户为本 可使用性 容错机制

架构师Week7作业2

Nan Jiang

Python Kafka 报错:ImportError: cannot import name 'KafkaConsumer'

Young先生

Python kafka importerror 报错

PromiseKit 源码阅读

信创舆情一线--两部门发文加强对数字货币等新型权益的保护

统小信uos

余生很贵,请别浪费

程一初

Python

GitHub宣布已将所有代码永久封存于北极地底1000年!网友炸锅了:我写的bug终于能流传永世了!

程序员生活志

GitHub 程序员

性能优化概述

superman

【架构训练 Week07 作业】

Rex

性能优化

独孤魂

LeetCode题解:1. 两数之和,JavaScript,双循环暴力解法,详细注释

Lee Chen

LeetCode 前端进阶训练营

如何优雅的实现一个过滤器

双儿么么哒

spring

B站新一代golang规则引擎的设计与实现

calo

golang B站 高并发 AST 规则引擎

Milvus Community Conf 2020

Milvus Community Conf 2020

腾讯重新定义敏捷-InfoQ