人们普遍认为,为软件开发人员设定可衡量的目标是行不通的,因为过分关注目标会导致行为与组织目标相反(所谓的" 测量功能障碍 ").
但是,在我的公司,我们需要为所有员工设定目标,并受到人力资源部门的鼓励,使其成为SMART.在过去,我的一级经理(团队领导)和我尝试了很多方法:
这些都不是理想的.如果您遇到类似的情况,即尽管有证据表明其有效性,软件开发人员必须创建有意义的,可衡量的目标,哪种方法最适合您?
我发现相关问题并没有完全解决同一问题:
更新(2009年11月18日):我的问题有10个upvotes,评分最高的答案只有4个upvotes(包括我的一个).我认为这告诉我们一些事情:或许Joel和其他人都是正确的,而且stackoverflow的综合智慧无法为开发人员提出任何令人信服的,可衡量的目标,这些目标无法在不对其真实(不可测量)价值产生负面影响的情况下进行游戏.工作.谢谢你的尝试!
Chr*_*isW 21
什么方法最适合你?
只有一个目标:通过代码检查/同行评审,我作为评论员,没有发现任何错误或有任何其他批评,我要求你重做一些东西.
笔记:
Bid*_*ids 14
我个人尝试设定两种目标:
以业务为中心的目标(这就是我们毕竟获得报酬的原因).例如,"在2009年6月1日之前完成项目X").这些目标经常在团队的几个成员之间共享(他们都知道这一点).团队可以通过提前启动项目或超出所需功能来超越目标.个人可以通过产生更多功能,减少对他们的错误,或指导和支持团队的其他成员来超越目标.
个人成长目标,例如完成涉及开发人员希望添加到其技能组合中的技术的项目,更好地了解用户的领域,获得领导经验等.
我觉得重要的是:
最后,我会远离软件指标作为目标 - 它们太容易游戏,可能无法满足您的需求.我只会使用一个指标来指导某人进出特定行为.
这一切都归结为"一级管理"这一事实,而且大多数管理层都不了解他们的员工.不是参与实际的日常规划和开发,而是像SMART这样的东西出现了.如果管理者要花更多的时间与那些从事实际工作的人一起工作,那么这一切都不需要.
就个人而言,我更喜欢在敏捷的环境中工作,显然开发人员在生产力和质量意识方面表现出色.真正的敏捷方法不仅要求开发人员,还要包括设计人员,测试人员,客户和产品经理.从管理者的角度来看,这自然会带来更好的见解.
到目前为止我看到的可衡量目标:
如果他们对个人发展有一些想法可以用于目标,那么直接向开发人员询问怎么样?
必须为开发人员设定目标,即使它们不起作用
如果你的开发人员不工作,也许有些目标是只是他们需要给他们一些鼓励呢?;-)