普遍认为,为软件开发人员设定可衡量的目标不起作用,因为过于关注目标可能导致与组织目标相反的行为(所谓的“测量功能紊乱”)。
然而,在我们公司,所有员工都需要设定目标,并受到人力资源部门的鼓励来制定明确的目标。在过去,我和我的其他一级经理(团队领导)尝试了许多方法:
- 制定可衡量的目标,例如“对技术X进行培训”,“为没有人理解的代码Y创建文档”等。在年度绩效评估时,不要根据书面目标评估开发人员,而是根据他们正常工作的不可衡量价值来评估,因为这实际上是公司关心的。
- 设定非常具体的目标,例如“由任务管理系统记录的工作日天数”,“引入的错误数量”,“导致生产问题的数量”。这导致了夸大的估计和错误的错误分类,以便获得更好的“分数”。有趣的是,即使那些在这个系统上得分很高的开发人员也不喜欢它,因为团队内部的内在信任受到了损害,他们并不总是觉得自己应该得到高位。
- 制定模糊的目标,例如“做好你的正常工作”。在年度评估时,他们的评级确实反映了目标的完成情况,但目标本身是不可衡量或实现的,这是不被看好的。
这些都不是理想的选择。如果您曾经处于类似的情况,不得不为软件开发人员创建有意义的、可衡量的目标,尽管有证据表明它们并不有效,您最好的方法是什么?
我找到了一些相关问题,但它们并不完全涉及同样的问题:
更新(2009年11月18日):我的问题已经获得了10个赞,而最高评分的答案只有4个赞(其中一个是我自己)。我认为这告诉我们一些事情:也许Joel和其他人是正确的,stackoverflow的集体智慧无法提出任何令人信服、可衡量的开发目标,而不会对他们工作的真正(不可衡量)价值产生负面影响。谢谢你们的尝试!