人们普遍认为,为软件开发人员设定可衡量的目标是行不通的,因为过分关注目标会导致与组织目标背道而驰的行为(所谓的“衡量功能障碍”)。
但是,在我的公司,我们需要为所有员工设定目标,并受到人力资源部的鼓励,使他们变得SMART。过去,我和我的一级经理(团队领导)同事尝试了多种方法:
- 设定正常工作之外的可衡量目标,例如“对技术 X 进行培训”、“为无人理解的代码 Y 创建文档”等等。当谈到年度绩效评估时,不是根据书面目标来评价开发人员,而是根据我对他们正常工作的不可估量价值的看法,因为这实际上是公司关心的。
- 设定非常具体的目标,例如“任务管理系统记录的工作天数”、“引入的错误数量”、“导致的生产发布数量”。这导致了夸大的估计和错误的错误分类,以便获得更好的“分数”。有趣的是,即使是那些在这个系统上得分很高的开发人员也不喜欢它,因为团队内部的内在信任被破坏了,他们并不总是觉得自己配得上这个高职位。
- 设定模糊的目标,这些目标是“做好你的正常工作”的变体。当谈到年度评估时,他们的评级确实反映了目标的绩效,但目标本身是不可衡量或可实现的,这是不受欢迎的。
这些都不是理想的。如果您遇到过类似的情况,必须为软件开发人员创建有意义的、可衡量的目标,尽管有证据证明这些目标的有效性,那么哪种方法最适合您?
我发现的相关问题并不能完全解决同一点:
更新(2009 年 11 月 18 日):我的问题有 10 个赞成票,而评分最高的答案只有 4 个赞成票(包括我每个人的赞成票)。我认为这告诉我们一些事情:也许 Joel 和其他人是对的,stackoverflow 的综合智慧无法为开发人员提供任何令人信服的、可衡量的目标,而这些目标无法在不影响他们真正(不可衡量的)价值的情况下被玩弄。工作。不过感谢您的尝试!