【腾讯敏捷转型No.3】Scrum有什么好?
在敏捷转型的过程中,除了敏捷宣言中的四个价值观和十二条原则以外,并没有太多比较权威的理论实践。
如图一,敏捷宣言中的四个价值观:

(图一)
四条敏捷核心价值观指出了敏捷的核心思想,但是并没有仔细说明具体的实践方法。所以这四个价值观看上去比较抽象,很难理解。下面我分享亲身经历腾讯敏捷转型所遇到的案例,足以说明敏捷宣言中工作的软件高于详尽的文档这条价值观(其余的价值观我会在另外文章里面解释)。
“工作的软件”高于“详尽的文档”。举个例子:“如果买一个崭新的洗衣机回家后,有多少人会看完使用说明书再使用洗衣机洗衣服呢?”对于这个问题,我想,不管男女老少,答案都是一致的:根本不会。因为洗衣机的使用大家都比较熟悉,而且家电行业发展很成熟,所以很多人即使不看说明书,一样懂得如何去操作洗衣机。
而“工作的软件”高于“详尽的文档”也就是这个意思。这里的软件就等同洗衣机,详尽的文档等同于使用说明书,软件的可用性是第一位的,详尽的文档是其次的。同样,在软件开发中,开发团队的重心应该是放在如何保证软件的可用性,而不是思考如何写一个完美的文档。例如:增加软件异常行为监控,增加crash的上报,不断分析用户的行为等。
2007年,腾讯公司在内部推行敏捷,团队不可能仅仅以四条敏捷价值观就开展工作,团队就面临着怎么实施具体可行的工程实践的问题。经过一段时间的对比和考察,最终大家选中了Scrum+XP的混合体(如图二),做出了以下这套方案。

