【腾讯敏捷转型No.6】如何打造称手的敏捷工具

一般状况下,你们对于敏捷的感觉就是:你们一块儿来开站立晨会啦!而后一大早,你们拿着早餐,围成一个圈,听一我的在讲话。html

在不少公司,决定采用敏捷以后,都会从晨会开始,由于不少人以为敏捷其它模块都很难学习,就先从最简单的晨会开始,试行简单的方法会不会有奇效,抱着这个想法,奇迹是不会发生的。程序员

不少人不知道的是,许多公司都是从晨会中结束敏捷转型的,虽然开好晨会不简单,并且也有Know-how。微信

腾讯敏捷转型1.jpg

工具和管理方法实现价值最大化

你们会有一个问题:老布,既然只作晨会不行,那作敏捷有没有其余衡量指标呢?工具

我能够很确定的回答你:有,若是有且只有一个的话,衡量团队的敏捷指标就是一个月内该团队写给本身团队的代码占总代码中的百分比。学习

为了解决团队目前工做质量或工做效率的问题而开发的一些工具的代码,占据全部代码的百分比,就是团队的敏捷指标。敏捷的本质是寻找价值,妨碍团队高效寻找价值的障碍都是“问题”,因此须要利用管理方法和工具来解决问题。经过不断发现团队的短板,用管理方法调整或者编写工具来解决短板,从而释放团队每一个成员空间,实现我的价值最大化。测试

假设人工发布的时间须要2个小时,每四次发布有1次要回滚,每周发布一次,请问团队中谁愿意反复作这件事?再假设发布从每周改成每周两次呢?你会发现,这样的团队成员压力都很大,容易犯错,这里就是一个短板。因此团队颇有必要花费两周的时间开发一个自动发布的系统,将以往每次发布两小时改成成两分钟并且支持回滚。网站

这部分的代码就是团队写给团队本身的代码,咱们但愿持续经过编写代码来改进团队短板。spa

 

腾讯敏捷转型工具2.jpg

(图一:腾讯敏捷工具模块)线程

如图一,为了发展敏捷研发,通过多年的建设,终于构建这么多工具来支撑敏捷实践。包括CE(Customer Engagement)、需求管理、代码管理、测试过程管理、发布管理、缺陷跟踪管理、持续集成管理、项目过程管理、任务管理等。日志

不少人会有误解,认为鹅厂规模这么大,人数这么多,随便挤出一些人均可以完善这些工具。其实这些工具的早期版本都不是专门团队来完成的,而是业务团队根据本身的须要逐步开发完善的。

例如,自动发布模块,就是网站业务团队最早作的,由于相比较公司内其余业务,网站业务的自动发布比较容易实现,按照版本发布到Server上,就能够对外提供服务了。在当时,绝大多数的客户端业务的自动发布就没有那么容易实现了,可是当网站业务团队的自动发布实践取得效果后,有了标杆,其它业务团队都勇于尝试了。

很快有团队将自动发布进化为灰度发布工具,自从有了灰度发布工具,不少团队就发现巨大的好处。在没有使用灰度发布工具前,当时的业务常常须要切换上线,为了避免影响客户,都须要在凌晨四点左右完成切换。那时候,我还特地买了一个睡袋,在切换上线的时候,前一天晚上10点睡觉,凌晨3点起来操做脚本停掉旧版,而后编译,启动新版。观察一个小时的日志,看看业务是否正常运做。若是不正常就赶忙干掉新版,回复旧版,等次日白天修改问题以后,晚上再次切换上线。

自从有了灰度发布后,能够在白天黑夜随时发布上线,逐步切换一小部分用户使用新版本,若是有任何问题,就能够当即切换全部用户用回旧版。同时开始查找问题,等修改调整好了之后,再次切换一小部分用户试用,而后持续观察用户的表现和反馈,直至成功全部用户成功切换使用新版本。

每一个业务都会挑选合适本身的重要工具进行开发,取得必定成效后,公司就鼓励你们互相分享工具,通过三年时间“发酵”,这些工具已经逐步完备,最终腾讯公司敏捷实践的效率在这些工具的支撑下愈来愈高。

不少学员会问我,老布你有没有好的工具直接推荐给咱们用啊?我认为,由于每一个团队的性质不同,用的工具和脚上穿的鞋子同样,别人穿着很舒服,可是不必定适合你,只有合适才是最好的。

因此我始终建议团队根据本身切身状况开发的工具是最好的,可是如今你们比十年前的咱们幸福多了,如今Github上有不少Open Source工程,都是用来增强敏捷实践的工具(如图二)。

 

腾讯敏捷转型工具3.jpg 

(图二:开源敏捷实践工具)   

因此如今你们只须要找到一个合适的好工具,以为适合本身团队就持续使用,发现问题就本身动手修改,这样的工具才是最适合团队所在的行业、业务和团队特色的,效率才是最高的。

 

【案例】CPD检查你的代码

十年前,我和个人团队想作静态代码扫描的时候,当时只能使用价格昂贵的Pclint工具,很是郁闷的是它只能扫描C语言的代码,C++代码暂时还不支持。当时咱们经过缺陷审计,发现一个现象——不少程序员每日提交到SVN的代码占比至关高,都是从其余代码里Copy-paste过来的,根本没有修改,直接编译运行了。只要功能正常,就提交。在面向对象语言的时候,Code高度抽象,就算只有5行代码均可能新建了某个对象而后这个对象初始化的代码里还启动一个线程池,被Copy的代码在某个地方关闭了线程池。他们在抄代码的时候根本没有分析清楚,因此这样的代码隐患很是大。

因而个人团队使用静态扫描功能就最早开发了一个“CPD”功能(Copy-Paste·Detector)。天天晚上把当天提交的代码以人为单位进行分析,次日早上8点前会有一封邮件发送给全部人,邮件标题为《TOP10·CPD·Programmer》,邮件的内容是人名、CPD率、上榜时长。把昨天的代码里Copy-Paste后并不修改源代码,CPD率Top10的人列出来,提醒他们当天必须把代码逐行检查调整后再提交。若是有人连续两天上榜,就会额外有一份邮件发送给那我的的直属Leader,请他帮助解决这个entity,经过这个简单的方式,团队千行Bug率大大降低。CPD工具的原理说出来简单得不能再简单,可是效果很是好,因此建议敏捷工具根据须要本身开发,这样才是称手的敏捷工具。

 

 

系列文章#

第一辑:我亲历的鹅厂敏捷转型

 

NO.1 敏捷是什么鬼

NO.2 帅哥,来多少的敏捷

NO.3 Scrum有什么好

NO.4 为何敏捷团队不要超过15人

NO.5 需求没作完能够发布嘛

NO.6 如何打造称手的武器

NO.7 QQ邮箱怎么成为行业第一的

NO.8 你爱上手机QQ么

NO.9 每天系列每天见哟

 

文章来源:微信公众号“老布谈敏捷”(ID:bootagile)

做者:薛军/Boots,现任:深圳市一块儿六企业管理有限公司创始人,腾讯大学外聘高级讲师,业问特聘腾讯之道讲师。曾任腾讯项目管理通道委员会会长,腾讯项目管理P4专家,敏捷教练,腾讯LBS总监

本文由@薛军 原创发布于博客园,未经许可禁止转载。

相关文章
相关标签/搜索