转:从玩具到游戏 看另类项目激励机制
【IT168 专稿】
几天前,发表了文章《给敏捷团队发奖金就像在刀尖上跳舞》,单从标题就可以看出其中的“惊心动魄”,显然我们需要高超的技艺,以及皮粗肉糙的脚底,就像某些非洲土著那样,方才能够游刃有余地舞动在刀尖之上。
确实如此,通过发奖金的形式来激励团队成员,本身就是一把双刃剑,弄得不好,可能就会破坏团结,导致彼此之间的矛盾与冲突,这对于一个团队而言是绝对致命的。然而,如果一个团队缺乏合理的激励方式,又无法调动成员的积极性。如何取舍,真是伤透脑筋。
看完这篇文章,我思索良久也没有寻求到一个好的答案。昨日阅读Larry L. Constantine的《人件集——人性化的软件开发》,才发现其实Constantine早已给出了答案,就在书中的第59章《受奖励的程序员》中。原来,我们为什么要受限于发奖金这样一种形式呢?套用一句俗语说,“提到钱,就难免伤感情了。”要激励团队成员以及开发团队,我们还能够寻求到很好的方式。
概括起来,Constantine提出的激励机制包括如下内容:
1、“技术玩具”。开发人员大多数都是技术型人才,一个通病就是对于技术的执著追求有时候甚至高于对金钱的追求(前题是他已经具有优裕的生活基础)。因此,一套最新的正版软件工具,或者一件当前最酷的数字产品,都会让他们欣喜不已。这种“投其所好”的馈赠方式,既没有奖励金钱那么赤裸,又能够让开发人员从内心深处激发对公司的认同与感激,真可谓两全其美。
2、小礼品。书中写道:“绝不要低估T恤衫的力量。各式各样的‘刺激’手段——团队夹克、特殊的领带、特别的杯子或者鼠标垫——都是可以使用的方法,这些,能够告诉那些取胜的团队以及团队成员:他们与别人不太一样。最好的团队还可以获得自己设计团队徽章样式的机会,并有公司负责找人生产。”这种方式或许是高层领导最愿意看到的,投入不多,却极尽蛊惑人心之能事,尤其是设计团队徽章的做法,既能够激发个人的集体荣誉感,又能够激励整个团队的战斗力。
3、自由控制的时间。这里提出的自由时间,并不是奖励成员出去旅游或者度假,而是对于那些按时交付了高质量软件的开发人员,奖励他们能够在公司的上班时间内,自由支配自己的工作,做自己感兴趣的事情(当然是与技术相关的)。例如,你可以自由自在地在没有最后期限的压力之下研究网格运算,或者神经网络,人工智能,哪怕你所在的公司实际上只是从事SAP二次开发。
Rob Thomsett说,按照他的经验,如果你把时间和钱放在一起让程序员挑选,大多数都更喜欢前者。而这类由公司赞助的研究活动,反过来对公司也是有益的,不但是获得了一位拥有新技能和新点子的快乐的开发者,而且,没准儿还能得到一个新的软件或者其他什么有用的技术。这种奖励方法对整个团队可能更有意义。如果一个项目团队显示出他们的高超的开发执行能力,当他们超越了公司建立的最好实践之上时,那么就应该对这个团队进行奖励,让他们可以无拘无束地选择研究和开发项目。
如果你的公司是一家研究型公司,或者从事产品开发,这样的奖励方式在激励成员以及团队工作热情的同时,或许还能得到意外的收获。最关键的是,这种做法无形中营造了公司的研究氛围,创造了一种良好的价值取向。
4、教育与培训机会。特别对于具有进取心的开发人员而言,获得教育或培训的机会,绝对比获得奖金更加诱人。即使管理者担心教育与培训投入的成本太高,甚至会造成人才流失的可能,那么,给团队人员一次参加技术大会的机会好了。这些大会往往都是免费的,开发人员需要获得的仅仅是你的一个许可而已。然而,已经足见你的栽培之心了。Constantine还说道:“报销书籍和杂志费用也是一种低费用的激励方式”。管理者们,你们看到了吗?
5、选择团队成员的权利。权利也是一种奖励。例如让他主持一次会议,或者提供监督别人的机会,都是一种廉价的权利,但有可能得到的回报却很丰厚。最好的权利就是允许团队成员能够挑选自己认可的合作者。书中提到:“一旦一个小组已经学会了如何协同工作,为什么要把他们分开呢?对于那些能够高效开发的团队,奖励方法之一就是让他们在下一个项目中继续共同工作。对这个方法进行一个推广,那么,我们可以让他们自行挑选工作伙伴,这种行为可以有效地激励员工,使他们能够达到最好的工作效果。同理,让那些在上一批项目中干得最好的团队,在下一批项目中自由选择员工,对他们来说,也是一种奖励。”还有什么比这个更加廉价的奖励。
除了以上提到的五点之外,Cockburn在《敏捷软件开发》一书中,还提到了Darin Cummins发明的一种开发游戏的奖励方式,奖励一些类似于代金券之类的伪币,然后在项目结束后,利用这些伪币来竞拍一些真正适用的物品。关键不是这个结果,而是开发中的过程,对于成员的奖励就像玩游戏一般轻松自在,不知不觉就剥去了成员的功利之心,有效地消除成员之间的恶性竞争。
Darin写道:“开发人员会因为他们的代码被评审、评审其他人的代码、按照进度完成任务、重用代码以及创建单元测试等得到奖励”。要消除成员之间的恶性竞争,这种方法一定要遵循两点。第一是将过程尽可能最小化,这样的度量会更加准确与透明,不会出现太大的分歧。第二则是给参与者反败为胜的机会。可以在开发过程的结尾,设计一些额外的活动来让开发人员赚取更多的奖励。这样一来,即使开发人员在前面输得太多,他仍然有机会在后程发力,反败为胜。
适当的奖励可以让我们踢开刀刃,自在轻舞,但必须还要谨记如下两个原则:
- 在奖励优秀的开发人员的同时,不要忘记对优秀团队的奖励;
- 奖励方式应因人而异,必须最大程度地投合员工的喜好。
因此,在对你的团队以及员工进行奖励之前,最好先询问他们究竟喜欢什么,也许你能够以最小的投入换来最大的回报。坦白说,有时候上级也需要好好考虑如何对下级“拍马屁”呢。
漂泊是无尽的轮回。