MzzTxx——团队贡献分分配方案
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2021春季计算机学院软件工程(罗杰 任健) |
这个作业的要求在哪里 | 团队贡献分分配规则制定 |
我在这个课程的目标是 | 进一步提升工程化开发能力,积累团队协作经验,熟悉全栈开发流程 |
这个作业在哪个具体方面帮助我实现目标 | 确定个人绩效计算模式,明确团队贡献考核标准 |
基本原则
对于一个小规模团队而言,贡献分分配的初衷在于保证每个人全过程参与的积极性,提升与巩固团队凝聚力,从而实现 1+1>2
的效果。要想做到这一点,一方面我们需要鼓励能者多劳,另一方面我们也会为每一个积极参与项目开发的成员提供基本的支持与认可。
本团队小组成员共 6 人,分数池中的总分为 6*50=300 分。在充分调研了前几届优秀团队项目(NAG, 路书, 拒绝VS)的贡献分分配方案后,我们团队经讨论后决定采用任务贡献分+团队奖励分的双轨制分配方案。
具体而言,初始时原分数池按 3:2 的比例划分为任务分数池与团队分数池,前者包含 180 分,且后期不会超过此上界;后者包含 120 分,且后期不会低于此下界。下面分别对这两部分的具体计算与分配方案加以说明。
任务贡献分计算方案
在团队开发过程中,整体的开发流程会被切割成一个个的子任务,并通过 GitLab 的 issue、milestone 等形式发布。每个子任务在发布同时会给出该任务的综合评定分数 s,为预估所需时间 \(pt\) 与任务难度等级 \(ml\) 二者之积。其中,预估所需时间 \(pt\) 以小时为单位,任务难度等级按 1-5 档划分,不同类型任务的对应等级如下:
任务类型 | 难度等级 |
---|---|
会议记录 | 1 |
博客撰写 | 2 |
设计美化 | 3 |
开发环境部署 | 3 |
测试环境搭建 | 3 |
数据爬取 | 5 |
代码开发 | 5 |
单元测试 | 4 |
集成测试 | 4 |
而预估时间则由PM与相关开发人员协商一致后在任务分配前确定。
即对于单个子任务,其相对分值 \(s_p\) 计算方式为:
每个子任务的 \(s_p\) 值一经确定,在后续开发过程中,除极特殊情况(此时将交由全组商议)外,原则上不再允许更改。每个子任务由一名组员独立完成,只要达标,则该任务的全部分值即归该名成员所有。
当全部开发过程结束后,所有子任务的真实分值 \(s_t\) 将基于其 \(s_p\) 值加权得到,其计算方式为:
而另一方面,考虑到任务分配与任务完成之间存在一定的 gap,因此为进一步保证核算过程的公平公正,我们还引入了对每个任务的具体完成情况的评价指标 \(w\),该指标由准时性与完成质量共同决定,初始值为 0.8,视具体完成情况上下浮动(不超过 1)。其评判标准如下:
评价维度 | 评价等级 | 浮动值 |
---|---|---|
提前完成 | +0.1~0.2 | |
准时性 | 准时完成 | +0.0 |
超时 | -0.1~0.2 | |
优秀(界面美观、代码风格良好无明显bug) | +0.1~0.2 | |
工作质量 | 良好 | +0.0 |
较差(界面未达到设计要求,代码不可读或bug较多) | -0.1~0.2 |
最终每名组员获得的实际得分 \(s\) 为
注意到在该种计算方式下,任务分配得分池中最终可能会存在一部分未分配的分数,该部分分数将自动划入团队得分池。
在实际的团队任务分配中,一方面我们将鼓励组员们自行认领各任务,一方面我们也会尽最大可能确保所有队员实际领到的全部任务的相对分值之和尽量接近,从而实现项目整体的良性运转,避免组内出现工作压力不均衡的情况。
团队奖励分计算方案
团队奖励得分池初始总分为 120 分,后续可能会有所增加,增加的部分将全部划入互评得分中。该部分的构成如下所示:
分数类型 | 对应总分值 |
---|---|
互评得分 | 54(↑) |
考勤奖励分 | 54=6*9 |
团队整体贡献分 | 9 |
团队之星 | 3 |
下面将分别对各部分计算及分配方式进行详细说明。
互评得分
打分方式
采用匿名问卷的形式进行,在 Alpha、Beta 阶段各自的开发中期与开发结束时各发放一次,总共发放四次,取四次分数的均值作为最终评分。每次打分时,每名成员均按照 10 分制对其余成员打分,对自己的打分分数无效。
评估策略
统计四次得分情况后,将得到 5*5 的分数矩阵 M,该矩阵的对角线元素均为 0。此时我们将利用 pagerank
算法计算并得到M的特征值向量,以衡量各节点中心性,并以此作为各成员最终互评部分得分的相对权重。
最终各组员的实际得分即为互评总分与其相对权重之积。
考勤奖励分
该分数的计算采用倒扣法,即初始时所有成员的得分均为满分 9 分。若有一次小组会议无故请假没有参与,则将倒扣 1 分;所有扣分都将最终划入互评得分的总分中。
团队整体贡献分
该部分分数采用直接分配法实现,主要用于奖励在团队开发过程中为团队整体做出贡献的个人,其衡量标准包括但不限于以下几点:
- 帮助团队其他成员完成相应的任务,该受到帮助的成员可根据帮助程度申请对帮助者的奖励
- 为团队整体项目的顺利推进做出了关键性贡献,例如公关宣传、关键技术或模块的搜集和分享等
每次奖励的分值为 1-2 分,由于总分有限,故将在开发结束后进行统一分配,剩余部分将划入互评得分的总分中。
团队之星
在项目开发全部结束后,将进行团队内部的公开推荐,并评选出对团队整体贡献最大的一名成员,该成员即可获得“团队之星”的荣誉以及对应的 3 分奖励分。
原则上,获得团队之星的成员将不再参与团队整体贡献分的分配。