代码改变世界

企鹅快跑——腾讯敏捷历程揭秘

2011-09-22 22:43  乱世文章  阅读(396)  评论(0编辑  收藏  举报
 腾讯这只企鹅在 13 年的成长历程中,不断长大,但却并不笨拙,这其中的秘密就在于研修了敏捷方法!本文就将为您揭开其中不为人知的敏捷故事。

  天生敏捷基因

  企鹅出生在极速变化的互联网行业,出生之时便面临着四大挑战。

  海量用户的需求:企鹅服务于数以亿计的互联网用户,在保证业务稳定的前提下,更要满足海量用户不断变化的需求,因此企鹅必须要竭尽全力快速实现一个个新需求,如果采用传统的开发方法,用户是无法接受的。

  行业的迅速变化:互联网上新概念、新玩法、新应用层出不穷,一会儿 SNS、一会儿团购、一会儿微博,一步落后步步落后。

  竞争对手的压力:虽然很多人都觉得企鹅很可怕,但是行业变化如此之快,企鹅再大再强也不可能把所有产品做到第一,取舍之间就有可能被其他公司超越,毕竟迫于竞争对手的压力。

  自身发展的需要:企鹅希望能为用户打造一站式在线生活,让用户更加方便地在网上冲浪,但要想实现这个目标其实很难,需要做的产品太多太多,要完善的功能点太多太多,而资源又太少太少,急需一种高效的方法来支撑产品开发。

  幼年时的企鹅虽然遇到了这些问题,但那时候它还不知道有敏捷方法的存在,但好在有几项与生俱来的小聪明,借此支撑了几年的发展,后来证明这几项小聪明其实都有着敏捷的影子,我们管它叫草根敏捷基因。

  拥抱变化:从不拒绝变化,只要对用户有价值的,即使推倒重来,也要作出最有价值的功能给用户。

  重视反馈:为了能够听到亿万用户的声音,建立许多反馈渠道,例如 QQ 群、Qbar、客服、意见反馈、内部反馈、用户 CE 等,借此收集用户对现有功能的意见和新功能的期望,进而指导产品经理的工作。

  快速发布:很早就建立完整发布平台,可以非常快地发布到全国各地的服务器上,这使得企鹅具备了产品快速上线,缺陷快速修复的能力,目的也是为用户提供更好的服务。

  快速改进:建立很完善的用户数据统计分析平台,用于发现影响用户使用的瓶颈,发现用户操作的习惯、发现对用户最有价值的功能,从而有的放矢进行产品优化,提升用户体验。

  敏捷历程

  小聪明毕竟也只能支持几年,因为业务发展实在太快,必须系统学习一种有效的方法来来支撑进一步的发展需要,经过多方打听,企鹅重要发现了一项绝技敏捷方法,经过多方学习,开始在内部有条不紊地尝试起来。总体来说敏捷学习分为三重境界,下面我们来共同回忆一下这段学习经历,每个阶段都采用了“点、线、面”相结合的学习方法,我们也将按此思路为大家展现。

  中规中矩

  刚刚开始学习,企鹅并不急于随意发挥,因为它认为只有真正理解敏捷的精髓,才可以自由运用,因此老老实实、中规中矩地练习起敏捷方法来。

  点(标杆小项目+敏捷教练):我们在公司各个业务线选取了若干具有代表性的项目尝试敏捷。选取过程中主要遵循如下标准:

图1 敏捷实施流程图

  • 团队有需求,有明确的问题
  • 团队愿意接受敏捷教练
  • 重点项目,资源用在刀刃上
  • 教练能力可以帮到团队
  • 团队规模适中(5~12 人)

  接下来我们的专业敏捷教练会下到团队通过如图 1 的步骤开展敏捷实施工作。

  其中实施过程主要分四个迭代展开,着重在如图 2 的六个方面进行指导。

图2 敏捷实施指导图

  线(提炼模型):经过近两年的深入实践,结合自身项目特色,我们将企鹅的敏捷提炼出来两种模型。这两种模型成为企鹅实践敏捷的基本套路,从“线”的角度为相似项目提供更具操作性的指导。如图 3 和图4,精炼地展现了两种模型的特色与实践。

图3 极速模型

图4 迭代模型

  面(培训+工具平台+敏捷研发奖):“点”和“线”分别实现深入和升华,但是如何对更大范围的项目产生影响,必须通过“面”的手段广泛地传播敏捷思想和实践,为此我们也是通过三个方面开展。

  首先是培训,我们结合多种敏捷方法、企鹅特色,开发出了多门敏捷相关课程,全方位地为公司员工进行培训,主要有一些系列课程,供大家参考。

表1 腾讯敏捷培训内部课程

  其次,敏捷实践的固化与更加高效的运转需要强大的工具进行支撑。为此腾讯组建了一支团队专门开发了适合自身的敏捷产品开发平台 Tencent Agile Product Development(TAPD)。它提供了敏捷产品开发全生命周期管理,包括产品管理、项目管理、发布、缺陷报表等。另外 TAPD 的强大之处还在于它内嵌了多项优秀的敏捷实践,如用户反馈、特性裂解、迭代计划、时间线、故事墙、燃烧图、发布计划等,并为不同业务类型提供多套整合解决方案,如 Web 应用、无线应用、游戏、桌面应用等。

  最后,为了鼓励更多的项目积极尝试敏捷方法,我们通过“卓越敏捷研发奖”来鼓励积极实践并取得明显效果的项目。奖项评选主要从项目管理、迭代能力、CE(Customer Engagement)敏感度、团队经验分享等几个方面来衡量。截至日前,已经有 15 个团队获奖。

  皆为我用

  经过四年的苦心研修,可以说已经掌握敏捷方法的“形”,但是“神”还掌握得不够,于是开始新一轮的学习。希望借此让内部项目对敏捷的理解更进一步,达到融会贯通的程度。同样,腾讯也是从“点、线、面”三个方面来进行的。

  点(部门级重点大项目+派驻项目经理):要想融会贯通,必须从关注众多小项目转向关注部门级重大项目。因为这种项目由于规模较大,特别是常常涉及多个子项目协作,前一阶段的一些方法已经不太适用,急需寻求新的方法帮助此类项目提升效益和质量。

  但是如何在此类项目中开展敏捷,其实谁都没有底,原先的教练已然不能轻松地指导项目了。为了更加深入了解项目,找到合适的解决方案,并有效推进方法的落地,采用了派驻项目经理的方式与项目团队合作。

  通过这一阶段的实践,我们丰富了公司敏捷模型,增加一种“大象模型”,特别适用于部门级的大项目采用,详见图5。

图5 大象模型

  线(TAM):众多团队提出了敏捷指导需求,但是原来单对单的辅导效率太低,必须有一种方式可以让受益面更广,我们花了大约一年半的时间终于找到了一种非常有效的方法 Tencent Agile Master(TAM)训练营。

  对象:有意愿实施敏捷的团队骨干成员,特别是项目经理,因为项目经理能从全局角度推动团队采用各项敏捷实践。

  方式:Training + Action + Coaching + Sharing。Training 部分涉及六门课程《敏捷项目管理基础》、《敏捷需求管理》、《敏捷规划》、《敏捷实施跟进》、《敏捷团队建设》、《质量与持续改进》。全过程分为四个迭代进行,前三个迭代每次集中进行两门课程的授课,接着要求学员在各自项目中切实实践,每门课程中设定3~5项实践点,期间有专职的敏捷教练进行指导和答疑,之后再对实践效果进行评估,在下一迭代开始时,请学员分享各自实践心得,并进行深入的探讨。第四迭代将对总体实施效果进行评估,进而对学员实施 TAM 认证,并请 CTO 为其颁发证书和奖品。

  TAM 在广度和深度两条线同时有效加速了敏捷的推广,取得了非常好的效果,值得向大家推荐。

  面(敏捷俱乐部):这一阶段的“面”更侧重于公司内部敏捷经验的交流和传播,因此我们发起了“敏捷俱乐部”这一组织,由专人负责运营,通过“线上+线下”结合的方式实现“敏捷知识管理+分享交流”。

  线上活动主要在公司内部知识管理平台 KM 上展开,通过 KM 的文章、讨论、活动、问答、资料、季刊等形式,使得敏捷相关知识得以推广和沉淀,截至发稿前,线上敏捷俱乐部已经有 500 多篇文章。

  线下活动主要包括公司内外专家演讲、专题讨论会、Open Party、模拟场景训练等活动,让大家相互认识,交流经验,探究答案。每次活动之后请大家在线上总结收获,使得线上、线下紧密结合,互为促进。

  自成一派

  腾讯经过两年进一步的研习,敏捷运用已经达到了随心所欲的程度,不过它还不满意,希望进一步发展,于是开始了第三阶段,目前尚在进行中,目标是形成自己的敏捷流派,并将敏捷方法发扬光大。

  点(公司级重大项目+大项目经理):随着公司不断发展,越来越多的公司级项目涌现,必须从公司层面跨业务的开展, 这对我们来说又是新的挑战,此时我们还是采用委派大项目经理的方式探索新的敏捷模式,这一工作目前还在进行中。我目前负责的一项涉及全公司的技术改进项目就是一个例子。

  线(企鹅敏捷价值观):基于三大模型,企鹅经历多年积累了产品价值观,我们希望能够将敏捷精神与公司本身精神相融合,形成企鹅特色的敏捷价值观。目前我们已经初步确定七大价值观:无快不破、海量之道、柔性可用、立体监控、灰度发布、产品微创新、体验文化,目前正在整理完善中。

  面(开放共赢):如今互联网迎来了开放大潮,敏捷方法也要开放,具体来说我们打算从内部和外部两个层面进行敏捷开放。内部开放是希望通过跨业务跨部门的轮岗实现内部敏捷方法和经验的实质性流动,并为大家提供更大的发展空间。外部开放是要走出去,将企鹅研修的心得回馈给业内,让所有公司能够共享敏捷实践成果,实现共赢。

  结语

  本文全局性地为大家展现了腾讯敏捷实践之路,以及未来的发展方向,实践证明敏捷是非常适合互联网开发的方法,但需要一些适应性调整,希望此文展现的一些具体实践能为正在尝试敏捷的公司提供一些借鉴。

  作者艾永亮,腾讯公司敏捷教练&高级项目经理,曾参与 QQ 农牧场、Qzone 商城、SOSO、无线应用、网络游戏等业务的项目管理与教练工作。有着多年敏捷实践和咨询经验。可通过腾讯微博(aland_ai)、新浪微博(alandai)与作者交流。