【腾讯敏捷转型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年首届敏捷中国开发者大会召开到现在,敏捷方法在国内的应 ...
随机推荐
- apply的妙用
有一个很常见的问题"call和apply的区别是什么?",大家都知道答案:它们的区别仅在于接受参数的方式不同,传递给call的第二个参数必须逐个列举出来,而传递给apply的第二个 ...
- Shellinabox安装及使用教程
本文转载自: shellinabox:一款使用 AJAX 的基于 Web 的终端模拟器 一.shellinabox简介 通常情况下,我们在访问任何远程服务器时,会使用常见的通信工具如OpenSSH和P ...
- Python3利用Dlib19.7实现摄像头人脸识别的方法
0.引言 利用python开发,借助Dlib库捕获摄像头中的人脸,提取人脸特征,通过计算欧氏距离来和预存的人脸特征进行对比,达到人脸识别的目的: 可以自动从摄像头中抠取人脸图片存储到本地,然后提取构建 ...
- 表空间(TableSpace)
我们知道Oracle数据库真正存放数据的是数据文件(Data File),oracle表空间(tablespace)实际上是一个逻辑的概念,在物理上是并不存在的,那么把一组data files捻在一起 ...
- 连接到 Azure 上的 SQL Server 虚拟机(经典部署)
概述 本主题介绍如何连接到运行于 Azure 虚拟机的 SQL Server 实例. 它介绍了一些常规连接方案,并提供了在 Azure VM 中配置 SQL Server 连接的详细步骤. Impor ...
- 排查 Azure 虚拟机的远程桌面连接问题
与基于 Windows 的 Azure 虚拟机 (VM) 的远程桌面协议 (RDP) 连接可能会因各种原因而失败,使用户无法访问 VM. 问题可能出在 VM 上的远程桌面服务.网络连接或主计算机上的远 ...
- C++学习笔记——C++简介
1.C++发展史 C++语言来源于C语言,在C语言的基础上增加了面向对象设计的要素从而得到了发展. 1979 年,C++ 是由 Bjarne Stroustrup在新泽西州美利山贝尔实验室开始设计开发 ...
- HTML后续
列表标签 <ul>.<ol>.<dl> 列表标签 无序列表 属性: type="属性值".属性值可以选: disc(实心原点,默认),squar ...
- ppt基本操作
一.概述及作用 ppt是一种表达用户思想的有力工具,无论是介绍一个计划,介绍一个新的产品,或是员工报告,员工培训,只要事先做一个演示文稿,那么阐述的过程就会变得见面,简明和清晰. 二.界面构成 演示文 ...
- cygwin64-安装包管理工具
1.dos command, install pkg $ setup-x86_64.exe -q -P curl $ setup-x86_64.exe -q -P lynx 2. cygwin64 c ...