对于软件行业,考核是一个很难的课题。 首先要看考核的目的是什么?这跟企业的文化有关。文化的不同会使考核的目标有很大的不同。举个例子:有的企业看中团队精神,不喜欢明星员工过于自我膨胀而破坏团队的凝聚力;有的企业追求卓越,考核的目的就是为了淘汰那些不够卓越的人。 确定了目标之后就要设计考核的指标,可以参考SMART原则,关键在于可度量。如果建立了一个考核体系,但是没有可量化的指标,最后只能靠直接主管的好恶还决定一个人的命运,那么这个考核体系就失去了作用。 对于程序员,我个人认为有两个方面可以列为考核指标: 1、工作产品的数量:比如考核周期产生的代码行或功能点(可以进行重要度和难度等的加权)和文档的数量 2、工作产品的质量:可以用BUG率来衡量 这两个指标还可以结合起来,为了改BUG而花费的工作量可以在该考核周期的工作量中扣除,这等于是把由于其产生了低质量的产品而给公司带来的损失部分转嫁到他自己身上,从而起到对追求高效高质量价值观的引导。 至于合作精神等,我个人认为不应列入对程序员的考核目标,这会造成考核的主观性过强。当然如果公司的考核体制比较完善,可以使用360度考核,这样就可以引入一些主观指标。 当然就算是客观性的指标,真正能做到度量的也是很难,BUG率是好度量的,可是工作量和代码行就是一个太容易作假的指标了。即便大家都不作假,又有多少公司能够完成这么多人的度量数据的收集和比较呢? 说到底,对程序员和项目经理考评是件很难的事。不过,参照市场经济中市场来进行资源的配置的方法,是不是可以在工作中采用程序员和项目经理双向选择的方法呢?这样不好的程序员自然没有人愿意要,好的程序员自然大家抢,这时项目经理就在自己成本的范围内竞价,好程序员得到好薪水,项目经理得到有用的人才。项目经理同理,不好的项目经理没有人愿意跟他做项目,自然也就。。。这个想法也不知道各位有谁的公司中有类似的用法吗?
|