第6章:进度管理
开篇段落
进度管理是项目管理的核心知识领域之一,直接决定项目能否按时交付。对于有技术背景的项目经理而言,进度管理不仅是制定时间表,更是一个涉及数学优化、资源配置和风险权衡的系统工程。本章将深入探讨关键路径法(CPM)、进度压缩技术、资源优化方法以及挣值管理中的进度指标,并介绍如何利用AI工具提升进度分析效率。掌握这些技术将帮助你在PMP考试中快速解决进度相关计算题,更重要的是在实际项目中做出科学的进度决策。
关键路径法(CPM)
网络图基础
项目网络图是进度管理的基础工具,它将项目活动及其依赖关系可视化。理解网络图是掌握CPM的第一步。在实际项目管理中,网络图不仅是计算工期的工具,更是沟通进度计划、识别风险和优化资源的重要手段。
网络图的两种表示法:
-
节点法(AON - Activity on Node):活动在节点上,箭线表示依赖关系 - 优点:直观易懂,便于添加多种依赖关系类型 - 缺点:图形可能较复杂,节点信息较多 - 应用:现代项目管理软件普遍采用
-
箭线法(AOA - Activity on Arrow):活动在箭线上,节点表示事件 - 优点:清晰展示事件里程碑 - 缺点:需要虚拟活动(dummy activities)表示某些依赖关系 - 应用:传统PERT网络,现已较少使用
PMP考试主要使用AON表示法,也称为前导图法(PDM)。这种方法能够更好地表达现代项目中复杂的依赖关系。
节点信息标准格式:
┌─────────────────┐
│ 活动名称 │
├─────────────────┤
│ ES │ 工期 │ EF │
├─────────────────┤
│ LS │ TF │ LF │
└─────────────────┘
网络图示例:
[A]
5天
↙ ↘
[Start] [C]
↘ ↗ 3天
[B] ↘
4天 [End]
网络图构建原则:
- 完整性:包含所有项目活动
- 逻辑性:正确反映活动间的依赖关系
- 唯一性:每个活动只出现一次
- 连通性:从开始到结束必须有完整路径
- 无环性:不能有循环依赖
前导图法(PDM)
PDM中有四种逻辑关系类型,理解这些关系类型对于构建准确的项目网络图至关重要:
-
完成到开始(FS - Finish to Start):前置活动完成后,后续活动才能开始 - 占比:约90%的依赖关系 - 示例:代码编写完成后才能开始代码审查 - 表示:A →FS→ B - 计算:B的ES = A的EF + Lag
-
开始到开始(SS - Start to Start):前置活动开始后,后续活动才能开始 - 占比:约7-8%的依赖关系 - 示例:需求分析开始后,可以开始准备测试用例 - 表示:A →SS→ B - 计算:B的ES = A的ES + Lag - 应用场景:并行工作但需要初始协调
-
完成到完成(FF - Finish to Finish):前置活动完成后,后续活动才能完成 - 占比:约2-3%的依赖关系 - 示例:所有模块测试完成后,集成测试才能完成 - 表示:A →FF→ B - 计算:B的EF = A的EF + Lag - 应用场景:活动需要同步结束
-
开始到完成(SF - Start to Finish):前置活动开始后,后续活动才能完成 - 占比:<1%的依赖关系 - 示例:新系统启动后,旧系统才能关闭 - 表示:A →SF→ B - 计算:B的LF = A的LS + Lag - 注意:极少使用,通常可以转换为其他关系类型
提前量与滞后量的深入理解:
- 提前量(Lead):负值延迟,允许后续活动提前开始
- 表示方法:FS-3(提前3天)
- 风险:可能导致返工,因为前置活动未完全完成
- 应用:当有足够信息开始后续活动时使用
-
示例:墙面涂料第一层完成80%时,可以开始准备第二层材料(FS-1天)
-
滞后量(Lag):正值延迟,要求后续活动延后开始
- 表示方法:FS+2(延迟2天)
- 原因:技术约束、资源约束或强制等待
- 应用:必须等待的情况
- 示例:混凝土浇筑后需要养护7天才能继续施工(FS+7天)
依赖关系的分类:
-
强制性依赖(硬逻辑): - 由工作性质决定,不可违反 - 例:必须先打地基才能建墙
-
选择性依赖(软逻辑): - 基于最佳实践或偏好 - 可以调整以优化进度 - 例:选择先开发核心功能
-
外部依赖: - 项目活动与非项目活动之间 - 例:等待供应商交付
-
内部依赖: - 项目活动之间的关系 - 项目团队可控
实践应用示例:
软件开发项目的典型依赖关系:
需求分析 →FS→ 系统设计
系统设计 →SS+2→ 详细设计(设计开始2天后)
详细设计 →FS→ 编码
编码 →SS+5→ 单元测试准备(编码开始5天后)
编码 →FF→ 单元测试执行
集成测试 →FS+2→ 用户验收测试(缓冲2天)
关键路径识别
关键路径是网络图中最长的路径,决定了项目的最短完成时间。识别关键路径需要进行正向和反向计算。关键路径的概念源于1950年代的项目管理实践,至今仍是进度控制的核心工具。
关键路径的特性:
- 时间特性:总工期等于关键路径长度
- 敏感性:关键路径上任何延迟都会延迟项目
- 动态性:随项目进展可能发生变化
- 多重性:可能存在多条关键路径
- 管理焦点:需要最密切的监控
正向计算(Forward Pass)详解:
目的:确定项目最早可能的完成时间
计算规则:
- 起始活动的ES = 0(或项目开始时间)
-
对于任意活动j: $$ES_j = \max(EF_i + Lag_{ij}) \quad \text{其中i是j的所有前置活动}$$
-
活动的最早完成时间: $$EF_j = ES_j + Duration_j$$ 特殊情况处理:
- SS关系:$ES_j = ES_i + Lag_{ij}$
- FF关系:$EF_j = EF_i + Lag_{ij}$
- SF关系:较少使用,需特殊处理
反向计算(Backward Pass)详解:
目的:确定活动的最晚允许时间
计算规则:
- 结束活动的LF = 项目要求完成时间(或EF)
-
对于任意活动i: $$LF_i = \min(LS_j - Lag_{ij}) \quad \text{其中j是i的所有后续活动}$$
-
活动的最晚开始时间: $$LS_i = LF_i - Duration_i$$ 关键路径判定准则:
-
总浮动时间准则: $$TF = LS - ES = LF - EF = 0$$
-
路径长度准则: 最长的路径即为关键路径
-
连续性准则: 关键活动必须形成从开始到结束的连续路径
关键路径算法步骤:
# 伪代码示例
def find_critical_path(activities, dependencies):
# Step 1: 构建网络图
network = build_network(activities, dependencies)
# Step 2: 正向计算
for activity in topological_order(network):
activity.ES = max([pred.EF for pred in predecessors])
activity.EF = activity.ES + activity.duration
# Step 3: 反向计算
project_duration = max([act.EF for act in end_activities])
for activity in reverse_topological_order(network):
activity.LF = min([succ.LS for succ in successors])
activity.LS = activity.LF - activity.duration
# Step 4: 计算浮动时间
for activity in activities:
activity.TF = activity.LS - activity.ES
# Step 5: 识别关键路径
critical_path = [act for act in activities if act.TF == 0]
return critical_path, project_duration
次关键路径(Near-Critical Path):
定义:总浮动时间很小(如≤2天)的路径
重要性:
- 容易变成关键路径
- 需要密切监控
- 风险管理的重点
识别方法:
- 计算所有路径的长度
- 找出长度接近关键路径的路径
- 设定阈值(如关键路径长度的95%)
关键路径的变化:
导致变化的因素:
- 进度延迟:非关键活动延迟超过其总浮动时间
- 进度压缩:赶工或快速跟进改变活动持续时间
- 范围变更:添加或删除活动
- 资源约束:资源平衡导致的进度调整
- 风险发生:风险事件影响活动持续时间
管理策略:
- 定期重新计算关键路径
- 监控次关键路径
- 保持进度储备
- 实施变更控制
浮动时间计算
浮动时间反映了活动的机动时间,是进度管理的重要概念。理解和正确计算浮动时间对于资源分配、风险管理和进度优化至关重要。浮动时间的概念让项目经理能够识别哪些活动有灵活性,哪些必须严格控制。
四种浮动时间详解:
- 总浮动时间(Total Float, TF):不影响项目完成时间的最大延迟
定义:活动可以延迟而不影响项目总工期的时间量
计算公式: $$TF = LS - ES = LF - EF$$ 特性:
- TF = 0:活动在关键路径上
- TF > 0:活动有机动时间
- TF < 0:项目已延迟,需要赶工
- 总浮动时间在路径上共享
应用场景:
- 资源调配的依据
- 进度缓冲的来源
- 风险应对的空间
- 自由浮动时间(Free Float, FF):不影响后续活动最早开始时间的最大延迟
定义:活动可以延迟而不影响任何后续活动的时间量
计算公式: $$FF = \min(ES_{successor}) - EF_{current}$$ 或考虑依赖关系: $$FF = \min(ES_{successor} - Lag) - EF_{current}$$ 特性:
- FF ≤ TF(自由浮动不超过总浮动)
- FF是活动独有的,不与其他活动共享
- 关键路径上的活动FF = 0
- 路径最后一个活动的FF = TF
应用价值:
- 更安全的调度灵活性
- 不会产生连锁影响
- 优先使用的缓冲时间
- 项目浮动时间(Project Float):项目完成时间与客户要求时间之差
定义:整个项目相对于外部约束的机动时间
计算公式: $$Project\ Float = Target\ Date - Critical\ Path\ Duration$$ 意义:
- 正值:项目有时间储备
- 零值:项目刚好满足要求
- 负值:需要进度压缩
管理策略:
- 作为管理储备
- 应对不可预见风险
- 避免过早消耗
- 负浮动时间(Negative Float):表示进度落后,需要采取纠正措施
产生原因:
- 外部强制日期早于计算日期
- 进度延迟累积
- 资源约束导致的延迟
应对措施:
- 立即实施进度压缩
- 重新评估依赖关系
- 请求变更基准
- 增加资源投入
浮动时间的高级概念:
-
干扰浮动(Interfering Float): $$IF = TF - FF$$ 使用此浮动会影响后续活动的总浮动
-
独立浮动(Independent Float): $$IndF = FF - \text{前置活动使用的浮动}$$ 完全不受其他活动影响的浮动时间
-
链路浮动(Chain Float): 一条非关键路径上所有活动共享的总浮动
浮动时间的消耗规则:
- 先到先用原则:路径上先执行的活动优先使用浮动
- 比例分配原则:按活动持续时间比例分配浮动
- 关键度原则:优先保护接近关键的活动
- 风险权重原则:高风险活动保留更多浮动
浮动时间分析矩阵:
| 总浮动 | 自由浮动 | 活动特征 | 管理策略 |
| 总浮动 | 自由浮动 | 活动特征 | 管理策略 |
|---|---|---|---|
| 0 | 0 | 关键活动 | 严格监控,优先资源 |
| >0 | 0 | 路径收敛点 | 注意后续影响 |
| >0 | =TF | 路径末端 | 可灵活调度 |
| >0 | >0但<TF | 中间活动 | 谨慎使用浮动 |
| <0 | <0 | 延迟活动 | 立即采取措施 |
实例演练
通过完整的实例来巩固关键路径法的概念和计算方法。我们将使用一个软件开发项目的简化版本进行演示。
项目背景: 开发一个移动应用的核心模块,包含需求分析、设计、开发、测试等阶段。
活动 描述 持续时间 前置活动 资源需求
A 需求分析 3天 - 2名分析师
B 数据库设计 5天 - 1名DBA
C UI设计 4天 A 2名设计师
D 后端开发 2天 B 3名后端工程师
E 前端开发 6天 C,D 2名前端工程师
F 集成测试 3天 E 2名测试工程师
步骤1:绘制网络图
[A:3]--->[C:4]
↗ ↘
[Start] [E:6]--->[F:3]--->[End]
↘ ↗
[B:5]--->[D:2]
步骤2:正向计算(Forward Pass)
计算规则回顾:
- 起始活动的ES = 0
- ES = max(所有前置活动的EF)
- EF = ES + Duration
详细计算过程:
| 活动 | 计算过程 | ES | Duration | EF |
| 活动 | 计算过程 | ES | Duration | EF |
|---|---|---|---|---|
| A | 0 | 3 | ||
| B | 0 | 5 | ||
| C | 3 | 7 | ||
| D | 5 | 7 | ||
| E | 7 | 13 | ||
| F | 13 | 16 |
步骤3:反向计算
| 活动 | LS | LF | TF |
| 活动 | LS | LF | TF |
|---|---|---|---|
| A | 0 | 3 | 0 |
| B | 0 | 5 | 0 |
| C | 3 | 7 | 0 |
| D | 5 | 7 | 0 |
| E | 7 | 13 | 0 |
| F | 13 | 16 | 0 |
结论:所有活动的总浮动时间都为0,因此整条路径都是关键路径。项目总工期为16天。
进度压缩技术
当项目进度落后或需要提前交付时,需要采用进度压缩技术。进度压缩是项目管理中的关键决策点,需要在成本、时间、质量和风险之间找到最佳平衡。理解各种技术的适用场景和限制条件,对于做出正确的进度决策至关重要。
赶工(Crashing)
赶工通过增加资源来缩短关键路径上的活动持续时间。
赶工原则:
- 只赶工关键路径上的活动
- 优先选择成本斜率最小的活动
- 注意赶工可能产生新的关键路径
- 每个活动都有赶工极限
成本斜率计算: $$\text{成本斜率} = \frac{\text{赶工成本} - \text{正常成本}}{\text{正常时间} - \text{赶工时间}}$$ 赶工决策示例:
| 活动 | 正常时间 | 赶工时间 | 正常成本 | 赶工成本 | 成本斜率 |
| 活动 | 正常时间 | 赶工时间 | 正常成本 | 赶工成本 | 成本斜率 |
|---|---|---|---|---|---|
| A | 5天 | 3天 | $1000 | $1500 | $250/天 |
| B | 4天 | 3天 | $800 | $1100 | $300/天 |
| C | 6天 | 4天 | $1200 | $1600 | $200/天 |
优先赶工活动C,因为其成本斜率最低。
快速跟进(Fast Tracking)
快速跟进将原本串行的活动改为并行或部分并行执行。
快速跟进特点:
- 不增加直接成本
- 增加项目风险
- 可能导致返工
- 需要额外的协调工作
适用场景:
- 活动之间有弱依赖关系
- 可以接受一定的风险增加
- 团队有并行工作的能力
- 质量标准允许迭代改进
快速跟进示例: 原计划:需求分析(10天) → 设计(15天) → 开发(20天) 快速跟进:需求分析(10天) → 设计开始5天后开始开发 总工期从45天缩短到40天。
技术选择决策矩阵
| 因素 | 赶工 | 快速跟进 |
| 因素 | 赶工 | 快速跟进 |
|---|---|---|
| 成本影响 | 增加 | 不变或略增 |
| 风险影响 | 低 | 高 |
| 质量影响 | 可能降低 | 可能降低 |
| 资源需求 | 增加 | 不变 |
| 管理复杂度 | 中等 | 高 |
| 适用阶段 | 执行阶段 | 规划/执行阶段 |
选择建议:
- 预算充足时优先考虑赶工
- 风险容忍度高时可考虑快速跟进
- 可以组合使用两种技术
资源优化技术
资源优化是平衡进度与资源约束的关键技术,帮助项目经理在资源有限的情况下制定可行的进度计划。
资源平衡(Resource Leveling)
资源平衡通过调整活动开始和完成时间来解决资源冲突,确保资源需求不超过可用资源。
资源平衡的影响:
- 通常会延长项目工期
- 可能改变关键路径
- 降低资源使用峰值
- 提高资源利用率的稳定性
资源平衡算法步骤:
- 识别资源冲突期间
- 在非关键活动的浮动时间内调整
- 如果浮动时间不足,延迟活动开始时间
- 重新计算关键路径
示例场景:
原始进度(需要程序员数量):
第1-3天: 活动A(2人) + 活动B(3人) = 5人
第4-6天: 活动C(2人) + 活动D(2人) = 4人
可用资源:4名程序员
平衡后:
第1-3天: 活动A(2人) + 活动B(2人) = 4人
第4-6天: 活动B(1人) + 活动C(2人) = 3人
第7-8天: 活动D(2人) = 2人
资源平滑(Resource Smoothing)
资源平滑在不改变项目关键路径的前提下,利用活动的浮动时间来优化资源使用。
资源平滑 vs 资源平衡:
| 特征 | 资源平衡 | 资源平滑 |
| 特征 | 资源平衡 | 资源平滑 |
|---|---|---|
| 优先级 | 资源约束优先 | 进度约束优先 |
| 工期影响 | 可能延长 | 不改变 |
| 关键路径 | 可能改变 | 不改变 |
| 资源上限 | 严格遵守 | 尽量遵守 |
| 适用场景 | 资源严格受限 | 优化资源使用 |
资源平滑技巧:
- 只调整有浮动时间的活动
- 优先调整自由浮动时间大的活动
- 考虑资源的学习曲线效应
- 保持团队工作的连续性
关键链法(CCM)
关键链法是约束理论(TOC)在项目管理中的应用,考虑了资源约束对进度的影响。
关键链法核心概念:
- 关键链:考虑资源依赖后的最长路径
- 缓冲管理: - 项目缓冲(Project Buffer):置于关键链末端,保护项目完成时间 - 汇入缓冲(Feeding Buffer):置于非关键链与关键链交汇处 - 资源缓冲(Resource Buffer):提醒资源准备就绪
缓冲大小计算: $$\text{缓冲大小} = \frac{\text{链路长度}}{2} \times \text{不确定性系数}$$ 或使用平方根法: $$\text{缓冲大小} = \sqrt{\sum(\text{活动不确定性})^2}$$ 关键链法实施步骤:
- 使用激进但可能的估算(去除安全时间)
- 识别关键链(最长的资源约束路径)
- 添加项目缓冲(通常为关键链长度的50%)
- 在非关键链添加汇入缓冲
- 监控缓冲消耗率
关键链法优势:
- 减少帕金森定律效应
- 避免学生综合症
- 提高项目按时完成率
- 更好地处理不确定性
示例:
传统CPM:
活动A(10天) → 活动B(15天) → 活动C(12天) = 37天
关键链法:
活动A(6天) → 活动B(10天) → 活动C(8天) + 项目缓冲(12天) = 36天
(活动估算更激进,但有缓冲保护)
挣值管理(EVM)基础
挣值管理不仅用于成本控制,也是进度绩效测量的重要工具。本节重点介绍EVM中的进度相关指标。
进度绩效指标
基础概念:
- PV(计划值):计划完成工作的预算值
- EV(挣值):实际完成工作的预算值
- AT(实际时间):实际花费的时间
关键进度指标:
- 进度偏差(SV - Schedule Variance): $$SV = EV - PV$$
- SV > 0:进度超前
- SV = 0:进度准时
- SV < 0:进度落后
- 进度绩效指数(SPI - Schedule Performance Index): $$SPI = \frac{EV}{PV}$$
- SPI > 1:进度超前
- SPI = 1:进度准时
- SPI < 1:进度落后
SPI与SV计算
计算示例:
项目总预算:$100,000,工期10个月 第5个月末的状态:
- 计划应完成50%的工作(PV = $50,000)
- 实际完成了45%的工作(EV = $45,000)
- 实际花费了$48,000(AC = $48,000)
计算:
- SV = EV - PV = $45,000 - $50,000 = -$5,000(进度落后)
- SPI = EV/PV = $45,000/$50,000 = 0.9(效率为计划的90%)
SPI的深入理解:
- SPI = 0.8 表示每计划1天的工作,实际只完成0.8天
- 连续几个报告期的SPI趋势比单点值更有意义
- SPI在项目后期会趋向于1(终点收敛现象)
进度预测
基于EVM的进度预测方法:
- 时间完工估算(EACt - Estimate at Completion time):
假设当前SPI将持续: $$EAC_t = \frac{\text{计划工期}}{SPI}$$ 考虑关键路径的方法: $$EAC_t = AT + \frac{\text{剩余关键路径工期}}{SPI}$$
-
完工尚需时间估算(ETCt - Estimate to Complete time): $$ETC_t = EAC_t - AT$$
-
完工时进度偏差(VACt - Variance at Completion time): $$VAC_t = \text{计划工期} - EAC_t$$ 预测示例:
- 计划工期:10个月
- 当前时间:第5个月
- 当前SPI:0.9
计算:
- EACt = 10/0.9 = 11.1个月
- ETCt = 11.1 - 5 = 6.1个月
- VACt = 10 - 11.1 = -1.1个月(预计延迟1.1个月)
基于挣得进度(ES)的分析:
挣得进度是EVM的新发展,直接使用时间单位: $$ES = AT + \frac{EV - AC_{AT}}{PV_{rate}}$$
其中PV_rate是计划的工作速率($/天)。
进度预测的注意事项:
- SPI在项目接近完成时失效
- 关键路径的变化会影响预测准确性
- 应结合其他方法(如关键路径分析)综合判断
- 考虑风险和不确定性的影响
AI工具:进度网络图自动分析
利用AI工具可以大幅提升进度管理的效率和准确性。以下是具体的应用场景和提示词示例。
网络图生成与分析
使用AI生成网络图的提示词模板:
请根据以下活动列表生成项目网络图并计算关键路径:
[活动列表]
要求:
1. 使用前导图法(PDM)
2. 计算每个活动的ES、EF、LS、LF
3. 标识关键路径
4. 计算总浮动时间
5. 提供ASCII或mermaid格式的网络图
AI辅助的关键路径分析:
# 可以请AI生成的Python代码示例
def calculate_critical_path(activities):
"""
activities: [(name, duration, predecessors), ...]
返回:关键路径和项目总工期
"""
# 正向计算
es, ef = forward_pass(activities)
# 反向计算
ls, lf = backward_pass(activities, ef)
# 识别关键路径
critical_path = identify_critical(es, ls)
return critical_path, max(ef.values())
进度优化建议
AI驱动的进度压缩分析:
项目信息:
- 当前工期:[X]天
- 目标工期:[Y]天
- 关键路径活动:[列表]
- 可用预算:$[金额]
请提供:
1. 赶工方案(包括成本影响分析)
2. 快速跟进方案(包括风险评估)
3. 混合优化策略
4. 各方案的优缺点对比
资源冲突检测
使用AI进行资源分析的提示:
资源配置:
[资源类型和数量列表]
活动安排:
[活动名称、资源需求、时间安排]
请分析:
1. 资源冲突时段
2. 资源利用率图表
3. 资源平衡建议
4. 对关键路径的影响
EVM计算辅助
AI支持的EVM分析模板:
项目数据:
- BAC(完工预算):$[金额]
- 计划工期:[天数]
- 当前时间点:第[X]天
- PV:$[金额]
- EV:$[金额]
- AC:$[金额]
请计算并解释:
1. 所有EVM指标(SV、SPI、CV、CPI)
2. 完工预测(EAC、ETC、VAC)
3. 绩效趋势分析
4. 纠正措施建议
蒙特卡洛模拟
使用AI进行进度风险分析:
# 请AI生成蒙特卡洛模拟代码
import numpy as np
def monte_carlo_schedule(activities, iterations=10000):
"""
对每个活动使用三点估算进行模拟
activities: [(name, optimistic, likely, pessimistic), ...]
"""
results = []
for _ in range(iterations):
duration = simulate_project(activities)
results.append(duration)
return {
'P50': np.percentile(results, 50),
'P80': np.percentile(results, 80),
'P95': np.percentile(results, 95),
'mean': np.mean(results),
'std': np.std(results)
}
AI辅助的实战练习
场景生成器提示:
生成一个软件开发项目的进度管理场景:
- 项目规模:中型(6-8个月)
- 团队规模:10-15人
- 包含至少15个活动
- 设置2-3个资源约束
- 包含1-2个进度风险
提供:
1. 完整的WBS
2. 活动依赖关系
3. 资源分配
4. 需要解决的进度问题
5. 期望的解决方案
PMP考试模拟题生成:
基于以下进度管理知识点生成5道PMP风格的情景题:
- 关键路径变更
- 资源平衡vs资源平滑
- 进度压缩决策
- SPI/SV的解释
- 关键链缓冲管理
每题包括:
1. 项目背景
2. 具体问题
3. 4个选项
4. 正确答案和详细解释
本章小结
进度管理是项目成功的关键要素,本章介绍的技术和方法构成了PMP考试中进度管理知识领域的核心内容:
核心概念回顾:
-
关键路径法(CPM): - 关键路径 = 最长路径 = 最短项目工期 - 总浮动时间 = 0 的活动在关键路径上 - 关键路径可能有多条
-
进度压缩技术: - 赶工:花钱买时间,增加资源 - 快速跟进:增加风险换时间,并行执行
-
资源优化技术: - 资源平衡:可能延长工期,资源约束优先 - 资源平滑:不改变关键路径,进度约束优先 - 关键链法:考虑资源约束和缓冲管理
-
EVM进度指标: - SV = EV - PV(绝对偏差) - SPI = EV/PV(相对效率) - 预测公式:EACt = 计划工期/SPI
关键公式汇总:
| 指标 | 公式 | 含义 |
| 指标 | 公式 | 含义 |
|---|---|---|
| ES | max(EF_predecessors) | 最早开始时间 |
| EF | ES + Duration | 最早完成时间 |
| LS | LF - Duration | 最晚开始时间 |
| LF | min(LS_successors) | 最晚完成时间 |
| TF | LS - ES 或 LF - EF | 总浮动时间 |
| FF | ES_successor - EF_current | 自由浮动时间 |
| SV | EV - PV | 进度偏差 |
| SPI | EV/PV | 进度绩效指数 |
| EACt | 计划工期/SPI | 时间完工估算 |
实战应用要点:
- 进度管理不是孤立的,需要与成本、资源、风险管理协同
- 选择进度压缩技术时要权衡成本、风险和质量影响
- 资源优化可能改变关键路径,需要重新分析
- EVM的进度指标在项目后期会失真,需要结合其他方法
- 利用AI工具可以快速进行复杂计算和场景分析
常见陷阱与错误
概念理解陷阱
-
混淆关键路径与关键活动 - 错误:认为重要的活动就在关键路径上 - 正确:关键路径由总浮动时间为0的活动组成
-
误解浮动时间 - 错误:认为有浮动时间的活动可以随意延迟 - 正确:使用浮动时间可能影响后续活动和资源安排
-
关键路径唯一性 - 错误:项目只有一条关键路径 - 正确:可能存在多条关键路径,增加管理复杂度
计算错误
-
网络图计算顺序 - 错误:随机计算各活动的时间参数 - 正确:先正向计算(ES、EF),再反向计算(LS、LF)
-
SPI解释错误 - 错误:SPI = 0.8意味着进度落后20% - 正确:SPI = 0.8意味着进度效率是计划的80%
-
资源平衡影响 - 错误:资源平衡不会改变项目工期 - 正确:资源平衡通常会延长项目工期
应用误区
-
进度压缩选择 - 错误:总是选择成本最低的压缩方案 - 正确:需要综合考虑成本、风险、质量和可行性
-
缓冲设置 - 错误:在每个活动都加缓冲 - 正确:关键链法只在特定位置设置缓冲
-
EVM局限性 - 错误:完全依赖SPI进行进度预测 - 正确:项目后期SPI会收敛到1,需要其他方法辅助
PMP考试要点
-
情景题应答 - 看到"项目必须按时完成"→考虑进度压缩 - 看到"资源有限"→考虑资源平衡或资源平滑 - 看到"不确定性高"→考虑关键链法
-
计算题技巧 - 画图辅助理解网络关系 - 列表整理EVM数据 - 注意单位一致性(天/周/月)
-
术语区分 - Lead vs Lag(提前量vs滞后量) - Resource Leveling vs Resource Smoothing - Crashing vs Fast Tracking
调试建议:
- 使用专业软件(MS Project、Primavera)验证手工计算
- 建立标准模板减少重复错误
- 定期审查关键路径变化
- 保持进度基准的版本控制