项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2023年北航敏捷软件工程 |
这个作业的要求在哪里 | 团队项目-个人贡献分分配规则 |
我们在这个课程的目标是 | 熟悉敏捷开发的方法论,并通过实际开发产品进行实践。 |
这个作业在哪个具体方面帮助我实现目标 | 通过协商讨论团队贡献分的分配方式,在团队内达成共识,提高团队的凝聚力并科学评估和衡量成员的贡献。 |
Author: MOSS队
Date: 2023.03.11
Part 0 前期调研、分配原则与协商方案
前期调研
在开会协商讨论前,我们调研了过去较为成功的队伍如CodingNoBorder、大本钟下你和我等队伍的贡献分分配方案,通过对其批判性思考与凝练共同点确定了基本分配原则和方案大纲(将在下面分配原则详细介绍),保证了方案的提出既有秩序(不会彼此矛盾冲突),又有一定限度的自由。
分配原则
- 个人分数由基础分+奖励分组成,成员总分为 50 × 7 = 350 50 \times 7 = 350 50×7=350
- 基础分性质为按照正常流程在预期内完成分配的工作,对于不同阶段的工作分配分数比例
- 对于不良行为如未提前说明的情况下延迟交付等,制订扣除基本分的惩罚规则,扣除的基本分进入奖励分
- 对于额外的良好行为如遇到突发情况时帮助成员完成不属于本职范围的工作,制订分配奖励分的奖励规则
- 基础分和贡献分分配比例为 7 : 3 7:3 7:3或 8 : 2 8:2 8:2【待表决】
协商方案
每位成员在会议前完以下工作:
-
可以提出的规则分为三类,第一类是扣除基本分的惩罚规则(下面简称惩罚规则),规则需要包括定义满足基本要求的表现(不扣分),不满足基本要求的表现以及对应应当扣减的分数(有严重程度不同的,需要给出不同程度扣分比例);第二类是分配奖励分的奖励规则(下面简称奖励规则),规则需要定义什么情形应当奖励分数以及奖励比例;第三类是其他规则,如CodingNoBorder队去年的团队之星规则等,不限制规则范围。
-
每位成员需完成至少6个单位的规则提出,其中,主动提出一条其他规则记为3个单位,主动提出一条惩罚/奖励规则记为2个单位,赞同别的成员提出的规则记为1个单位
Part 1 开会表决
基础分和贡献分分配比例表决
大家一致同意使用 8 : 2 8:2 8:2的分配比例,即每人初始分数 40 40 40分,团队贡献分池初始 10 × 7 = 70 10 \times 7=70 10×7=70分。
贡献分池
由于奖励和惩罚产生的分数效应是动态的,因此贡献分总数整体是变化的。大家一致同意使用贡献分池的概念,即,因惩罚等进入贡献分的分数会累加在贡献分池,而平常大家获得的是贡献分点数,在项目结束时按照每位成员在团队总点数的占比按比例获得贡献分。初步地,我们计划使 1 1 1工作小时等价于 1 1 1奖励点数
具体地,七位成员在项目结束时每人的贡献分点数是
x
1
,
x
2
,
⋯
,
x
7
x_1, x_2, \cdots , x_7
x1,x2,⋯,x7,贡献分池中分数是
s
c
o
r
e
_
t
e
a
m
score\_team
score_team,那么第
i
i
i名成员得到的贡献分
s
c
o
r
e
_
i
score\_i
score_i最终为:
s
c
o
r
e
_
i
=
x
i
∑
i
=
1
7
x
i
×
s
c
o
r
e
_
t
e
a
m
score\_i = \frac{x_i}{\sum_{i=1}^{7}x_i} \times score\_team
score_i=∑i=17xixi×score_team
奖励规则
额外工作量加分
对于完成本职工作之外的工作的成员,给予奖励点数的分配,设每周成员实际工作时间为
S
i
(
1
≤
i
≤
7
)
S_i(1 \le i \le 7)
Si(1≤i≤7),记
S
‾
=
∑
i
=
1
7
S
i
7
\overline{S}=\sum_{i=1}^{7}\frac{S_i}{7}
S=∑i=177Si,则第
i
i
i个成员对应奖励贡献分点数参考如下公式:
m
a
x
(
0
,
5
(
S
i
−
S
‾
)
)
max(0, 5(S_i - \overline{S}))
max(0,5(Si−S))
感谢信
团队内组织(如前端、后端)和个人可以对其他组织和个人发出感谢信,用于表达对其某方面工作的认可和感谢,每封感谢信会参考当期贡献分点数总数进行点数折算。
惩罚规则
无法按时保质交付
-
无法按时交付,未交付的部分会重新分配工作量的方案:根据重新分配时减少的工作量多少,本周基础分扣去 [ b a s e , 100 % ] [base, 100\%] [base,100%],扣去的基础分中 80 % 80\% 80%根据工作量分配给其他成员, 20 % 20\% 20%进入团队奖励分池。
-
若在工作初期向团队提出并形成重新分配工作量的方案,base 取 10 % 10\% 10%
-
若在工作中期向团队提出并形成重新分配工作量的方案,base 取 20 % 20\% 20%
-
若在工作后期向团队提出并形成重新分配工作量的方案,base 取 30 % 30\% 30%
-
若导致本工作周结束时任务未能完成,base 取 50 % 50\% 50%
-
-
开发不符合文档需求的开发模块,按比例扣减该模块对应基本分
不符合代码规范
若代码不符合团队事先协商确定的风格和规范(包括代码风格、commit规范、git管理等),按照比例扣减基础分,可以参考OO的check style寻找自动化风格测试工具。
长时间不回复消息
为了提高沟通效率,降低沟通障碍,尽可能减少关键节点,采用两个微信群(通知群&水群)联络,其中,若知道自己在未来某段时间内无法及时回复微信,应当在水群使用tag“【请假】姓名-时间段”进行报备。
具体地,规则如下:
除去12:00-14:00与23:00-次日7:00休息时间段以及每人的固定busy时段(包括上课、定期会议等),如果在指定即时通讯工具(微信),超过4个小时不回复工作消息,一次-1分。