3、计划评审技术(PERT)应用:三点估算与概率计算

计划评审技术,圈里人常叫它PERT。说实话,这玩意儿在项目管理里是个宝贝。我最早接触PERT是在一个跨国研发项目上,当时被客户要求给出95%置信度的交付日期,光靠单点估算根本交不了差。从那以后,我就把PERT当成了自己的看家本领。

这一章,咱们就把PERT的底裤扒干净。从三点估算怎么取数,到公式怎么推导,再到概率计算和风险储备,一条龙讲透。

3.1 三点估算:乐观、悲观与最可能时间

三点估算的核心逻辑很简单:你不可能精确预知未来,但你可以给出一个范围。这个范围由三个值构成——

参数 符号 含义 典型场景
乐观时间 O 一切顺利,无任何意外 资源到位、需求明确、技术成熟
最可能时间 M 正常情况,有少量波折 日常项目,中等复杂度
悲观时间 P 各种不顺,但排除灾难 需求变更、人员请假、集成出问题
我的习惯:取悲观时间时,别把"服务器被雷劈"这种黑天鹅算进去。PERT的悲观是"可预见的糟糕",不是"世界末日"。

举个例子。我之前带过一个数据迁移项目,迁移一个模块的乐观估算是2天,最可能是5天,悲观是12天。为什么悲观差这么多?因为历史数据告诉我们,每次数据清洗都会发现脏数据,一修就是一周。

3.2 PERT公式推导:为什么是加权平均?

有了三个数,怎么合成一个期望时间?PERT用的是加权平均——

期望时间 TE = (O + 4M + P) / 6

你可能会问:为什么最可能时间权重是4,乐观和悲观各占1?

这其实来自Beta分布的特性。PERT假设活动时间服从Beta分布,而Beta分布的均值公式恰好是 (a + 4b + c) / 6。说白了,最可能时间更贴近真实情况,所以给它更大的权重。

咱们拿刚才的数据迁移模块算一下——

TE = (2 + 4×5 + 12) / 6
   = (2 + 20 + 12) / 6
   = 34 / 6
   ≈ 5.67 天

你看,期望值5.67天比最可能5天略高,因为悲观值12天把整体拉上去了。这很合理——项目总是容易超时,而不是提前。

关键认知:PERT不是算命,它是用概率思维管理不确定性。你给的不是一个数字,而是一个分布。

3.3 标准差与方差:你的估算有多"散"?

光有期望值不够。你还得知道这个估算的波动范围。PERT用标准差来衡量——

标准差 σ = (P - O) / 6
方差 σ² = [(P - O) / 6]²

为什么除以6?因为PERT假设悲观和乐观之间跨越了6个标准差(正负3σ),覆盖了99.7%的可能性。

继续用数据迁移的例子——

σ = (12 - 2) / 6 = 10 / 6 ≈ 1.67 天

这意味着什么?意味着这个模块的工期有68%的概率落在 TE ± σ 之间,也就是 5.67 ± 1.67 天,约 4.0 到 7.3 天。

置信区间 标准差范围 概率 本例范围(天)
±1σ TE ± σ 68.3% 4.0 ~ 7.3
±2σ TE ± 2σ 95.5% 2.3 ~ 9.0
±3σ TE ± 3σ 99.7% 0.7 ~ 10.7
我曾经踩过的坑:有次我直接用单个活动的标准差去算整个项目的概率,结果偏差很大。记住,项目路径的标准差是各活动方差之和再开方,不是标准差直接相加。

3.4 概率计算:你的项目能按时交付吗?

现在进入实战环节。假设你的关键路径由多个活动组成,每个活动都有TE和σ。项目总期望时间就是各活动TE之和,总标准差是各活动方差之和再开平方——

项目 TE_total = Σ TE_i
项目 σ_total = √(Σ σ_i²)

有了这两个值,你就可以回答老板最关心的问题:"我们按时完成的概率有多大?"

计算步骤很简单——

  1. 算Z值:Z = (目标工期 - TE_total) / σ_total
  2. 查标准正态分布表:Z值对应的累积概率就是按时完成的概率

举个例子。项目关键路径有三个活动——

活动 O M P TE σ σ²
A 2 4 8 4.33 1.00 1.00
B 3 6 10 6.17 1.17 1.36
C 1 3 5 3.00 0.67 0.44
合计 13.50 1.67 2.80

客户要求15天内交付。那么——

Z = (15 - 13.50) / 1.67 = 1.50 / 1.67 ≈ 0.90

查正态分布表,Z=0.90对应的概率大约是81.6%。也就是说,你有81.6%的把握在15天内完成。

快速记忆:Z值越大,概率越高。Z=0对应50%,Z=1对应84.1%,Z=2对应97.7%。记住这三个点,开会时不用翻表。

3.5 风险储备:给不确定性留点余量

概率算出来了,但老板通常不会接受81.6%。他想要95%甚至99%。这时候就需要风险储备——也叫应急储备或缓冲时间。

风险储备的计算公式——

储备时间 = Z_target × σ_total

想要95%的把握?Z_target取1.645。想要99%?取2.33。

继续上面的例子——

95%置信度:储备 = 1.645 × 1.67 ≈ 2.75 天
99%置信度:储备 = 2.33 × 1.67 ≈ 3.89 天

所以,如果你承诺15天交付(概率81.6%),想提升到95%,就得跟客户说16.25天(13.50 + 2.75)。

实战建议:我一般给管理层报两个数——期望工期和95%置信工期。期望工期用来排计划,95%工期用来做承诺。这样既不会太激进,也不会太保守。

3.6 知识体系总览

下面这张图把PERT的核心逻辑串起来了——

PERT 核心知识体系 三点估算输入 Beta分布假设 关键路径识别 TE = (O+4M+P)/6 σ = (P-O)/6 σ² = [(P-O)/6]² 项目 TE_total = ΣTE_i 项目 σ_total = √(Σσ_i²) 概率计算:Z = (T目标 - TE)/σ 风险储备:Buffer = Z×σ 核心逻辑:三点估算 → 期望与方差 → 路径汇总 → 概率计算 → 风险储备决策

3.7 避坑指南:我踩过的那些雷

PERT用起来不难,但坑不少。我把自己踩过的和见过的坑列出来,你遇到了能少走弯路——

  • 乐观和悲观太极端:有人把乐观当"做梦",悲观当"末日"。结果TE严重偏离实际。我的做法是参考历史数据,别拍脑袋。
  • 忽略非关键路径:只算关键路径的概率,但非关键路径可能变成新的关键路径。尤其是当非关键路径的方差很大时,一定要做敏感性分析。
  • 储备被"吃掉":风险储备一旦被管理层知道,往往会被砍掉一半。我学乖了,报95%的工期,但内部按TE排计划,储备由PM直接管控。
  • 忘记更新:PERT不是一次性工作。项目进行中,实际数据会修正你的估算。我每两周重新算一次TE和σ,动态调整储备。
我曾经犯过的错:有次我算出来项目有90%的概率按时交付,结果延期了。后来复盘发现,我用了单个活动的PERT,但活动之间其实有依赖关系——一个活动延期会引发连锁反应。从那以后,我改用蒙特卡洛模拟做路径聚合,结果准多了。