腾讯与敏捷开发

在这风起云涌的年代,最为人们津津乐道的国内互联网三巨头无疑是腾讯、百度和阿里巴巴,比较凑巧,鄙人曾在其中两家的研发部门任职。因为已离开Tencent,所以现在可以站在另一个角度冷静思考,梳理回忆当年的所见所感,让众人一睹Tencent研发的峥嵘。

Tencent的产业布局主要在IM即时通讯、互联网增值业务、网络游戏、无线应用、网络媒体、电子商务和广告业务,QQ注册用户超过7亿、活跃用户超过3亿,依托QQ、Qzone、游戏等平台优势,单一产品月收入过千万的比比皆是,像会员、Qzone、宠物、QQShow等,盈利能力超乎想像的强,年Revenue达38亿、市值超150亿美金,称其为吸金机器一点不为过,所以股价一直坚挺,在其他科技股纷纷低迷,却被证券市场成熟的香港投资人持续追捧,这都说明大众非常看好Tencent的业务前景和盈利能力。

说完商业表现再说研发背后,Tencent现有员工约4K,其中约一半为研发,研发岗位主要有产品经理、项目经理、开发工程师、UI工程师、测试工程师、运维工程师以及项目管理工程师、SQA和CMO等,开发语言和工具以C++、PHP、Linux和MySQL为主。现有服务器超1W台,其中 QQ同时在线约4KW,Qzone同时在线约500W,ITIL可用性指标超99.9%,以其中约300人的事业部门为例,同时研发/运营100个以上子产品,每月发布30个以上版本。

回想起来,对Tencent研发影响深远的是Google,它影响的是Tencent的研发文化,Google是互联网的传奇,其独特的开放和创新风格,奠定了它的世界级霸主地位。研究Google的人士都知道Google员工管理的十大黄金定律——

(1)组织委员会严把招聘关

(2)满足员工的所有需要

(3)拉近员工距离

(4)使合作简单协调

(5)身体力行,使用自己的产品

(6)鼓励创新

(7)尽可能统一意见

(8)不作恶

(9)数据决定决策

(10)有效地沟通交流

事实证明这是管理知识型员工的最佳方式。当年Tencent CTO Tony曾带队赴美国Google总部,亲身感受Google的文化魅力,回来后大加褒奖,立志效仿引进。在鄙人看来,Tencent吸纳了Google 文化的精髓主要有四点:宽松文化、创新文化、体验文化和精英文化。

一、宽松文化:

Google公司的办公环境是很多IT白领向往的天堂,员工可以带宠物、穿溜冰鞋上班,酒吧间、健身房、按摩房一应俱全,办公大楼之间提供滑轮车通行,初来乍到的很多人可能会有错觉,真不知道是不是进错了地方。

Tencent的办公环境也堪称一流,虽然自己的35层写字楼在建,现在还租用着飞亚达约八层楼和华强若干层,但在环境装修和硬件设施上丝毫不吝啬,包括桌球厅、休闲吧、阅览室,并入驻咖啡厅,办公座位装扮非常个性化,有大幅的海报、卡通玩具、绿色植物,甚至直接在办公区中间摆上沙发和液晶电视,供看比赛、听音乐或中午玩PSP。晚上八点提供免费晚餐,加班晚了不用担心,全天固定40多路大巴通往城市各处。行政秘书MM人数所占的比例是我经历的公司中最多的,每个BU都有办公室建制,她们为员工提供了很多后勤保障并营造氛围激励士气。

当然这是表象,让员工感受宽松与否的除了办公环境外还包括工作压力,在Tencent要想表现绩效、获得肯定并非容易,KPI是把双刃剑,每季度的强制正态分布让不少人无奈,因为晋级的条件是必须连续两次拿A或S。另外少数中层干部“技而优则仕”,表现出来“管事不管人”,谈工作多、谈个人少,对人的内心关怀比较淡漠。

二、创新文化:

Google鼓励员工动用20%的时间用于自主研究,然后从员工创意中挑选Top20采纳应用,给与经费和资源转化成产品,像Google的桌面搜索、Orkut等产品都来源于当初员工的创新想法。

Tencent也非常鼓励创新,认为创新是互联网技术的灵魂,并写入了企业文化里。在组织架构上,Tencent设立有创新中心,专门实验互联网上的新生事物和形态,作为新产品初创期的孵化器,成熟后再移交给业务部门运营壮大。在创新渠道上,Tencent每年举办创新大赛,由一线员工提出众多构想,然后相互PK给与重奖。当然现在Tencent暂时还做不到腾出20%的时间出来让员工自主发挥,因为产品的压力持续存在着。

