2011年6月24~25日,敏捷实践者的盛会Scrum Gathering大会在上海召开,此次盛会云集了传统行业和互联网行业的众多知名企业,如百度、支付宝、SAP、爱立信……来自于腾讯的嘉宾们也带来了腾讯6年敏捷实践的精华——创新的敏捷实践,结合着腾讯实际业务,故事性的展现了各项实践的由来和价值。
腾讯公司敏捷教练&高级项目经理艾永亮在本次活动中分享了腾讯在敏捷探索中的六项独特的实践:
本文将回顾一下其中最为吸引人的关于如何做到极速开发的几项实践。
2009年最火的游戏QQ农场,一周最多发布23个版本,它为什么需要如此之快的开发速度呢?由于农场玩法非常简单,必须要持续推出新的玩法,新的作物,才能让用户被长期吸引在这里,因此2周已经太慢了,必须要更快的速度才能满足用户。
那么它如何做到的呢?
创新实践:自运转团队
早期的农场项目,大家的压力都非常大,为了能提高效率,项目经理希望每个角色都能全力以赴的提升自己的效率,于是自己承担起来大量沟通和推进的工作,那个时候的感觉是大家都在被PM推着走,一旦PM休假,项目基本没有什么产出,当时去了以后,发现问题很严重,觉得团队的主动性必须被调动起来才行,但是大家都已经习惯了了现有的工作方式,短期内很难到达自组织团队。更加思考和一段时间的尝试,我找到一个中间阶段“准自组织团队”,我们管它叫“自运转团队”。
自运转团队,是将需求开发过程详细划分成开发的各环节,并明确每个环节的负责人,由该负责人来驱动上下游的负责人,而不再由项目经理来连接各个环节,再配合上高效的项目协助工具平台,实现开发过程自运转。这时项目经理则由指挥者变成服务者,观察环节之间产生的瓶颈,并及时采取措施扫除障碍。
借此团队的主动性和合作性明显提升,一次女生节活动,早上提出想法,下午6点就上线了。
如果再能配合上一些其他实践,例如任务墙和版本墙(两种创新的故事墙),以及多种团队建设方法,团队的整体效率以及默契程度会有进一步的提升。
创新实践:发布汽车
过于频繁的发布会打破团队节奏,有效的发布管理是必不可少的,根据业务特点,我们通常会采用三种发布模式,我们管它叫“发布汽车”。
班车模式:像班车一样,固定周期进行,比如每两周发布一次,这周比较适合特性规划比较好的产品,比如QQ客户端基本每个月都会发布一个版本。
的士模式:与QQ客户端不同,QQ Server作为一个平台,它的需求来源非常多,因此它采用多线并行的方式,根据需求来源分成十多个子项目,根据每个子项目如果想要发布,就像打的一样随叫随发布。他的好处是快,但是协调发布的成本是比较高的,比作班车花钱要多。
警车模式:顾名思义可以不按法规来开车,因此对于一下特别紧急的需求或运营事件,必须采用警车这种模式,紧急发布,但这样做成本更高,会把交通秩序搞乱,开发节奏打破。
创新实践:灰度发布
腾讯很早就提出灰度发布的概念,简单说就是,将一项业务不是一下发布给所有用户,而是分批分期的发布,目的有两个方面,一是减轻服务器压力,二是期间可以在小范围收集到用户的反馈,如果业务出现问题,不会让大范围用户受到影响。
随着经验的累计,我们有了许多种灰度策略和方法,灰度也有了更多的应用,甚至引入到了测试环境,即选择一些热心用户,将功能首先发布给他们,通过他们的使用,来帮助我们进行一些现网测试,这使得一些难于模拟的测试场景变得简单,测试人员的压力大大降低;更重要的用户是最好的测试人员,测试结果更加真实;同时他们也享受到了优先体验的特权,可谓一举三得。
关于作者
艾永亮,腾讯公司敏捷教练&高级项目经理,曾参与QQ农牧场,Qzone商城,SOSO,无线应用、网络游戏等业务的项目管理与教练工作。曾任著名敏捷咨询公司ThoughtWorks资深敏捷顾问。有兴趣交流者请联系:艾永亮的微博