三个阶段分别显示进度时,直接平均百分比不一定符合总体工作预算。为每阶段事先设定权重,可以把不同规模的阶段放在同一个总进度模型里比较。
下面是一组独立的虚构游戏输入与逐步结果。先记录单位、编号和端点是否包含,再尝试自己推算,最后对照第一处差异。所有结论都以本例规则为前提;其他作品采用不同约定时,应按它自己的说明重新计算。
三个阶段各有正的权重与总工作数,快照给出完成数,均在零到总数之间。总进度是各阶段完成比例乘权重后的和,再除总权重;各快照独立,不假定权重代表真实剩余时间。
权重[5, 5, 2],总工作[16, 10, 13] [[0, 0, 0], [16, 10, 13], [2, 1, 5], [9, 8, 12], [0, 10, 3], [2, 0, 13], [16, 6, 1], [11, 10, 2], [9, 9, 2], [7, 10, 2], [10, 5, 12], [13, 1, 11]]
完成数[0, 0, 0],各比例['0', '0', '0'],已兑现权重['0', '0', '0'];除总权重12得0,简单平均为0。
完成数[16, 10, 13],各比例['1', '1', '1'],已兑现权重['5', '5', '2'];除总权重12得1,简单平均为1。
完成数[2, 1, 5],各比例['1/8', '1/10', '5/13'],已兑现权重['5/8', '1/2', '10/13'];除总权重12得197/1248,简单平均为317/1560。
完成数[9, 8, 12],各比例['9/16', '4/5', '12/13'],已兑现权重['45/16', '4', '24/13'];除总权重12得1801/2496,简单平均为2377/3120。
完成数[0, 10, 3],各比例['0', '1', '3/13'],已兑现权重['0', '5', '6/13'];除总权重12得71/156,简单平均为16/39。
完成数[2, 0, 13],各比例['1/8', '0', '1'],已兑现权重['5/8', '0', '2'];除总权重12得7/32,简单平均为3/8。
完成数[16, 6, 1],各比例['1', '3/5', '1/13'],已兑现权重['5', '3', '2/13'];除总权重12得53/78,简单平均为109/195。
完成数[11, 10, 2],各比例['11/16', '1', '2/13'],已兑现权重['55/16', '5', '4/13'];除总权重12得1819/2496,简单平均为383/624。
完成数[9, 9, 2],各比例['9/16', '9/10', '2/13'],已兑现权重['45/16', '9/2', '4/13'];除总权重12得1585/2496,简单平均为1681/3120。
完成数[7, 10, 2],各比例['7/16', '1', '2/13'],已兑现权重['35/16', '5', '4/13'];除总权重12得1559/2496,简单平均为331/624。
完成数[10, 5, 12],各比例['5/8', '1/2', '12/13'],已兑现权重['25/8', '5/2', '24/13'];除总权重12得259/416,简单平均为71/104。
完成数[13, 1, 11],各比例['13/16', '1/10', '11/13'],已兑现权重['65/16', '1/2', '22/13'];除总权重12得1301/2496,简单平均为1829/3120。
零快照的总进度为零,全部完成为一;中途快照由明确的阶段权重决定。
把每个阶段的完整权重看成它在总预算中的份额,先算已兑现多少份额再相加。全部为零应为零、全部完成应为一;各阶段同一完成比例时总值也应相同。
加权进度不是精确倒计时。若真实阶段工作量临时增加,原先固定权重就可能失去代表性;本例不自动重估权重。简单平均只在权重相等或某些巧合的快照下与本例结果相同。
测试时先保留输入和中间状态,再只改变一个条件。空状态、正好相等、重复出现和最后一步都值得单独检查。若最终结果不符,应从第一处偏差查起,而不是在末尾随意增加补偿让数字表面一致。