2、项目进度管理基础:关键路径法(CPM)与计划评审技术(PERT)回顾
在大型项目中,进度失控往往源于对任务依赖关系和不确定性的低估。关键路径法(CPM)与计划评审技术(PERT)是两种最经典的网络计划技术,分别适用于确定性和不确定性环境下的工期估算。本节将系统回顾两者的核心原理、计算步骤及适用场景,为后续动态调整实践奠定基础。
2.1 关键路径法(CPM)
CPM 由杜邦公司于 1950 年代提出,假设每项任务的工期是固定值,通过分析任务间的逻辑依赖关系,找出项目中最长的路径——即关键路径。关键路径上的任何延误都会直接导致项目总工期延长。
2.1.1 核心参数与计算规则
每个节点(任务)需计算以下四个时间参数:
| 参数 | 缩写 | 定义 | 计算方式 |
|---|---|---|---|
| 最早开始时间 | ES | 任务可以开始的最早时刻 | ES = max(所有紧前任务的 EF) |
| 最早完成时间 | EF | 任务可以完成的最早时刻 | EF = ES + 工期 |
| 最晚完成时间 | LF | 不影响项目总工期的前提下,任务必须完成的最晚时刻 | LF = min(所有紧后任务的 LS) |
| 最晚开始时间 | LS | 不影响项目总工期的前提下,任务必须开始的最晚时刻 | LS = LF - 工期 |
关键路径判定: 总浮动时间(TF = LS - ES 或 LF - EF)为零的任务组成的路径即为关键路径。关键路径上的任务没有任何时间余量。
2.1.2 CPM 计算示例
以下是一个包含 6 个任务的简单项目网络图,采用单代号网络图(AON)表示法。任务 A 为起始任务,任务 F 为结束任务。
实践要点: 在大型项目中,关键路径可能随任务提前或滞后而动态变化。项目经理应每周重新计算一次关键路径,而非仅依赖初始计划。
2.2 计划评审技术(PERT)
PERT 由美国海军在 1958 年开发,用于北极星导弹项目。它不假设工期固定,而是为每项任务估算三个时间值,通过加权平均计算期望工期,并评估项目在给定时间内完成的概率。
2.2.1 三时估算法
| 估算类型 | 符号 | 定义 | 典型场景 |
|---|---|---|---|
| 乐观时间 | tₒ | 一切顺利时的最短工期 | 资源充足、无外部干扰 |
| 最可能时间 | tₘ | 正常情况下最可能的工期 | 基于历史经验的中位数 |
| 悲观时间 | tₚ | 考虑最不利因素时的最长工期 | 关键人员离职、供应链中断 |
2.2.2 期望工期与方差计算
PERT 使用 Beta 分布模型,核心公式如下:
期望工期 (tₑ) = (tₒ + 4tₘ + tₚ) / 6
方差 (σ²) = [(tₚ - tₒ) / 6]²
标准差 (σ) = (tₚ - tₒ) / 6
项目总工期等于关键路径上所有任务期望工期之和。项目总方差等于关键路径上所有任务方差之和(假设任务相互独立)。
2.2.3 概率完成时间估算
利用正态分布模型,可计算项目在特定目标工期(T)内完成的概率:
Z = (T - 项目期望工期) / 项目标准差
概率 = Φ(Z) // 标准正态分布累积概率函数
示例: 若项目期望工期为 100 天,标准差为 8 天,则目标工期 110 天的 Z 值为 (110-100)/8 = 1.25,查表可得完成概率约为 89.4%。
2.3 CPM 与 PERT 的对比与选择
| 对比维度 | CPM | PERT |
|---|---|---|
| 工期假设 | 确定性(单一值) | 不确定性(三时估算) |
| 核心输出 | 关键路径、总浮动时间 | 期望工期、完成概率 |
| 适用阶段 | 详细设计、施工执行 | 研发、探索性项目 |
| 数据要求 | 历史工时数据充足 | 可接受专家主观判断 |
| 风险量化 | 无(仅通过浮动时间间接反映) | 直接输出概率与方差 |
| 计算复杂度 | 低,可手工计算 | 中,需统计查表 |
常见误区: 不要将 PERT 的三时估算简单平均后直接当作 CPM 的固定工期使用。PERT 的方差信息在风险分析中至关重要,忽略方差等于放弃了 PERT 的核心价值。
2.4 大型项目中的混合应用策略
在大型项目中,单一方法往往无法满足所有需求。推荐采用分层混合策略:
- 里程碑层: 使用 PERT 三时估算,评估整体交付概率,设定合理的里程碑缓冲。
- 工作包层: 使用 CPM 进行详细排程,识别关键路径,监控每日进度偏差。
- 高风险任务: 对技术攻关、外部依赖等高风险任务单独使用 PERT 方差分析,预留应急储备。
推荐工具: 在大型项目中,建议使用支持 CPM 与 PERT 双模式的项目管理软件(如 Oracle Primavera P6、Microsoft Project),并开启“多基线对比”功能,以便在进度动态调整时追溯原始关键路径的变化。