第 65 个主题,共 91 个· 软件工程与数字化交付

WSJF 与 CD3

CD3(延迟成本除以时长,Cost of Delay Divided by Duration)与 WSJF(加权最短作业优先,Weighted Shortest Job First)是按价值密度来排定工作优先级的规则:每消耗一单位稀缺产能,能消除多少延迟成本。在共享且固定的产能下,按 CD3 从高到低排序,在数学上就是使总延迟成本最小化的最优顺序。

为什么重要

每一份积压需求清单本质上都是一个配给问题:许多值得做的条目,一条流水线。卫生经济学用成本效果排行榜解决了卫生预算领域的同一个问题——按每英镑获得的健康收益为各干预措施排序,从高到低依次资助,直到预算耗尽。CD3 对交付产能而言是完全相同的逻辑:按每单位受限资源所获得的效益,按排名顺序获得资助。把排序做对是免费的钱——同样的工作,同样的产能,总延迟成本却更低。

计算方法

CD3  = 延迟成本 (£/周) / 时长 (周)      — 真实货币单位(Black Swan Farming)

WSJF = (用户业务价值 + 时间紧迫性 + 风险降低/机会促成)
       / 作业规模                       — SAFe 的相对尺度代理指标,
                                        使用改良斐波那契数打分

以真实货币计量的 CD3(延迟成本)严格强于 WSJF 那套无单位的积分——WSJF 之于 CD3,正如多准则评分之于完整的成本效用分析:在无法货币化时可用,但在评分缺乏锚点时容易被操纵。

算例

三个功能,一个团队:

功能   CoD (£/周)   时长      CD3
A      30,000       10 周     3,000
B      12,000       2 周      6,000
C      5,000        1 周      5,000

CD3 排序:B、C、A。将其与"最大 CoD 优先"(A、B、C)的总延迟成本相比较:

CD3 顺序  (B,C,A):A 等待 3 周,C 等待 2 周 → 30k×3 + 5k×2  = £100k 延迟成本
CoD 顺序  (A,B,C):B 等待 10 周,C 等待 12 周 → 12k×10 + 5k×12 = £180k

同样的功能,同样的团队——仅凭排序就节省了 £80,000。其中的直觉是:小而紧急的条目先做,因为它们能以低廉的代价释放自身的延迟成本;而大条目只需短暂等待,损失并不大。

与软件工程的关联

对于医疗软件的产品组合而言,用本仓库所教授的单位来表示 CoD:QALY/周 × 阈值 + 运营 £/周,这样积压需求清单就能与卫生系统对其他一切采购项目的排序方式直接可比。两点实践提示:(1) 时长指的是占用瓶颈资源的日历时间,而不是工作量本身——一个日历上历时 2 周、但只需要瓶颈团队 2 天投入的条目,实际代价比看起来要低(参见下游资源优化);(2) 医院在按紧急程度加权吞吐量排定手术室日程时,隐含地遵循着同一条规则——临床优先级分类本质上就是按严重程度加权的 CD3(参见 QALY 短缺与严重程度调整系数)。

陷阱

  • WSJF 评分表演:无单位的斐波那契打分之争,最终往往由嗓门最大的人说了算;至少应把积压清单最靠前的条目锚定在真实的 CoD 上。
  • 时长博弈:为了拉高 CD3 排名而拆分条目——如果拆分后各部分能独立交付价值,这没问题;如果不能,就是造假。
  • 忽视紧迫性画像:呈"截止日期"形态的 CoD(监管日期)会打破稳定速率的假设;这类条目应按日期可行性单独排期,其余条目再按 CD3 排序。
  • 重排序的反复折腾:CD3 用于在承诺节点做排序决策,而不是用于对在制品每天反复重新洗牌(关于 WIP,参见流程指标)。

参考来源