InfoQ

新闻

用奖励制度改善团队习惯?

作者 Mark Levison译者 李剑 发布于 2008年7月7日 上午8时45分

社区
Agile
主题
敏捷技术,
变更
标签
PMD,
编码标准,
Hudson,
持续改进,
持续集成

有时候,团队养成新习惯——编写单元测试、修复编译器警告、不破坏构建——会有些困难。我们该怎样帮助团队改掉习惯?Clint Shank为此设计了一个游戏。

现在Erik Ramfelt已经给Hudson写了个“持续集成游戏插件”,它假定开发人员有时候需要被推动着做正确的事情:

我从前碰到过有人破坏构建的事情。为了避免这种事情发生,我曾经试过多种方法,比如拿一个“纳粹徽章”,谁破坏了构建就戴上它,或者每人每次罚款一英镑。但这都是消极应对。为什么不奖赏那些没有破坏构建的人呢?为什么不奖赏那些遵守了最佳实践,把工作分成小块完成,尽早检入,频繁检入的人呢?

Clint在读过Darin Cummins的论文“开发游戏(The Development Game)"(于Agile Development Conference 2004上发表),就有了个念头,打算奖赏为构建带来好处的人,惩罚对构建造成不良影响的人。

在Eric的实现中,每个人的总积分由以下规则决定:

游戏的规则是:

  • 每次破坏构建扣10分
  • 破坏已经破坏的构建得0分
  • 成功构建得1分(不稳定的构建不得分)
  • 新的测试失败扣1分
  • 新的测试成功得1分

依赖于其他插件的规则:

  • PMD Plugin。添加/移除一个HIGH优先级的警告扣/得5分。添加/移除一个MEDIUM优先级的警告扣/得3分。添加/移除一个LOW优先级的警告扣/得1分。
  • Task Scanner Plugin。添加/移除一个HIGH优先级的任务扣/得5分。添加/移除一个MEDIUM优先级的任务扣/得3分。添加/移除一个LOW优先级的任务扣/得1分。
  • Warnings Plugin。添加/移除一个编译器警告扣/得1分。
  • ...

Clint警告说,你必须要注意那些出千的(每小时检入一些细小琐碎的、无意义的东西),而且要常常重置积分,让每个人都有机会胜利。

Scrum Development讨论组中有一些其他想法。Graeme Matthew指出,如果奖赏太重,那么开发人员可能就会把注意力放到提高积分上面,而不是给客户交付价值。Ilja Preuss说:

另外一点要牢记的就是,外在动机常常都是跟内在动机严重冲突的。也就是说,如果你的团队已经具备了良好的内在驱动力,那么加上外部驱动只会让事情变得更糟。

最后Pete Deemer说到:

我觉得这种个体激励的复杂框架会鼓励大家多思考“自己”,进而对“整体”造成无意中的损害。它会在微观上进行优化,但这种结果从宏观上来看却是次优的;而且人们会精打细算,做很多形式上的工作,而不是为客户服务。

查看英文原文Rewards to Improve Team Habits?

2 条回复

回复

同考核挂钩的都不是游戏 发表人 Jeffrey Wang 发表于 2008年7月8日 上午12时43分
Re: 同考核挂钩的都不是游戏 发表人 Yi Xu 发表于 2008年7月11日 上午1时33分
  1. 返回顶部

    同考核挂钩的都不是游戏

    2008年7月8日 上午12时43分 发表人 Jeffrey Wang

    在Office环境中,同考核挂钩的东西很难同游戏联系起来; 莫非人生就是一场游戏?

  2. 返回顶部

    Re: 同考核挂钩的都不是游戏

    2008年7月11日 上午1时33分 发表人 Yi Xu

    难道人生不是一场游戏?

独家内容

虚拟化导论

人们很容易想当然的以为虚拟化技术仅仅应用于服务器。而在现实中,虚拟化这一苏醒的概念正被运用于各个层面,其中包括网络,存储以及应用基础架构。在这篇导论中,InfoQ将深入每个方面,详尽向您描述虚拟化技术的运用以及其优点与不足。

用户故事估算技巧

作为开发者,同时也是ThoughtWorks的咨询师,Jay Fields总结了自己估算用户故事的有效技巧。

InfoQ案例研究:纳斯达克市场回放

在这篇案例研究中,InfoQ对Adobe AIR和Amazon的简单存储服务(Simple Storage Service ,S3)在NASDAQ市场回放程序(NASDAQ Market Replay)中的应用进行了详细的分析。

Hadoop基本流程与应用开发

本文介绍了Hadoop的基本流程、业务场景、代码范例以及集成测试。本文是《分布式计算开源框架Hadoop入门实践》三部曲的最后一部。

SOA在互联网系统中的应用

本视频对SOA在互联网系统中的应用进行了探讨,主要以支付宝在SOA的实践为例,主题从敏捷的应用程序(对象与组件)到敏捷的企业系统(应用集成与面向服务),再到敏捷的生态圈(网关与开放平台)。

用数字沟通——来自敏捷精灵的忠告

因为不知道如何反击,技术人员不得不听从业务人员的要求。这已经是老生常谈了。问题何在?开发人员用数字主要是进行计算的,而业务人员使用数字辅助决策。在下面的故事中,“敏捷精灵”鼓励一个开发人员用数字来描述与计算无关的问题。

Hadoop中的集群配置和使用技巧

本文介绍了Hadoop如何配置分布式框架运行环境,同时特别讲解了其中的一些细节。Hadoop可以单机跑,也可以配置集群跑,这里主要重点说一下集群配置运行的过程。本文是Hadoop入门实践三部曲的第二部。

JavaScript多线程编程简介

虽然有越来越多的网站在采用AJAX技术,但是开发复杂的AJAX应用仍然是个难题。本文探索了如何应用多线程缓解其中一些问题。