您如何在配对编程环境中展示性能?


15

最近我的工作中进行了绩效评估,我的职位很有趣。我们的团队进行了大量的结对编程,这倾向于平均化团队成员之间的技能差异(尤其是考虑到轮换对)。通常,在进行绩效评估时,您会回顾已完成的工作,并展示您已完成的工作以及如何超出期望以协商加薪或其他收益。

您如何在这样的环境中展示(甚至衡量)个人表现?


1
我会跟踪自己的工作。仅在与同伴交谈后解决问题时,我才会给予表扬。
Ramhound

我不知道答案...而且我知道在某些工作场所中,一对夫妇中的每个成员都试图为一切功劳都存在潜在的问题。第二个成员尝试诚实地为某些事情赢得荣誉时,他们可能会变得怀疑,因为这对两个成员的成就不可能都应得到两个成员的认可。
FrustratedWithFormsDesigner

Answers:


13

在性能评估中包括您添加到结对编程中的值-您是否帮助其他程序员学习了有用的东西?(反之亦然,您听了他/她的圣贤建议并很好地合作了吗?)

绩效评估不应该是竞争,而应该是相对于您的个人目标的教练评估(大概与公司目标一致并且在年初就相互达成了共识;否则就很随意)


3
+1,但是当您的下一次加薪取决于绩效评估时(如“薪水”所暗示的那样),就很难创建一种“相对于您的个人目标的教练评估”那种环境。
nikie 2011年

1
@nikie:在我曾经工作过的许多地方,个人目标都是在年初开始讨论的,绩效评估是在年底根据这些目标进行的。在我曾经工作过的许多其他地方,绩效评估完全不需要您的投入。在我曾经工作过的一些地方,曾多次承诺要进行绩效评估,但根本没有做过。一次,我被告知要填写我自己的绩效评估文件,因为管理层“太忙了”!
Steven A. Lowe

2

很难确切地证明一种性能优于另一种性能。

您的假设是结对编程可提高开发人员性能并提高质量。您的测试将涉及给出一对约束于特定体系结构的需求,并使其实现。

在这种情况下,您的控制权是向具有相同地位,技能和经验的单一开发人员(由其同行客观地判断)赋予相同的要求,并且将其限制在同一体系结构内。

为了验证您对时间性能的假设,结对程序员必须在少于控件一半的时间内完成他们的工作。要验证您的质量假设,您必须让客观的第三方审查实验对和控制代码,并且让客观的质量检查小组测试两组的结果,而不要告诉他们哪个团队生产了什么。结对编程组必须具有更好的代码和更少的错误。

这不是一个完美的实验,但是如果有人尝试过类似的尝试,我将着迷。

但是除此之外,我看不到如何才能证明配对编程在给定功能上优于单个程序员。


有趣的实验,但我并不是要比较个人表现与结对编程;我问在结对编程环境中,您如何衡量个人的影响?
NT3RP

1
也许这只是一个糟糕的指标?如果公司主要利用结对编程,那么从经理的角度来看,准确确定特定程序员的影响的能力将大大降低。我可以看到,很难公平地进行年度绩效评估。
maple_shaft

我同意这可能是一个糟糕的指标,但是不幸的是我们不得不忍受它:)
NT3RP 2011年

2

在您的绩效指标中,分别指出1)个人成长和发展,以及2)指导和同伴支持。让每位员工进行自我评估,并纳入他们的领导反馈。如果在您的公司文化中有意义,请考虑同行评议或推荐。

如果做得正确,从配对中获得最大教育价值的员工将因其长期为团队做出贡献的能力而获得奖励,而帮助他们快速发展的员工也将因知识和经验的转移而获得奖励。处于中间位置的人(学习新领域,而不仅仅是从初级到高级学习)会得到方程式两端的认可。

在实践中,在最佳情况下对个人表现进行评分是很棘手的。不产生某种怨恨或竞争的感觉很难做到。但是,如果您评估个人对团队的贡献,并且珍惜学与教,那么很有可能使它在工作中减少一些摩擦。


2

货币对经常交换吗?如果是这样,您可以使用匿名评论来提出一个量规。例如,如果人A说B完成了60%的工作,人C说B完成了30%的工作,而人D说B完成了90%的工作,则您可以将其平均分配给人B 60%的工作。如果B人在他的配对中完成的工作具有100分的相对系数,那么B人进行了60分的工作!

但是,这并不完美。人们可能会给自己比别人更多的信用,因此您可能需要在计算时考虑到这一点。这也可能导致一对夫妇互相怀疑的环境。不喜欢与之共事的人等也可能会移动计算。


1

我说,如果我们两个人一起创建X,那么我们两个人都因完成和部署X而获得赞誉。您可能会有问题的是,一对中的一部分根本不工作。在这种情况下,经理应该一直被告知这一点,因此在填写他对绩效评估的意见时应该使用该反馈。


1

您正处于我的老师让我们的学生进入我们的游戏开发课程的确切情况。我们结对了(2人,3人或4人,具体取决于班级人数和项目规模),最后,我们被告知要评估每个团队成员和我们自己与项目的关系以及完成的工作以及其他团队的整体项目。基于这些评估制定等级。

在团队制定过程中,老师会故意将一个强壮的程序员和一个弱小的程序员放在一起,希望他们能够互相帮助和/或互相帮助,但是在99%的时间里,弱小的程序员会滑过而几乎不做任何工作或没有做他们在做什么并不知道(这是高级课程,非常令人沮丧)。

评估本来应该是私人的,但只能说,有些人不再与每个人一起工作。


1

结对编程意味着一个人思考应该怎么做以及应该如何做,而另一个人则扮演着编码猴子。然后在某个时候他们切换(一个人感到无聊,疲倦等)。很好,因为两者的活动都不会中断。

有些人也将其视为“类固醇法规审查”。您将获得经过审查的代码,这应该意味着更高的质量。


1

好问题。重要的不仅是您的贡献,还在于您的同龄人如何看待您的贡献。向他们询问坦率的反馈,因为正是这种反馈可以帮助您成为更好的“一切”。认真地讲,同龄人了解您的贡献很重要,并且只有在与您配对时他们有相当多的学习知识时,他们才能了解您的贡献。快乐的编码,共享和学习,从而带来丰厚的收入。


0

结对编程的缺点是,在短期,中期,经验丰富的程序员生产力只能受限于经验最少的程序员生产力。从长远来看,初级开发人员可以提高经验和生产率。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.