Loading

团队贡献分分配规则

为了满足课程对贡献分分配的几个要求:

  • 评分以团队成员的实际贡献为基本依据
  • 分数为自然数
  • 每个人分数不能相同
  • 团队所有成员分数的总和为50*N,其中N为团队的人数。

我们设定了工作过程中的总分数 \(P_{total}\),和最终的贡献分 \(P_{contribution}\),以及两者之间的换算关系。

总分数

我们将每个人的分数分为了基础分部分(\(P_{base}\)),奖励分部分(\(P_{bonus}\)),惩罚分部分(\(P_{punish}\))(为负值),最后得到的总分数(\(P_{total}\))定义为 \(P_{total}=P_{base}+P_{bonus}+P_{punish}\)

基础分部分

对于每个人而言,我们将基础分定义为其所承担的任务的任务量(\(Task/T\)),难度(\(Difficulty/D\)),完成度(\(Completion/C\))经过公式计算后的结果:\(P_{base}=T*(1+D)*C\)

对于不同的工作岗位,我们给出对此三项的详细说明如下:

工作岗位 任务量(\(T\) 难度(\(D\) 完成度(\(C\)
开发 会议对开发的预估时长(\(T_1\)
真实开发时长(\(T_2\)
开发时的学习成本对应的难度系数(0、1、2) 完成度自评(\(C_1\)
完成度PM评价(\(C_2\)
测试 会议对测试的预估时长(\(T_1\)
真实测试时长(\(T_2\)
测试时的学习成本对应的难度系数(0、1、2) 完成度自评(\(C_1\)
完成度PM评价(\(C_2\)
PM 撰写博客所用时长(\(T_3\)
组织会议所用时长(\(T_4\)
固定难度系数(1) 完成度自评(\(C_1\)
完成度PM评价(\(C_2\)
公式 \(T=(T_1+T_2)*0.5+T_3+T_4\) \(D=\begin{cases}0\quad 学习过相关知识\\1\quad 需要查询相关资料,资料充足\\2\quad需要深入查询相关资料或求助\end{cases}\) \(C=\frac{C_1+C_2}{2}\)               
\(C_i=\begin{cases}0.6\quad基本完成功能,细节未达预期 \\0.8\quad 完成功能,部分细节待优化\\1.0\quad 完成全部功能,程度完美\end{cases}\)

举例:我们为A同学分配了一个预估时长6h预期难度系数1的任务,由于存在其他DDL,A同学做得比较仓促,虽然完成了功能,但是细节需要打磨自评PM评价都为0.8。那么A君的最终得分为:\(6*(1+1)*0.8=9.6\)

奖励分部分

我们设置了一个激励机制,对于对其他同学有较大帮助的同学予以奖励:

在 Alpha、Beta 阶段结束后,每名同学有两票可以投给队友。投票的原则是,投给对自己帮助最大的两名同学,原因可以是帮助自己解决了任务过程中的重要问题,也可以是代码风格值得自己学习,或是教会了自己一些技巧等等。

\(P_{bonus}=\sum得票数*10\)

惩罚分部分

我们设置了一个惩罚机制,对于任务完成情况不佳的同学,我们会予以惩罚:

有以下指标:延期时间 \(t\)(/h),截止时完成度 \(C_d\)(原则上不超过 \(0.5\)),未完成系数 \(U\)

  1. 遇到大坑,在群里询问以及向PM汇报之后仍未解决,可以申请延期,未完成系数为 \(1\)
  2. 分配任务后,临时有事无法完成个人任务,未完成系数为 \(2\)
  3. 由于修复测试bug导致任务延期,未完成系数为 \(1.5\)

\(P_{punish}=-t*\frac{5}{6}*(0.6-C_d)*U\)

总分

为了阅读的流畅性,我们在此再次给出总分的计算规则:\(P_{total}=P_{base}+P_{bonus}+P_{punish}\)

贡献分

我们将贡献分与总分的换算规则设定如下:(我们会将总分进行从小到大的排序,下标 \(i\) 表示其顺序,从 \(1\) 开始,\(arg\) 函数用于取下标)

\(P_{contribution}[i]=\underbrace{-4}_{偏移量}+\underbrace{arg(P_{total}[i])}_{贡献分指标}+\underbrace{50}_{基础贡献分}\)

posted @ 2021-04-21 00:51  谜语人队  阅读(443)  评论(0编辑  收藏  举报