三、体验文化:

Google深信用户体验的好坏决定了产品对用户的粘性,因为同类型的产品实在太多,用户迁移转换的成本极低,所以如果自己用着都不爽,就更别说让用户来用了。

在Tencent也是如此,从产品人员、设计人员到各级经理都非常在意交互体验和设计,而对原型PK最多的也是这里,细到每个流程、每个按钮、每个图标甚至每个文字。主要体现在:

(1)用户体验小组,邀请客服人员和客户代表对产品现场反馈,几乎每个事业部都有。

(2)用户体验室,装有“眼动仪”以分析志愿者眼球的转动是否符合界面引导的初衷,以及长时间停留的区块。

(3)用户体验平台,陈列所有产品供员工随时反馈,并提供月度、季度积分排名。

(4)产品内部公测,每个重大产品发布之前都会发起,因为公司员工中不少就是QQ产品的忠实玩家。

(5)灰度放量发布,当不确定市场反应或用户真实需求的时候,先让部分用户灰度使用,收集体验反馈并修改完善后再放量发布。

四、精英文化:

Google对员工的素质能力要求很高,据说招聘时需要6个人以上集体把关面试,另外在Google博士尤其受欢迎,比例也很高。

Tencent的面试也很严格,T3(骨干级)以上至少要过4关,并经副总裁和CTO面试认可。除了社招以外,Tencent也非常重视校园招聘,每年都组织到各地高校宣讲,“在一个好玩的地方实现自己的梦想”的校园招聘口号让人印象深刻。另外近年Tencent也加大了吸引高级人才的力度,T5(资深专家级)不断涌现。

培训也是Tencent对待员工职业发展的一项制度,培训区分新人培训、管理培训和职业培训,对管理干部有潜龙、飞龙和EMBA体系,尤其让鄙人难忘和受益的是一些精品课程,比如“六顶思考帽”、“高效能人士的七个习惯”、“带人带心的领导艺术”等等。

从上述的比较中大家可以看到很多Google文化在Tencent的烙印,这也说明这是一家善于学习、开放包容的企业。就像Tencent推出的众多产品一样,虽然刚开始可能是后来者,但只要放手去做马上可以像模像样,甚至超越、打垮先来者,这也是Tencent真正可怕的地方。

简言之,Tencent的TAPD是吸收了XP+SCRUM+FDD三者特点的并行迭代开发模式,涉及范畴包括敏捷项目管理和敏捷软件开发。

一、敏捷项目管理:

(1)Iteration

软件开发模型经历了从瀑布到螺旋再到敏捷的过程,迭代不是敏捷独有的创造,无论在RUP还是在MSF中迭代都是其核心特性之一。而在Tencent特别强调的是并行迭代,即多个版本并行,最大程度发挥资源的效率。

Release(发布)可理解成当实现的产品Feature累积到一定用户价值时的正式发布,它是比Iteration更大的概念;Iteration(迭代)是在固定时间内开发Feature的过程,Release一般包括多次Iteration。

(2)TimeBox

TimeBox(时间箱)反映了敏捷开发的节奏,即在固定时间内实现不固定特性的周期,抛开需求定义阶段,从设计-实现-测试到部署,在Tencent一般一至两周时间居多。

(3)Planning Game

对敏捷的一种常见误解是不要计划,其实在敏捷的体系中不仅强调计划,甚至区分Release计划、Iteration计划和Task计划等多种不同粒度、不同时长的计划。Planning Game突出的是让用户代表参与,由用户代表评估UserStory/Feature的优先级,开发人员评估任务的开发时间,由用户代表+项目经理+核心成员三方共同排序、组合,确定本次迭代计划需要实现的Feature List。在Tencent用户代表就是产品经理。

(4)IterationPlanningMeeting

IterationPlanningMeeting就是Planning Game实现的管理形式,通过会议沟通达成。

(5)Stand-up Meeting

团队成员围成一圈,逐个说明3个问题:昨天做了什么,今天计划做什么,有没有困难并计划如何解决。对Team而言这是检查进度、快速调整非常有效的形式,在Tencent这已经成为大家每天早上的固定习惯。

(6)ShowCase

提交测试前由开发人员演示实现的功能,产品经理到场Review是否符合当初的设想,避免接近发布时才反馈。

(7)Retrospect

每个迭代结束后,项目经理组织或轮流组织所有Team成员共同回顾本次迭代的得与失,整理Well/LessWell,因为敏捷的团队是自我反省、持续调整的团队。

二、敏捷软件开发:

