这是一个很重要的问题,邹欣老师也专门写过一篇blog讨论这个问题http://www.cnblogs.com/xinz/archive/2011/05/01/2033927.html
首先,肯定不能像大锅饭时代一样,大家share一样的分数,这样的话根本无法激发大家的积极性。其次,也不能是PM一个人说的算,虽然PM最了解团队的情况。
我们需要的是科学的方法。根据这个问题,我们组的同学进行了激烈的讨论,下面就说一说我们讨论的结果。
我们可以从三个角度来看一个成员的贡献:团队内部的互相评分,团队外部其他同学和老师的评分,用户的评分和反馈。
1. 团队内部的互相评分
这一点应该占最大的比重,因为团队内部更清楚各个成员的贡献。
团队成员在一起合作完成一个项目的过程中,肯定会有很多的接触和了解,谁干的多,谁干的好,大家心里都清楚,所以团队内部的成员最有发言权。
我们觉得这部分的评分应该占到总评分的50%.
2. 团队外部其他同学和老师的评分
把我们的最终作品呈现给其他同学和老师,让他们来评价各个人工作的质量,这也是非常必要的。
很多事都是当局者迷,需要局外人来说一说公道话,这种评判方式更加客观可信。
为什么选择其他同学和老师呢?因为他们懂技术,懂软件开发,更能从专业的角度来评估。
我们觉得这部分的评分应该占到总评分的20%.
3. 用户的评分和反馈
用户永远是非常重要的,我们做的软件最终还是要给用户用,让用户受益,所以用户的反馈和评价有很大的价值。
比如说,如果用户反馈图书搜索很难用,自然负责图书搜索的同学应该承担一定的责任。
用户的反馈和评价是从用户的痛处和需求的满足出发的,与第二点正好是很好的互补。
我们觉得这部分的评分应该占到总评分的30%.
当然,这三种评价方式的每一种中又涉及很多细分的评价点,比如对于团队内部的相互评价,可以包括,完成任务的数量和质量,对于project的态度和投入,代码的质量和可维护性等等。当然也要考虑不同同学的背景不同,基础差别较大,“闻道有先后,术业有专攻”,不能对所有人一样要求,否则也会出现问题。
总之,“如何评价个人在软件团队中的绩效”是一个很复杂的问题,我们对于软件开发也是新手,也是在不断摸索中加强认识。相信通过team project, 我们会有更好的理解。