昨天的讨论里,有同学提到了:把持续集成可视化出来,有助于团队和领导更好地理解和遵守持续集成的纪律。
那么今日的极限拷问来了:
1、应该可视化哪些信息?
2、以什么形式可视化?
3、可视化的信息如何帮助团队做得更好?
将持续集成信息可视化,是为了团队对目前开发状况有直观清晰的了解,也方便工作的持续进行,提高团队的协作度与效率。那么以下信息就应该公示出来:
- 环境信息,例如:DEV/UAT/PROD。
- 环境下的服务信息,例如:服务名。
- 单个服务的构建信息,例如:stages,每个 stage 的时间,总的构建时间,构建成功状态,构建失败状态,失败的stage,构建的版本信息。
- Pipleline的团队规则和进行状态,例如:红不过夜、状态(pending , in progress , sucess , fail )。
正在可视化形式方面,最好可以做到简洁、直观,和醒目,可以用的方式有:
- 使用显示器来可视化。用颜色来标记状态。在开发团队工作区域附近放置,抬头即可看到,能够相互提醒。缺点是大家都不抬头,就得一段时间后才能发现问题。
- 使用 catlight 工具进行可视化。即时通知,简单环境下,能够直接订阅需要关注的 pipleline,工作的电脑上就能获得通知,算是显示器的一个补充。
- 显示器+声音。当构建失败时,播放声音,引起团队注意。
有群友直接向大家分享了自己团队正在使用的可视化系统:
界面
▲【极限编程中国 | 实践者】成员分享
▲【极限编程中国 | 实践者】成员分享
测试量化指标
▲【极限编程中国 | 实践者】成员分享
可视化的信息如何帮助团队做的更好呢?
-
通过可视化信息,能够让团队明确的知道规则,并解决中间的歧义,知道底线在哪里。
-
相互提醒。显示屏、声音、catlight 等工具能够尽可能帮助团队第一时间发现问题,并进行处理。
-
解决问题。发现问题后,避免只是指出问题,只做指指点点,而不去帮助造成问题的同学解决。这一点取决于 Experience,如果团队还有开发同学对pipleline不清楚不熟悉,当他遇到问题时最好和他一起定位问题和解决。
-
每日持续集成。如果没有问题才是最大的问题,可以回顾下分支管理,保证每日构建持续集成。避免一直没有错,一直不构建。
-
共同关注 Stage。在某些项目中,由于有的开发人员,由于种种原因,而去掉某些 stage,导致 pipleLine 一直是绿的。
-
围绕 Pipleline 组织一些团队内的小活动。通过小活动让团队关注 pipleline,并记录下来,可视化在某处。
讨论时间
近几天持续的关于持续集成的讨论,不禁让芒果产生了一个疑问:
持续集成这么好用,为什么还有领导不知道或是不支持持续集成?大家的公司领导都是这样吗?
结果群员们为我很详细的解释了其中缘由:
在日常的工作中,不知道的情况很多,毕竟有些程序员都不知道,更别说外行的领导了。
然而知道的领导还需要综合考虑到成本、效率、产出等情况。
-
成本:时间成本、金钱成本,以及团队人员的精力成本,都算在内。从传统的开发模式转变成持续集成模式,必然要求团队成员水平提高,在现有成员情况下,需要考虑到学习、磨合所耗费的各种成本。
-
效率:坚持下来的话,团队效率肯定会提上来,但是这个过程是耗费时间、物力以及人力的一个过程,现有的人员基础上,持续集成前期的效率可能会更低。团队需要磨合,才能更好的适应持续集成,从而提高效率。
-
产出:作为领导来讲,更关心的是你有没有产出,产出质量是怎样的,而不是你用什么方法、工具达成产出。持续集成、测试驱动都是技术实践,有没有用、需不需要是技术问题,领导不关心也不会替你做决定。
所以,持续集成也好,TDD也好,都是开发人员做好工作对自己最起码的要求。
极客练功房
什么是极客学院的TDD实践活动呢?它竟然这么实用吗?什么?竟然可以提高工作效率?什么?还能实现敏捷开发?快给俺也整一个!极客学院线下TDD实践活动——极客练功房下周又要举办啦!
时间:12月21日13:30
地点:北京
↓↓↓
基于极限编程的核心实践,直指个人和团队基本能力
全程采用刻意练习方法,不讲废话,只练真功夫
如温馨网友聚会,面基志同道合的小伙伴
社群资深教练现场点拨,打通关窍
↓↓↓
时间:12月21日
地点:北京
内容来源
本期内容整合自【极限编程中国 | 实践者】
内容贡献者:
如果你也想加入讨论,获取干货
迅速成长,提高效率
欢迎加入我们
↓↓↓
▲【极限编程中国 | 实践者】微信群
↓↓↓
怎样加入我们
立即扫描下方二维码限时免费加入【极限编程中国 | 实践者】微信群
和前ThoughtWorks总监咨询师熊节实践敏捷开发