(图二)
Scrum
√迭代规划会议
√产品Backlog
√每日站立晨会
√故事墙
√迭代回顾
×焚烧图
XP
√重构
√持续集成
√自动测试
√代码规范
×结对编程
×集体所有权
腾讯独有实践
√灰度放量
√showcase
如上图列表,带√的是最终采纳的,带×是最终放弃的实践。
团队实践敏捷的采用Scrum+XP方法中,Scrum整体采纳的比较多,个人认为主要原因是:第一,Scrum的一些措施更偏团队管理和沟通管理,对于早期的敏捷实践,这两个层面的实践容易实行,而且见效比较快。第二,XP实施的措施都是偏代码实践的,对技术要求比较高,实施成本也比较高。当然,结合腾讯的海量运营业务,成功实践敏捷肯定需要一些独门秘笈。
说说我对Scrum的理解,Sprint是组成Scrum的关键因素,翻译的意思是迭代,也就是研发周期为一周、二周、三周或者四周的时长,就必须有一个交付的版本,而且发布版本最长周期不允许超过四周。迭代引入一个Timebox的概念,可以类比集装箱的概念。集装箱这个发明出现在航运后,彻底改变了世界航运的版图,目前全球非散货运输的90%都是依赖集装箱的。集装箱的使用有严格的规定,从而容易组合运输,并且方便各种运输工具匹配。集装箱广泛的使用就是因为它能够极大的减少了运输期间的损耗,提升运输时的效率。类比咱们Sprint概念,也是通过引入固定的迭代周期可以减少软件研发过程中团队的内耗,提升版本交付的效率。凡事有例外,曾经有一个著名的故事:如果要运输一头大象,一个集装箱容纳不下怎么办?答案下一篇文章揭晓。
关于最终放弃的三个实践。
焚烧图——这个实践方法在当年也使用了一段时间,最终发现效果不好。因为在团队开发互联网软件产品的过程中,需求变更非常频繁,而焚烧图是通过每个迭代后还剩下需求个数来展现的,导致这个图展现的数字没有实际意义。因为多次迭代需求实在是太频繁,效果很不精确,所以失去意义。需要用到焚烧图的前提是要么需求没有太大的变化,或者用来做每天的bug焚烧图。
结对编程——当年有部分团队使用这种方法之后,实在是太耗损内耗,最终放弃。如果都是用来编写代码的话,员工受不了,劳动强度很大。一直在思考,而且团队成员互相监督,导致大家都没有喘气的时间。而如果是用来编写测试用例的话,老板又受不了,感觉浪费了一半的编程力。最终这个方法没有大规模推广起来。
集体所有权——这个所有权思想其实一直都在提倡,但是很难做到。毕竟团队中每个人都想有一个自己全权负责的业务,很多程序员对待自己的代码就像对待自己的女朋友一样,不喜欢其它人动手动脚的,自己怎么看都喜欢。然后对待别的程序员的代码都像对待一坨shit一样,看都不想看,喜欢按照自己的Style重新设计一遍。这是一个非常有效消减技术债的方式,但是却很难实现。
就这样,腾讯敏捷转型在不断的探索和实践中,找到了独特的敏捷方法。
系列文章#
第一辑:我亲历的鹅厂敏捷转型
NO.3 Scrum有什么好
NO.4 为什么敏捷团队不要超过15人
NO.5 需求没做完可以发布嘛
NO.6 如何打造称手的武器
NO.7 QQ邮箱怎么成为行业第一的
NO.8 你爱上手机QQ么
NO.9 天天系列天天见哟
文章来源:微信公众号“老布谈敏捷”(ID:bootagile)
作者:薛军/Boots,现任:深圳市一起六企业管理有限公司创始人,腾讯大学外聘高级讲师,业问特聘腾讯之道讲师。曾任腾讯项目管理通道委员会会长,腾讯项目管理P4专家,敏捷教练,腾讯LBS总监
本文由@薛军 原创发布于博客园,未经许可禁止转载。
【腾讯敏捷转型No.3】Scrum有什么好?的更多相关文章
- 【腾讯敏捷转型No.2】帅哥,来多少敏捷?
上回腾讯敏捷转型系列第一篇文章<敏捷到底是什么鬼?>讲到公司铁了心要推进敏捷,这是战略层面的决定,为什么呢? 当时的我们并不知道公司为什么一定要推行敏捷的新概念,但是后来公司的变化帮助我们 ...
- 【腾讯敏捷转型No.8】你爱上手机QQ了么?
上一篇文章<QQ邮箱如何利用敏捷做到中国第一>,“QQ邮箱之母”马化腾带领QQ邮箱团队,从流量思维向产品思维转变,“QQ邮箱之父”张小龙也是在这个敏捷转型过程中,剔除固有的成见,激发对优秀 ...
- 【腾讯敏捷转型No.7】QQ邮箱如何通过敏捷成为行业第一
前几篇文章讲到2006年的腾讯是如何开始敏捷转型的,接下来这篇文章,我将向大家讲述,腾讯开始敏捷转型之后,QQ邮箱是如何通过敏捷成为行业第一. 众所周知,张小龙是“微信之父”,对他熟悉的人,应该也知道 ...
- 【 腾讯敏捷转型No.4 】为什么敏捷团队不要超过15人
早期,腾讯公司的架构是比较简单的.从上至下分别是:公司——商业单元(BU)——部门——组——员工,每个部门基本上就是负责一个大的产品,每个组都是按照专业进行分工和管理,例如:产品组.终端组.后台组.设 ...
- 【腾讯敏捷转型NO.1】敏捷是什么鬼?
“敏捷是什么鬼” 最近对外进行<腾讯产品敏捷研发体系>授课的时候,我经常可以从参课学员的眼睛里找到这句话. 通常我会鼓励大家,说:“告诉大家一个好消息,你们今天所有的疑问都是有答案的,唯一 ...
- 【腾讯敏捷转型No.6】如何打造称手的敏捷工具
通常情况下,大家对于敏捷的感受就是:大家一起来开站立晨会啦!然后一大早,大家拿着早餐,围成一个圈,听一个人在讲话. 在很多公司,决定采用敏捷之后,都会从晨会开始,因为很多人觉得敏捷其它模块都很难学习, ...
- 【腾讯敏捷转型No.5】需求没做完可以发布嘛
很多人对于敏捷的第一直觉就是“快”,开发快,测试快,发布快,并不知道如何把这个“快”应用到敏捷实践中,下面我们来分析一下导致工作效率低的核心原因.没有使用敏捷之前,在大多数情况下,项目管理都需要开各种 ...
- 世界500强ING集团顺利的敏捷转型之路
案例背景 为什么银行要像灰狗一样快? 荷兰国际集团(ING),成立于1991年,主营业务银行与保险业务,在全球45个国家和地区拥有分支机构,总资产887亿欧元(2018),全球53,000多名员工,拥 ...
- 敏捷转型谁先动:老总,项目经理or团队
摘要: 敏捷转型成功的企业究竟是从老总开始?还是从项目经理开始?还是团队本身具有这种意识?相信还有很多想要转型敏捷的公司都存在这样的疑问. 从06年首届敏捷中国开发者大会召开到现在,敏捷方法在国内的应 ...
随机推荐
- 判断数组内是否有几个元素之和等于m
#include<iostream> using namespace std; ]; int f(int n,int m) { ||m-a[n]==); &&m-a[n]! ...
- canvas中strokeRect的渲染问题>>strokeRect把一像素的边框渲染成两像素
> 结论写在头 var oC = document.getElementById('c1'); var oGC = oC.getContext('2d'); oGC.strokeRect(50, ...
- Hadoop & Spark & Hive & HBase
Hadoop: http://hadoop.apache.org/docs/r2.6.4/hadoop-project-dist/hadoop-common/SingleCluster.html bi ...
- MUI框架-07-HBuilder+夜神安卓模拟器
MUI框架-07-HBuilder+夜神安卓模拟器 有时候我们在 HBuilder 里面 web 浏览器预览我们的 MUI 项目界面时,总感觉这个 web 浏览器随便拖拉比例,大小可调,但它毕竟是浏览 ...
- PowerDNS Authoritative Server 3.3 发布
PowerDNS Authoritative Server 3.3 发布,该版本改进了不同验证器的交互操作,修复了不少 bug. PowerDNS Authoritative Server (PDNS ...
- GOOGLE高级搜索技巧
前记: 我是完整的看完了.内容有点乱啊,自己没有时间整理,先放在自己的印象笔记里了.... 二,GOOGLE特色 GOOGLE支持多达132种语言,包括简体中文和繁体中文: GOOGLE网站只提 ...
- /etc/vsftpd.conf详解
#################匿名权限控制############### anonymous_enable=YES #是否启用匿名用户no_anon_password=YES #匿名用户logi ...
- Oracle spool 小结
关于SPOOL(SPOOL是SQLPLUS的命令,不是SQL语法里面的东西.) 对于SPOOL数据的SQL,最好要自己定义格式,以方便程序直接导入,SQL语句如: select taskindex|| ...
- laravel model relationship
laravel支持多种模型之间的relation,对应着模型间的one2one, one2many,many2many,hasManyThrough,Polymorphic, many2many po ...
- Castle.Windsor IOC/AOP的使用
Castle最早在2003年诞生于Apache Avalon项目,目的是为了创建一个IOC(控制反转)框架.发展到现在已经有4个组件了,分别是ActiveRecord(ORM组件).Windsor(I ...