最近我的工作中进行了绩效评估,我的职位很有趣。我们的团队进行了大量的结对编程,这倾向于平均化团队成员之间的技能差异(尤其是考虑到轮换对)。通常,在进行绩效评估时,您会回顾已完成的工作,并展示您已完成的工作以及如何超出期望以协商加薪或其他收益。
您如何在这样的环境中展示(甚至衡量)个人表现?
最近我的工作中进行了绩效评估,我的职位很有趣。我们的团队进行了大量的结对编程,这倾向于平均化团队成员之间的技能差异(尤其是考虑到轮换对)。通常,在进行绩效评估时,您会回顾已完成的工作,并展示您已完成的工作以及如何超出期望以协商加薪或其他收益。
您如何在这样的环境中展示(甚至衡量)个人表现?
Answers:
在性能评估中包括您添加到结对编程中的值-您是否帮助其他程序员学习了有用的东西?(反之亦然,您听了他/她的圣贤建议并很好地合作了吗?)
绩效评估不应该是竞争,而应该是相对于您的个人目标的教练评估(大概与公司目标一致并且在年初就相互达成了共识;否则就很随意)
很难确切地证明一种性能优于另一种性能。
您的假设是结对编程可提高开发人员性能并提高质量。您的测试将涉及给出一对约束于特定体系结构的需求,并使其实现。
在这种情况下,您的控制权是向具有相同地位,技能和经验的单一开发人员(由其同行客观地判断)赋予相同的要求,并且将其限制在同一体系结构内。
为了验证您对时间性能的假设,结对程序员必须在少于控件一半的时间内完成他们的工作。要验证您的质量假设,您必须让客观的第三方审查实验对和控制代码,并且让客观的质量检查小组测试两组的结果,而不要告诉他们哪个团队生产了什么。结对编程组必须具有更好的代码和更少的错误。
这不是一个完美的实验,但是如果有人尝试过类似的尝试,我将着迷。
但是除此之外,我看不到如何才能证明配对编程在给定功能上优于单个程序员。
在您的绩效指标中,分别指出1)个人成长和发展,以及2)指导和同伴支持。让每位员工进行自我评估,并纳入他们的领导反馈。如果在您的公司文化中有意义,请考虑同行评议或推荐。
如果做得正确,从配对中获得最大教育价值的员工将因其长期为团队做出贡献的能力而获得奖励,而帮助他们快速发展的员工也将因知识和经验的转移而获得奖励。处于中间位置的人(学习新领域,而不仅仅是从初级到高级学习)会得到方程式两端的认可。
在实践中,在最佳情况下对个人表现进行评分是很棘手的。不产生某种怨恨或竞争的感觉很难做到。但是,如果您评估个人对团队的贡献,并且珍惜学与教,那么很有可能使它在工作中减少一些摩擦。