程序员考核的五大死因(上)
程序员作为企业开发力量的最核心资产,无疑得到公司从上至下的一致关注。开发是个智力密集型产业,程序开发的特点是,付出相同时间的情况下,两个开发者之间的产能会相差十几甚至几十倍。软件开发人员向来以“不容易考核、工作不容易被量化”而著称。本期,我们重点分析程序员考核的“死因”及对策。
典型的程序员考核的产生
分析考核死因之前,我们先看下它是如何出生的。某天,公司老板突然想到件事——我不懂研发,而研发对我公司这么重要,怎么办?念一及此,老板不禁有些紧张,马上叫来HR开会,安排本月人力资源部分的工作重点,那就是“研发人员考核”,务必贯彻到位、立即执行。深谙老板意图的HR,回工位立刻上网卖书,从如何考核、KPI实务到平稳计分卡策略一应俱全,书到手之后连夜“抄书”赶制考核体系,整理出“研发人员考核方法”。第二天,HR把此考核方法交给研发总监并告知“老板要考核你们,这是考核办法。具体指标和KPI请部门自己制定,本周未之前报给人力资源部。我们会汇报给总裁。”研发总监拿着连撰写制度的人都没明白的“办法”找到项目经理:“老板要考核我们,这是考核办法。你团队成员具体指标和KPI你自己定,明天下班之前汇总给我。”项目经理找到了程序员:“老板要考核你,这是考核办法。你自己的指标和KPI你自己定,今天中午之前给我。”程序员迷惑地问:“目标不是公司制定的吗?”
很多考核就这么荒唐的开始了……
很快考核变成了每月项目经理给组里的程序员打次分。
于是,老板很满意:“我终于可以放松了,以后我们靠考核制度管理研发人员。我们从此摆脱了‘人治’时代!”
HR也很满意:“我不用明白研发是什么,更不必了解程序。我只要他们知道,我可以扣他们的钱就行了,还是用他们自己制定的指标。”
其他人都不太满意……
不久之后,公司就会发生程序员离职率升高的现象。被考核者,诸如:程序员、项目经理、研发总监都走光之后,考核就这么死了!
接下来,谈谈程序员考核的五种死因及对策。
考核只以事件为核心
公司没有利润就不能生存,研发项目的进度很多时候决定着公司的利润。所以很多考核是把项目无限拆分到程序员层面,这样的考核只以事件为中心,关注事件是否做成,而不关注人和人的发展。只以事为中心的考核把程序员当成了生产线上的机器,有投入(高工资)就要有产出(高质量的代码),程序员被当成了标准件,即没必要有太多成长(因为做的都是相对重复的工作),也不能时常发生故障(经常加班也不能请假)。
有些程序员自号“IT民工”与这种考核体系的存在有很大关系。
这种考核体系可以维持短期内的高效率,长期执行会导致整个系统的崩溃。很多公司人员不断更替,根本无稳定可言,一部分原因是执行了或者实质上执行了只以事件为核心的考核。
专家支招:
张大志(Leo):承认程序员也是人,尊重人的个性是考核的基础。注重培训,在项目压力大时侧重结果,在有Buffer的情况下关注程序员技能的提高和个人的发展是解决此类似问题的核心方法。在项目周期的不同阶段对考核方法进行调整的复合式考核方式,更能让企业向目标前进,也能保持程序员的热情。
胡争辉:换个角度从结果考虑,举一个最常见的例子,四个人合作种树,A挖坑,B种树,C填土,D浇水。如果考核只以事件为核心的话,那么当B没有种树时,C依旧填土,D依旧浇水。从考核来说A、C、D三个人都得了满分,就算B得了0分,平均分也该有75%,超过60%及格线了,但是种树这个任务却没有完成。所以对于只以事件为核心的考核来说,不仅让程序员感觉不到团队,而且程序员也不会为团队考虑。在这种情况下,考核就要调整为既包含个人要完成的事件,也要体现个人对团队全局的理解。
程序员考核的五大死因(下)
上次谈到《程序员考核的五大死因(上)》今天我们继续。
考核标准的一相情愿
第二个导致考核死亡的原因是,相关方法的制定、标准的出台都只以公司角度为惟一视角,一切服从项目需要、服从公司需要,绝少考核其它因素。所有考核指标都由公司来定,不让程序员参与意见。我就见过这样的开发计划:项目组成员工作12小时两班倒,7*24小时、持续长达3个月、没有Buffer。按这样的项目计划考核,除了能直接导致人员流失之外,没看出来有其它功用。
很多程序员是在被扣工资之后才被相关人员告知自己的考核指标,之前根本没有人通知。考核时的闭门造车的情况并不少见。
专家支招:
张大志(Leo):加强沟通,让程序员在考核开始之前了解自己的指标,是惟一克服此种死法的工具。公司怕与程序员就考核指标进行后,指标有贯彻不下去的风险。但考核失败的代价要远远大于对考核指标进行合理修改的代价。程序员如果离职,那很多事情都要重新来过。
胡争辉:在制订考核指标时,要始终贯穿考核的杠杆作用,也就是通过给员工制订影响切身利益的考核指标,让员工重视这些考核点,进而推动项目的完成,保障公司的利益。既然考核起到用小利益推动大利益这样一个杠杆作用,那么就不仅要让员工理解考核的指标,更要让员工在开始工作之前就要对能不能完成考核指标给出反馈。
考核制度的不合理性
很多考核刻板而没有弹性,让人感觉只是为了扣工资而制定的。常能开到程序员通宵加班,第二天凌晨离开公司回家睡觉,中午到公司继续工作。发工资的时候发现,扣了半天的钱,因为有半天不在公司。程序员会想:“那我通宵也没给加班费啊!太不公平了!”
考核制度没有弹性只能伤害程序员的积极性。
专家支招:
张大志(Leo):如同公司市场政策僵化会导致公司的失败,考核制度的僵化会导致制度本身的名存实亡。永远记住我们考核的是人而非机会,保持适当的弹性。
胡争辉:考核制度不仅有引导员工完成公司既定目标的职能,而且还有体现企业文化的职能,在企业文化中对一件事情只有一种观念,而不会有互相冲突的两种观念。例如提倡加班的公司就不会提倡按时上下班,反之亦然。但是企业文化中也不会在提倡一个观念的同时,明确的反对另一个观念。比如说公司提倡按时上下班的时候,不会明确反对加班。所以考核制度难免和企业文化有冲突,这种情况在公司的HR新上任的时候尤为突出,因此HR在上任伊始,不仅要学习企业文化中提倡的观念,也要理解企业文化没有明确反对的那些观念,进而通过考核制度体现出来,让考核制度成为落实企业文化的有力工具。
考核制度的虚无性
国人常讲“王子犯法与庶民同罪”,但程序员考核面前大多数情况下却很难做到人人平等。评分者看好的,往往考核松些;无门无派的考核相对客观,与评分者关系紧张的一般都是最低分。意思很明,就是为了挤兑你走呢。考核于是成了政治斗争的工具,成了打压异己的手段。
专家支招:
张大志(Leo):有效设立方监督机制、360度考评、轮换考评者是解决以上问题,避免考核成为斗争工具的方法。也许有人的地方就有斗争,但是程序员考核仍然应以客观、公正为标准。
胡争辉:为了避免考核的主观和随意,应当建立自评分与考评分相结合的制度,不仅要由考评者打分,也要由被考核的员工自己打分,对于这两个打分有显著差异的时候建立复审制度,由更高级的管理人员对考评结果组织仲裁,仲裁小组应当包括高级管理人员、HR以及在考核周期内与被考核的员工有工作关联的其他员工组成,通过这样的流程不仅可以避免考核的主观和随意,还可以籍此改进考核制度。
考核中HR常胜不败
考核要有监督机制,但并不需要一个婆婆式的人物在背后指手划脚。很多程序员考核中HR都充当着这类不光彩的角色。不了解研发的HR制定出来的考核制度,可行性必然不高。与此同时,一旦有程序员因为满考核而离职,HR会马上抛出自己的理论:“此程序员不适合我们的企业文化,他还不擅长沟通。”即使走的是项目骨干,HR还是拿出这套说词,很让人汗颜。
一个非理性的群体里很难容下理性的程序员,离开可能是最好的方法。
专家支招:
张大志(Leo):开放的心态是做好HR的前提,考核的时候人力资源部的同事不应该把自己当神,这里不需要神,而应该把自己的角色定位于用心理解程序员的朋友。
胡争辉:作为一个完善的考核制度而言,不仅应当由HR部门组织对员工的考核,也应当有对HR部门的“考核制度”的考核。这种考核应当以员工满意度为指标。比如说一项考核指标遭遇大部分员工表示不满的时候,就需要对此进行调整。不合理的考核如果长期得不到改善,会有越来越多的员工抱者“法不责众”的心理对待这项考核,长期以往,还会影响到考核制度的严肃性。
以上,就是程序员考核的五种常见死法和对策。下次,我们来谈谈“如何让程序员渴望被考核”。