(1)Story Card/Story Wall/Feature List

StoryCard是XP中推荐的需求定义方法,要求符合Invest和Moscow原则;StoryWall则用于跟踪StoryCard的变化状态,而FeatureList是Tencent一直沿用的需求表达形式,在Tencent的TAPD工具中已经实现了类似ThoughtWorks 的Mingle的StoryCard管理功能,对于需求跟踪而言这是不错的方法,一目了然。

(2)Refactoring

相信我们都听过这句话:好的代码不是设计出来的,而是重构出来的。

(3)TDD

“测试驱动开发”在Tencent执行地并不太好,Tencent的产品以Web形式居多、业务逻辑相对简单,C++下的单元测试有些力不从心。相反自动化测试在Tencent比较盛行,因为有测试部门专门的自动化测试Team在推动,而且链接的是正式生产环境,可以即时反映产品当前的状态。

(4)Pair Programming

理论上结对编程可以提高代码的质量,而且并不会降低开发效率,但Tencent的业务繁忙,资源上不允许两人结对。

(5)CI

持续集成可以降低发布前集成阶段的难度与成本,Tencent的自动化构建系统推行的比较早,覆盖了大多数产品,而且正在朝自动化构建-自动化测试-自动化发布三者协同的目标迈进。

(6)灰度发布

灰度发布是Tencent的又一创新,它将产品试用扩大到海量用户一端,在小范围及时吸取用户反馈,分析用户行为和喜好,持续修正自己产品的功能体验。

当然开发方法和流程确定了还远远不够,更难的是如何将它推动落地。首先Tencent组织开发了承载敏捷思想的TAPD项目管理工具,它类似 ThoughtWorks的Mingle;然后推出了敏捷能力模型,类似CMM成熟度模型一样对Team评级加以引导;同时还推出了敏捷指数排行榜形成竞争,营造你追我赶的声势氛围。

文章写到这里行将结束,最后我们分析Tencent为什么选择Google和ThoughtWorks,其实是由互联网行业本身的特点决定的,互联网的生存法则就是大鱼吃小鱼、快鱼吃慢鱼,谁转身的快、谁拥抱变化、谁更关注用户,谁才可以笑到最后。阿里巴巴董事局主席马云说过:今天很残酷,明天更残酷,后天很美好,但绝大多数人都死在明天晚上,却见不到后天的太阳

火爆 售票中
Scrum.Org 主办
搜索
近期公开班
scrum alliance csm认证徽章
12月14-15日 (周六、周日)
Scrum Master (CSM) 中文认证课
远程
Lance Zhang 张宁宁 授课
专业Scrum Master (PSM I) 认证徽章
12月19-20日(周四、周五)
专业Scrum Master (PSM I) 认证公开课
远程
Derek Ding 丁志润 授课
Scrum.org专业Scrum产品负责人(PSPO)认证徽章
1月4-5日 (周六、周日)
专业Scrum产品负责人(PSPO)中文认证公开课
远程
Derek Ding 丁志润 授课
领导大规模敏捷Leading SAFe认证徽章
1月11-12日(周六、周日)
Leading SAFe领导大规模敏捷认证课
远程
Scott Wang 王庆付 授课
safe scrum master ssm
2月22-23日(周六、周日)
SAFe ScrumMaster 官方认证公开班
远程
Eric Liao 廖靖斌 授课
大规模敏捷顾问SAFe SPC认证课徽章
11月2-5日(周六-周二)
SAFe认证-SPC SAFe认证培训师导师班
上海-面授
Marsha Xue , Alex Guan 授课
safe scrum master ssm
8月10-11日
SAFe ScrumMaster 官方认证公开班
Eric Liao 廖靖斌 授课
scrum alliance csm认证徽章
11月09-10日
Scrum Master (CSM) 中文认证课
Lance Zhang 授课
scrum alliance csm认证徽章
10月26-27日
Scrum Master (CSM) 中文认证课
中文远程
Scott Dunn & Eric Liao 授课
领导大规模敏捷Leading SAFe认证徽章
10月19-20日
Leading SAFe领导大规模敏捷认证课
Eric Liao 廖靖斌 授课
Scrum联盟acsm认证徽章
10月19-20日
高级Scrum Master(A-CSM)认证公开课
Jim Wang 王军 授课
0
0
小时
0
分钟
0
由Scrum.org主办的 2024中国Scrum大会 8月17日将在上海开幕
0
0
小时
0
分钟
0
预约回电
留下您的手机号,我们会在第一时间联系您。
热线电话:400-696-6280
预约回电
预约成功,我们会尽快联系您。