研发可预测性可以用三个指标来观察:预测误差看承诺准不准,计划偏差看计划稳不稳,交付稳定性看多个周期结果齐不齐。三者只有共用同一套统计单元、时间窗和完成定义,结果才能横向比较、逐期复算。本文给出可直接套用的口径、字段、公式与季度算例,并说明结果如何进入计划评审与复盘。指标用于发现计划可靠性问题,不宜直接当作团队绩效结论;ONES可用于承载需求与迭代状态记录、变更留痕和度量报表。
要点总览(TL;DR)
- 预测误差看承诺准不准,用周期内实际交付量与承诺预估量的绝对偏差率衡量,汇总时按承诺量加权,避免小周期被放大。
- 计划偏差看计划稳不稳,分范围偏差率与排期偏差天数两个维度,依赖周期开始时的计划基线和变更留痕。
- 交付稳定性看多周期结果齐不齐,用完成率序列的标准差或变异系数衡量,周期数少于三个时只报告各期完成率。
- 三个指标必须共用同一统计单元、时间窗、完成定义和口径版本,否则数值差异可能来自口径而非实际表现。
- 指标适合作为计划评审与复盘的事实依据,不宜直接作为绩效结论;建议用自身历史基线看趋势,不套用通用达标线。
评估目标:可预测性要回答哪三个问题
研发可预测性度量的核心,是判断“我们说过要做的事,是否按说好的范围和时点做成了”。这个问题可以拆成三个相互补充的子问题,分别由三个指标承担。
| 指标 | 回答的问题 | 观察对象 | 典型用途 |
|---|---|---|---|
| 预测误差 | 承诺准不准 | 承诺时点的预估交付量与实际交付量的偏离 | 评估承诺质量,校准估算习惯 |
| 计划偏差 | 计划稳不稳 | 周期内范围与排期的变动幅度 | 识别计划频繁变更的来源 |
| 交付稳定性 | 结果齐不齐 | 多个周期完成率序列的一致程度 | 判断交付节奏是否可依赖 |
三者存在递进关系。计划偏差大,说明周期内范围或日期反复调整,预测误差往往随之放大;预测误差持续偏高,多个周期的完成率就会忽高忽低,交付稳定性随之下降。反过来,稳定性好但预测误差大,说明团队每期都稳定地完成同样比例,但承诺量本身定得脱离实际,问题出在承诺环节而非执行环节。因此三个指标应一起看,单看一个容易得出片面结论。
这套指标主要用在三个场景:迭代计划评审时对照上期预测误差,判断本期承诺量是否需要调整;发布承诺前查看计划偏差历史,评估承诺日期留有多少缓冲;季度复盘时用交付稳定性序列判断整体节奏,并定位波动集中的周期。本文聚焦计划可靠性的度量设计,单次迭代内的任务执行过程属于迭代管理范畴,计划与实际投入工时的偏差属于投入分析范畴,均不在本文展开。
指标与范围:统计单元、时间窗与完成定义
三个指标要能互相印证,前提是口径统一。设计指标前先把以下四项固定下来,形成书面口径并在每次统计时沿用同一版本。
| 口径要素 | 可选方案 | 选择建议 |
|---|---|---|
| 统计单元 | 需求、用户故事、工作项 | 选与承诺颗粒度一致的一级,全篇及三个指标保持一致,不混用 |
| 时间窗 | 按迭代、按发布、按季度 | 与承诺节奏匹配;按迭代承诺就用迭代窗,按发布承诺就用发布窗 |
| 完成定义 | 进入某状态、通过评审、上线 | 明确一个可判定的状态作为“算交付”,跨团队交接以接收方确认状态为准 |
| 纳入与排除 | 取消、拆分、合并、跨周期顺延 | 逐类写明处理规则,规则一旦确定不随周期临时更改 |
统计单元建议选择需求或用户故事,因为承诺通常在这一层级做出;若团队以工作项为承诺单位,则三个指标全部改用工作项,不在预测误差用需求、稳定性用工作项。时间窗要与承诺节奏对齐:如果团队按迭代做承诺,就以迭代为周期计算;如果对外按发布承诺,则以发布为周期。混用两种时间窗会让预测误差和交付稳定性失去可比性。
完成定义要落到一个具体状态,例如“已验收”或“已上线”,并明确跨团队交接的计法:由接收团队确认接收后才计入交付,还是由交付方标记完成即计入。两种做法都可以,但必须全篇统一。纳入排除规则需要覆盖四类情况:周期内取消的单元从承诺量中剔除并记录;拆分的单元按拆分后的子项分别计入,避免一拆多导致承诺量虚增;合并的单元按合并后的一项计入;跨周期顺延的单元在原周期计为未完成,在新周期重新计入承诺,不顺延修改原周期数据。
数据口径与证据:每个指标取哪些字段
三个指标都依赖可追溯的原始记录。字段设计的原则是:承诺时点的数据要留快照,变更要留记录,这样任何一期结果都能回到原始记录复算。
| 指标 | 所需字段 | 证据来源 |
|---|---|---|
| 预测误差 | 承诺时点的预估交付量、周期末实际交付量、承诺日期 | 周期开始时的计划快照、周期结束时的完成记录 |
| 计划偏差 | 基线范围与基线日期、周期内范围变更记录、日期变更记录 | 计划基线、变更日志(含变更时间与原因) |
| 交付稳定性 | 各周期承诺量与实际完成量序列 | 逐周期的计划与完成汇总 |
预测误差的关键是“承诺时点的预估量”必须有快照。如果只保留周期末的最终计划,事后无法区分是估算不准还是中途改了计划,预测误差就失去意义。计划偏差依赖基线:周期开始时锁定一版范围和日期作为基线,之后每次范围增减、日期调整都记录变更时间、变更前后值和原因。交付稳定性只需要逐周期的承诺量与完成量两个数,但要求这些数按同一口径连续记录,中间断档的周期要标注,不能跳过。
缺失值和口径变更要单独处理。某周期数据缺失时,在序列中标注为缺失并说明原因,不用零填充,因为零会同时拉低完成率均值、放大离散程度,扭曲稳定性结果。口径发生变更时(例如统计单元从需求改为工作项),记录口径版本号和生效周期,新旧口径的数据分段统计,不直接拼接成一条序列比较。
计算步骤:三个指标的公式与分母处理
以下公式均以单个周期为计算单位,再按需汇总。所有偏差取绝对值或平方,避免正负偏差互相抵消。
预测误差
按周期计算绝对偏差率:
预测误差率 = |实际交付量 − 承诺预估量| ÷ 承诺预估量 × 100%
分子取绝对值,单位是统计单元个数,结果以百分比呈现。若关心偏差方向(普遍高估还是低估),可另算带符号的偏差率作为辅助,但主指标用绝对值。多个周期汇总时,用各周期绝对偏差之和除以各周期承诺量之和,即加权平均,不对各周期百分比做简单平均,避免小周期被过度放大。
计划偏差
计划偏差分范围与排期两个维度:
范围偏差率 = 周期内变更的统计单元数 ÷ 基线范围单元数 × 100%
排期偏差天数 = |实际交付日期 − 基线承诺日期|,按单元计算后取平均或取中位数
范围偏差率统计周期内新增、移除、替换的单元数量,同一单元多次变更按一次计。排期偏差按天计,取绝对值后汇总;若多数单元按期交付、少数严重延期,平均值会被拉高,此时同时给出中位数更能反映典型情况。
交付稳定性
交付稳定性用多个周期完成率序列的离散程度衡量:
周期完成率 = 实际完成量 ÷ 承诺量 × 100%
交付稳定性 = 各周期完成率的标准差(或变异系数 = 标准差 ÷ 平均完成率)
标准差单位是百分点,变异系数无量纲,便于不同承诺规模的团队比较。周期数少于三个时,离散程度不足以说明问题,只报告各期完成率,不计算稳定性指标。
边界处理规则
- 分母为零:某周期承诺量为零时,该周期不计算预测误差率和完成率,在序列中标注“无承诺”,不参与汇总。
- 样本过少:周期数少于三个不计算交付稳定性;单周期只有一两个单元时,预测误差率波动极大,建议合并相邻周期或标注样本量。
- 正负偏差抵消:预测误差和排期偏差一律取绝对值或平方后再汇总,不用带符号偏差直接求平均。
- 极端值:单个周期出现远超常规的偏差时,保留原始值并单独说明,不擅自剔除,剔除规则需事先书面约定。
算例:一个季度的三个指标怎么算出来
以下为一组假设数据,用于演示计算过程,不代表任何真实团队水平。某团队按迭代承诺,一个季度含六个迭代,统计单元为需求。
| 迭代 | 承诺预估量 | 实际交付量 | 基线范围单元数 | 范围变更单元数 | 完成率 |
|---|---|---|---|---|---|
| 迭代1 | 20 | 16 | 20 | 2 | 80% |
| 迭代2 | 20 | 19 | 20 | 1 | 95% |
| 迭代3 | 22 | 15 | 22 | 5 | 68% |
| 迭代4 | 18 | 17 | 18 | 1 | 94% |
| 迭代5 | 20 | 12 | 20 | 4 | 60% |
| 迭代6 | 20 | 18 | 20 | 1 | 90% |
预测误差:各迭代绝对偏差分别为4、1、7、1、8、2,合计23;承诺量合计120。季度预测误差率 = 23 ÷ 120 × 100% ≈ 19.2%。
计划偏差:范围变更合计14,基线范围合计120,范围偏差率 = 14 ÷ 120 × 100% ≈ 11.7%。排期偏差需逐单元比对实际交付日期与基线日期,假设平均绝对偏差为3.5天、中位数为2天,则报告“平均3.5天、中位2天”。
交付稳定性:六个完成率为80%、95%、68%、94%、60%、90%,平均完成率约81.2%,标准差约13.6个百分点,变异系数约0.17。
从结果读出的问题:整体预测误差率接近两成,且集中在迭代3和迭代5;这两期的范围变更数也最高(5和4),说明范围中途扩张是预测失准的主要来源。完成率标准差偏大,波动主要由这两期拉低。改进方向应指向控制周期内范围变更、在承诺时预留缓冲,而非简单要求团队“更努力”。
解读与限制:指标能说明什么、不能说明什么
指标改善与真实交付能力提升是两件事。预测误差率下降,可能是因为承诺变得更保守,也可能是因为范围控制更严格,还可能是统计口径调整所致。解读时必须结合计划偏差和完成率序列一起看:如果预测误差下降的同时承诺量明显缩水,更可能是降低了承诺而非提升了能力。
跨团队、跨季度比较需要满足可比性前提:统计单元一致、时间窗一致、完成定义一致、口径版本一致。四个条件任一不同,数值差异就可能来自口径而非实际表现。即便条件一致,团队规模、需求性质、依赖外部方的程度不同,绝对值也不宜直接排名。
不建议设通用达标线。不同团队、不同阶段的合理区间差异很大,外部基准值往往缺少口径说明,直接套用会误导判断。更稳妥的做法是以自身前几个季度的数据建立基线,观察趋势方向和波动收敛情况,把“预测误差率连续两个季度下降且稳定性标准差收窄”作为改进有效的信号。
指标一旦被用于考核,填报行为就会变化:承诺量可能被刻意压低,范围变更可能被拆成新需求绕开统计,完成定义可能被放宽。这些规避行为会让指标看起来变好而实际问题依旧。因此指标应服务于计划改进讨论,作为复盘的事实依据,而非绩效结论的直接输入。
从指标到改进:把度量结果接入计划管理
指标产出后要落到具体的计划动作,否则只是一组数字。建议把三个指标嵌入两个固定节点。
迭代计划评审时,带入上一周期的预测误差率和范围偏差率。若预测误差率连续偏高,本期承诺量按历史偏差做折算,例如按近三期平均完成率调整承诺上限;若范围偏差主要来自中途插入,评审时明确本期范围冻结时点和插入需求的审批路径。季度复盘时,展示六个周期的完成率序列和稳定性指标,定位波动最大的周期,回溯该周期的变更记录,形成下季度的具体改进项,例如“承诺时预留两成缓冲”“范围变更需在迭代中期前提出”。
这些动作依赖两件事:承诺时点的计划快照,以及范围与日期变更的留痕。没有快照,预测误差无法复算;没有变更记录,计划偏差只能凭记忆估计。ONES可以在需求与迭代上记录状态流转,保留计划基线与变更历史,并通过度量报表按迭代或按季度汇总承诺量、完成量和变更情况,使上述公式有稳定的数据来源。把指标计算规则固化到报表口径中,每次评审直接取数,减少手工统计带来的口径漂移。
改进动作本身也要留记录:本期采取了什么措施、预期影响哪个指标、下期结果如何。这样度量与改进形成闭环,指标的变化才能对应到具体的管理动作,而不是停留在数字层面的涨落。
常见问题
统计单元中途从需求改成工作项,历史数据还能直接比较吗?
不能直接拼接成一条序列比较。口径变更时应记录口径版本号和生效周期,新旧口径的数据分段统计,各自计算指标后再分别观察趋势。如果确实需要跨版本对照,可以选取一段两种口径并存的周期做映射验证,确认两套统计单元之间的数量关系,再决定是否折算,并在报表中注明折算方式。
某个迭代承诺量为零,或者只有一两个需求,指标该怎么算?
承诺量为零的周期不计算预测误差率和完成率,在序列中标注“无承诺”,不参与汇总,也不用零填充。承诺量只有一两个单元的周期,偏差率波动极大,建议合并相邻周期统计或单独标注样本量,解读时说明该期样本过少,不据此判断趋势。
预测误差率下降,是否说明团队交付能力提升了?
不一定。预测误差率下降可能来自承诺更保守、范围控制更严格,也可能来自统计口径调整。判断时需要同时看计划偏差和完成率序列:如果预测误差下降的同时承诺量明显缩水,更可能是降低了承诺。建议把指标变化与当期采取的具体管理动作对应起来,再判断能力是否真的提升。
跨团队比较预测误差率或稳定性指标有意义吗?
只有在统计单元、时间窗、完成定义、口径版本四项一致时,数值才具备基本可比性。即便口径一致,团队规模、需求性质、对外部依赖程度不同,绝对值也不宜直接排名。跨团队场景更适合各自对照自身历史基线看趋势,把比较重点放在波动来源和改进动作上。
指标被用于考核后数据失真,怎么避免?
常见规避行为包括压低承诺量、把范围变更拆成新需求绕开统计、放宽完成定义。避免方式是把指标定位为计划改进的讨论依据,不作为绩效结论的直接输入;同时保留承诺快照和变更记录,让口径可追溯,复盘时对照原始记录核对,发现异常波动先查口径和填报行为,再讨论执行问题。
