软考进度管理三张图:甘特图、PERT图与项目活动图关键路径实战 进度管理这块内容我在备考和带项目的这些年里来来回回翻过很多遍越翻越觉得有意思软考教材把甘特图、PERT图、项目活动图也就是我们常说的活动网络图摆在同一个章节里讲看上去像三个平行选项实际用起来根本不是一回事。甘特图画得好不好决定你能不能在一屋子人面前把工期讲明白PERT图算得准不准决定你敢不敢对上面拍胸脯说“这个版本八成能按时发”而项目活动图上的关键路径才是下午案例题里真正会让人手心出汗的地方——一条路径找错后面时差、压缩、工期索赔全盘皆输。这篇东西我想把这三张图从“长什么样”一直讲到“关键路径怎么一步步算出来”中间穿插我自己踩过的坑和考场上的提速办法无论你是刚翻开教材的新考生还是带过几个项目但一直靠感觉排期的人应该都能拿走点能直接用的东西。1. 把三张图摆到桌面上它们各自解决什么问题先说个前提很多人学这三张图的时候容易陷入一个误区觉得它们是“同一个东西的三种画法”谁顺手用谁。实际上它们的抽象层次完全不同甘特图是时间维度的可视化PERT图是不确定性的量化工具项目活动图是逻辑关系的拓扑表达。搞清楚这个分层后面所有的选型和计算才有落脚点。1.1 甘特图横条背后藏着的其实是资源问题甘特图的画法很朴素横轴是日历时间纵轴是活动清单每个活动画一根横条条的长度就是工期条的位置就是起止时间。它的最大优势是零门槛——你把图往会议室投影上一放业务方、测试、运维、甚至老板谁都看得懂“哪几天在干什么、哪几天撞车了”。但我见过太多人把甘特图当成了“排期万能表”画完就以为项目管住了。这里有个很关键的认知甘特图本身不表达活动之间的依赖逻辑。你画了A条在1号到5号B条在4号到9号图上完全看不出B是不是必须等A做完。有些工具会用箭头连一下那已经是在甘特图上叠了网络图的表达属于“带逻辑关系的甘特图”不是纯粹的横道图了。所以在软考语境下甘特图的定位应该记住三条一是能直观反映进度和实际进展对比画两条条一条计划一条实际偏差一目了然二是不能直接体现活动间的依赖关系三是无法直接看出关键路径和总时差。这三条几乎是选择题的固定考法。真正让我对甘特图改观是某次做一个多团队协作的项目。当时用网络图排的逻辑关系其实很清晰但每次跨部门周会上对方第一句话永远是“我们这部分到底什么时候开始”。后来我在网络图之外单独维护了一张甘特图只做一件事把所有活动和里程碑按周铺开标出每个团队的介入时间段。会议时长直接砍掉一半。甘特图的价值不在于算而在于沟通。实操上我建议这样用逻辑关系用网络图定时间呈现用甘特图讲。两张图各司其职别指望一张图干完所有事。画甘特图时还有个小细节里程碑一定要单独标出来用菱形或者加粗的零长度条它跟普通活动的区别是“没有工期、只表示一个时间点”这个点在软考里也经常被拿来出辨析题。1.2 PERT图把“大概要多久”变成“有八成把握多久”PERT计划评审技术最容易被误解的地方是很多人以为它只是“网络图的另一种叫法”。不是的。PERT真正的贡献是把工期的不确定性纳入了计算框架。传统估算你只会说“这个活动大概5天”。PERT要求你给出三个数乐观工期O一切顺利、最可能工期M正常情况、悲观工期P各种倒霉事凑一起。然后按加权平均算期望工期TE (O 4M P) / 6为什么是1:4:1的权重因为这个公式源自贝塔分布的一个简化近似它假设“最可能”这种情况出现的概率远高于两个极端而两个极端出现的可能性大致对称。你可以把它理解成三个人分别给你报最快、最正常、最慢你取一个偏向中间值的加权结果。配套的还有标准差σ (P - O) / 6这个公式的直觉是乐观和悲观之间的差距越大说明这个活动的估算越不靠谱波动越大。除以6是因为在正态分布假设下区间跨度大致覆盖±3σ。期望工期和标准差一旦算出来就能回答一些非常有价值的问题。举个我自己项目里的真实场景某次做数据迁移估算乐观5天、最可能8天、悲观17天TE (5 4×8 17) / 6 (5 32 17) / 6 54 / 6 9天σ (17 - 5) / 6 12 / 6 2天这时候如果领导问“12天做完的把握有多大”就可以算z (12 - 9) / 2 1.5查标准正态分布表Φ(1.5) ≈ 0.9332也就是大约93.3%。这个数字比“我尽量12天做完”有用一万倍。它把承诺变成了可讨论的概率而不是拍脑袋。软考里这类题的计算量不大但一定要记住三个常用区间±1σ约68.27%±2σ约95.46%±3σ约99.73%。考场上如果记不住精确值记“68、95、99”这三个数就够了。需要提醒的是PERT的三点估算有个隐含前提活动和活动之间的工期是相互独立的。项目整体工期的方差是各活动的方差之和再开方也就是 σ总 √(σ1² σ2² ...)。如果两个活动的风险来源高度相关比如都要等同一个外部供应商这个叠加就不准了。这一点教材不会强调但实际用的时候要留个心眼。1.3 项目活动图软考下午题的真正主战场“项目活动图”这个说法在不同教材里叫法不太统一有的叫活动网络图有的叫网络计划图。落到软考的知识体系里它指的是用节点和箭线表达活动先后顺序的图形化工具主要有两种画法单代号网络图也叫前导图、PDM、AONActivity-on-Node节点表示活动箭线表示逻辑关系。这是软考最常考的画法也是计算关键路径最顺手的画法。双代号网络图也叫箭线图、ADM、AOAActivity-on-Arrow箭线表示活动节点表示事件里程碑式的时点。这种画法会出现“虚活动”这个特殊角色是难点也是考点。两者最核心的区别在于单代号里活动是“点”双代号里活动是“线”。单代号的连线可以有FS完成-开始、SS开始-开始、FF完成-完成、SF开始-完成四种依赖关系还能带提前量lead和滞后量lag双代号只有“前一个活动完成后一个才能开始”这一种逻辑表达能力弱一些但历史上有它的工程背景。项目活动图真正值钱的地方在于它是关键路径法CPM的唯一载体。你想知道哪个活动一点都不能拖、哪个活动拖三天也没事、项目最短多少天能干完这些答案只能从网络图上算出来甘特图和PERT图都替代不了。软考下午的案例分析题进度部分十有八九是在网络图上做文章给你一张表让你画图、算工期、找关键路径、算时差、判断某个活动延误对总工期的影响。这里补一个容易被忽略的点网络图上的工期不等于日历天数。教材里的计算默认“活动一旦开始就连续进行、中间不中断、资源随时可用”也就是理想状态。真到项目里你得考虑周末、节假日、审批等待、资源冲突。所以我的习惯是网络图算出来的是“逻辑最短工期”然后再叠一层日历和资源约束得到“可承诺工期”。这两个数都要有前者用来做技术判断后者用来对外沟通。1.4 一张表看清三者的取舍光靠文字描述容易糊我整理了一张对照表这张表基本覆盖了选择题里可能出现的所有辨析角度对比维度甘特图PERT图项目活动图网络图核心表达活动在时间轴上的位置与长度活动工期的不确定性分布活动之间的逻辑依赖关系能否体现依赖纯横道图不能叠加箭头后可以能能能否看出关键路径不能需额外标注能期望工期下的关键路径能且这是它的核心用途能否做概率估算不能能可算按期完成概率不能只给确定性结果是否支持虚活动不涉及单代号形式不涉及双代号形式必须掌握学习曲线极低中等要会查正态分布表较高公式多、易算错典型使用场景汇报、沟通、进度对比高风险、强不确定性的研发型工作排逻辑、算工期、做工期压缩分析软考出题频率高概念辨析、特征判断中三点估算计算题极高下午案例必考方向看这张表的时候注意最后一行。很多人复习时把三个工具平均用力结果把时间花在背甘特图的定义上反而在关键路径计算上翻车。时间分配应该跟出题频率成正比网络图占六成PERT占三成甘特图占一成足够。2. 软考视角下的考点地图哪些题会考、怎么考知道三个工具是什么之后下一步得搞清楚考试会怎么考。这块内容我按“过程定位、出题套路、画法约定、选型判断”四条线来梳理基本能把进度管理这一章的骨架搭起来。2.1 进度管理六个过程里它们各自出现在哪一步软考的进度管理是标准的六个过程规划进度管理、定义活动、排列活动顺序、估算活动持续时间、制定进度计划、控制进度。三个工具在这六个过程里的落点是不一样的这个对应关系搞混了案例题里问“该阶段应使用什么工具”就会答偏。排列活动顺序这一步的产出物就是项目进度网络图用到的方法是前导图法PDM和箭线图法ADM还可能涉及确定依赖关系和提前量/滞后量。这里有个高频细节提前量lead和滞后量lag。滞后量是“前一个活动完成后要等几天才能开始下一个”比如混凝土浇筑完要养护3天提前量是“后一个活动可以提前几天开始”比如文档还没全部定稿编辑就可以先介入前面几章。软考选择题里经常给一句描述让你判断这是lead还是lag注意方向别搞反。估算活动持续时间这一步才轮到三点估算登场。除了PERT这一步还有类比估算、参数估算、储备分析、专家判断。储备分析要区分应急储备应对已知-未知风险包含在进度基准内和管理储备应对未知-未知风险不包含在进度基准内动用需要审批这个点在案例题里出现过。制定进度计划是主战场关键路径法CPM、关键链法、资源优化技术资源平衡与资源平滑、进度压缩赶工与快速跟进、建模技术都在这一步。甘特图作为输出形式之一在这里出现但真正干活的算法是CPM。控制进度阶段关注的是进度偏差、挣值分析SV、SPI、迭代燃尽图这些。这里跟甘特图关系最紧密因为实际进度对比通常就是用甘特图做可视化。把这个映射关系记牢有个直接好处案例题里一旦问“项目经理目前处于哪个过程、应该做什么”你可以从“他在画什么图”倒推。画网络图就是在排列活动顺序画甘特图多半是在制定计划或汇报进度做三点估算就是在估工期。2.2 出题人的三种套路我把见过的进度题归纳成三种类型针对性准备效率最高。第一种是概念辨析型出现在上午选择题。典型问法“关于甘特图的描述正确的是”。选项会围绕“能否体现依赖关系”“能否显示关键路径”“是否适合大型复杂项目”做文章。这类题的应对办法是把上面那张对照表背下来尤其是甘特图的三个“不能”。第二种是参数计算型上午下午都可能出现。给一张单代号网络图或者一张活动表让你求总工期、关键路径、某活动的总时差/自由时差、某活动延误后工期变成多少。这类题是纯机械计算唯一的要求是流程标准化不能凭感觉。第三种是综合应用型下午案例题。前面给一大段项目背景中间列活动表然后连环问画网络图、算工期、找关键路径、判断进度是否滞后、给出压缩方案、计算压缩成本。这种题的分值往往在15到20分答错关键路径基本等于丢掉大半。三种题型的准备重点完全不同第一种靠记忆和对比第二种靠手熟第三种靠把前两种组合起来并加上一点“项目管理语言”的表达能力。我个人的经验是第二种必须练到闭着眼睛也不会错因为它是第三种的地基。2.3 单代号与双代号的画法约定含虚活动这块是很多人的知识盲区尤其是双代号里的虚活动画图时一不留神就画错。单代号网络图的规则相对简单每个活动一个方框或圆圈框里写活动名和工期箭线从紧前活动指向紧后活动表示“前者完成后后者才能开始”有多个紧前活动的多条箭线汇聚到同一个节点。图上可以标ES、EF、LS、LF、TF、FF六个参数位置固定下来形成习惯算起来会快很多。我的习惯是把方框切成上下两行、左右两列左上ES右上EF左下LS右下LF方框上方标活动名和工期下方标总时差。双代号网络图的规则要复杂得多核心是“箭线是活动、节点是事件”。这里有四条必须记住的约束一条箭线加两端节点只能表示一个活动两个活动不能共用同一对首尾节点网络图中不能出现循环回路不能出现没有箭头或没有箭尾的悬空箭线除了起点节点和终点节点其他节点都必须有进有出。正因为“两个活动不能共用同一对首尾节点”这条约束虚活动才有了存在的必要。举个典型的例子活动A工期2天、活动B工期3天两者都没有紧前活动活动C的紧前是A和B活动D的紧前只有A。如果硬画A和B都从节点1出发那它们的终点节点如果都设为节点2就违反规则了。正确的画法是节点1 → 节点2箭线表示活动A2天节点1 → 节点3箭线表示活动B3天节点2 → 节点3虚活动0天虚线节点3 → 节点4箭线表示活动C节点2 → 节点5箭线表示活动D这样进入节点3的活动有B和虚活动而虚活动来自节点2A的终点所以C的紧前活动自然变成了A和B进入节点2的只有A所以D的紧前只有A。虚活动在这里的作用是传递逻辑关系不消耗时间和资源。软考里关于虚活动的考点集中在三处一是判断某张图是否需要加虚活动二是加了虚活动之后关键路径会不会变三是虚活动的工期恒为0、资源消耗恒为0不能算进工期。我见过一道题图上画了虚活动但没标0很多人手一抖就给它安了个工期结果整条路径算错。2.4 选型判断四问定工具实际工作和答题时怎么快速决定该用哪个工具我总结了四个问题按顺序问下来基本不会选错第一问你现在要解决的是“讲清楚”还是“算清楚”讲清楚就是给不同背景的人看进度选甘特图算清楚是要确定最短工期和关键路径选项目活动图。这两个需求经常同时存在那就两张图都做别偷懒。第二问活动的工期你有多大把握如果类似的事干过很多次、数据充分直接给单一工期即可如果是研发、探索、外部依赖多的场景估算误差可能上下翻倍这时候用PERT的三点估算更有价值它至少能告诉你“这个承诺有多大风险”。第三问活动之间的依赖关系复杂吗三个活动以内的简单串并联脑子里过一遍就行一旦活动超过十个、存在多条并行分支、还要考虑跨团队的交付节点就必须画网络图。人的脑子处理不了超过七八个节点的依赖关系硬扛必然出错。第四问题目/场景里有没有提到概率、置信度、按期完成的可能性只要出现这类词答案基本锁定PERT。反过来如果强调“最短工期”“关键路径”“某活动延误影响”那就是CPM的地盘。这四个问题不是理论推演是我在实际项目里反复用过的判断路径。有一次做外部系统对接本来按单一工期排了计划后来发现对方接口上线时间完全不可控改成三点估算一算悲观情况下要多出三周立刻调整了承诺口径。工具选对了风险就提前暴露了。3. 关键路径计算实战一道八活动的题从头算到尾这部分是整篇的核心。我会用一道八个活动的例题把正推、逆推、时差、关键路径判定、虚活动处理、PERT概率估算全部走一遍。建议你拿张纸跟着算比看十遍公式管用。3.1 先立规矩六个时间参数的公式与含义关键路径法的计算对象是每个活动的六个时间参数先把它们的关系理清楚ES最早开始时间在满足所有紧前活动的前提下本活动最早能开始的时点。EF最早完成时间EF ES 工期。LF最晚完成时间在不影响项目总工期的前提下本活动最晚必须完成的时点。LS最晚开始时间LS LF - 工期。TF总时差TF LS - ES LF - EF。表示在不影响项目总工期的前提下本活动可以拖延的时间量。FF自由时差FF 紧后活动的最小ES - 本活动的EF。表示在不影响任何紧后活动最早开始的前提下本活动可以拖延的时间量。有两个关系必须刻在脑子里总时差为0的活动是关键活动所有关键活动连起来就是关键路径自由时差永远不会大于总时差。第二条经常被用来做验算——如果你算出某个活动的FF比TF还大那一定是前面算错了。还有一条容易混淆的判定规则当有多个紧后活动时FF取“紧后活动ES的最小值”减去本活动EF而LF取“紧后活动LS的最小值”。前者用的是紧后的ES后者用的是紧后的LS方向不能弄混。时点约定上教材普遍采用“第0天开始”的记法即项目从0时刻起步活动A工期3天则ES0、EF3。也有用“第1天开始”的两者算出来的工期一样只是数字整体平移1。为了跟教材和真题保持一致我下面全部用从0开始的口径。3.2 正推把ES和EF一次算干净例题某项目共8个活动工期单位为天依赖关系如下表活动紧前活动工期A无3BA4CA5DB2EB、C6FC3GD、E、F4HE2正推的规则只有一条一个活动的ES等于它所有紧前活动EF的最大值没有紧前活动的ES为0。然后EF ES 工期。一步步来A无紧前ES 0EF 0 3 3B紧前只有AEF_A 3ES 3EF 3 4 7C紧前只有AEF_A 3ES 3EF 3 5 8D紧前只有BEF_B 7ES 7EF 7 2 9E紧前是B和CEF_B 7、EF_C 8取最大值8ES 8EF 8 6 14F紧前只有CEF_C 8ES 8EF 8 3 11G紧前是D、E、FEF分别是9、14、11取最大值14ES 14EF 14 4 18H紧前只有EEF_E 14ES 14EF 14 2 16所有活动算完项目总工期 所有活动EF的最大值 18天活动G的EF。这里插一句实操提醒正推最容易错的地方不是算术而是漏看紧前活动。特别是像E这种有多个紧前的如果只取了B的7而忘了C的8后面全部跟着错。我的习惯是在草稿上把每个活动的紧前列表抄一遍算的时候逐条打勾宁可慢十秒不要返工五分钟。还有个小技巧正推完成后顺手检查一遍没有任何紧后活动的活动这里是G和H它的EF中最大值就是总工期。如果发现某个“末端活动”的EF大于你算出的总工期说明总工期取错了。3.3 逆推LF和LS的回填逆推从终点往回走规则跟正推对称一个活动的LF等于它所有紧后活动LS的最小值没有紧后活动的末端活动LF等于项目总工期18。然后LS LF - 工期。先给末端活动定基准G和H都没有紧后活动所以它们的LF都等于18。GLF 18LS 18 - 4 14HLF 18LS 18 - 2 16E紧后有G和HLS_G 14、LS_H 16取最小值14LF 14LS 14 - 6 8F紧后只有GLS_G 14LF 14LS 14 - 3 11D紧后只有GLS_G 14LF 14LS 14 - 2 12C紧后有E和FLS_E 8、LS_F 11取最小值8LF 8LS 8 - 5 3B紧后有D和ELS_D 12、LS_E 8取最小值8LF 8LS 8 - 4 4A紧后有B和CLS_B 4、LS_C 3取最小值3LF 3LS 3 - 3 0逆推完成后有个必然的验算结果起点活动的LS应该等于0。这里A的LS确实是0说明计算自洽。如果算出来不是0百分之百是某一步取最小值取错了。3.4 总时差、自由时差与关键路径的判定有了六个参数时差直接套公式总时差 TF LS - ES或 LF - EF两者等价自由时差 FF 紧后活动的最小ES - 本活动EF末端活动的FF 总工期 - EF逐个算活动工期ESEFLSLFTFFF是否关键A3030300是B4374810否C5383800是D279121455否E681481400是F3811111433否G41418141800是H21416161822否几个自由时差的算法单独说一下免得看表的时候对不上B紧后有DES7和EES8取最小77 - 7 0D紧后只有GES1414 - 9 5F紧后只有GES1414 - 11 3H末端活动18 - 16 2关键路径 总时差为0的活动串起来的路径 A → C → E → G工期 3 5 6 4 18天跟正推结果一致。这张表里藏着几个非常有价值的观察值得单独拎出来说第一B的总时差是1但自由时差是0。这意味着什么B拖延1天不会影响总工期因为总时差还有1但它一拖延紧后活动D的最早开始时间立刻从第7天变成第8天。换句话说B的“缓冲”是借来的它自己没余量只是后面的路径有富余。这类活动在实际项目里非常危险因为甘特图上看着“还有1天余量”实际一拖就把下游全推后了。第二D的总时差有5天但它的紧前B只有1天。如果D自己拖了5天虽然不影响总工期但它和B之间的时间窗口会被压得很紧一旦B也出问题两个偏差叠加就超了。这就是为什么总时差不能简单理解为“可以随便拖”。第三总时差为0的活动构成关键路径但关键路径不一定只有一条。这道题恰好只有一条如果某个活动的紧前有多条路径的EF都等于最大值那就会出现多条关键路径工期压力成倍增加。软考里专门有这种“多关键路径”的题算完一定要检查有没有并列。3.5 双代号图里虚活动怎么算用同一道题改造成双代号形式不现实我用一个更小的例子把虚活动的计算讲透。场景活动A工期2天、活动B工期3天都无紧前活动C的紧前是A和B活动D的紧前只有A。画法按2.3节的方案节点1 →→ 节点2A2天节点1 →→ 节点3B3天节点2 →→ 节点3虚活动0天虚线节点3 →→ 节点4C工期设为4天节点2 →→ 节点5D工期设为2天计算时把虚活动当成工期为0、不消耗资源的普通活动处理正推逆推照做正推节点1的早时间 ET(1) 0节点2ET(2) ET(1) 2 2节点3进入节点3的有B从节点13天和虚活动从节点20天ET(3) max(03, 20) 3节点4ET(4) ET(3) 4 7节点5ET(5) ET(2) 2 4项目工期取所有终点节点这里节点4和节点5的最大值即 max(7, 4) 7天。逆推LT(4) 7LT(5) 7节点3LT(3) LT(4) - 4 3节点2节点2出发的箭线有虚活动到节点3和D到节点5LT(2) min(LT(3) - 0, LT(5) - 2) min(3, 5) 3节点1节点1出发的箭线有A到节点2和B到节点3LT(1) min(LT(2) - 2, LT(3) - 3) min(1, 0) 0关键活动是那些“早时间等于晚时间”的节点对应的活动节点100、节点333、节点477都在关键路径上。对应到活动就是B节点1到节点3和C节点3到节点4关键路径为 B → C工期 3 4 7天。注意A节点1到节点2的时差ET(1)0、LT(1)0ET(2)2、LT(2)3所以A的总时差 LT(2) - ET(1) - 工期 3 - 0 - 2 1天。虚活动的时差 LT(3) - ET(2) - 0 3 - 2 - 0 1天。这个例子说明了一个考试里反复出现的结论虚活动本身不消耗时间但它可能出现在关键路径上如果它的时差为0也可能不在。判断依据永远是时差不是“它是虚的所以就无所谓”。我见过一道真题虚活动恰好落在关键路径上很多人想当然地在算总工期时把它跳过了结果工期少算了。3.6 PERT三点估算的期望值与概率PERT的计算在网络图之外独立进行但它算出来的期望工期可以直接替换网络图里活动的单一工期从而得到“概率意义上的关键路径”。单活动的公式前面已经给过这里补充项目层面的用法。假设某项目关键路径上有三个活动它们的标准差分别是 σ1 2、σ2 1.5、σ3 1σ总 √(2² 1.5² 1²) √(4 2.25 1) √7.25 ≈2.69天如果关键路径的期望工期之和是40天问“45天内完工的概率”z (45 - 40) / 2.69 ≈ 1.86查表 Φ(1.86) ≈ 0.9686也就是约96.9%。反过来问“要以95%的把握完工需要承诺多少天”95%对应的z值约为1.645所需工期 40 1.645 × 2.69 ≈ 40 4.43 ≈44.4天向上取整承诺45天。这套算法在实际工作里的价值极高。以前做版本排期我只会说“大概六周”现在可以说“六周完成的概率约七成要九成把握得给七周半”。一旦把话说成这样资源申请的沟通成本立刻降下来——因为对方知道你在说什么。考场上要注意两个坑一是PERT算的是关键路径上的方差叠加不是所有活动的方差叠加非关键活动的波动只要不超过总时差就不影响总工期二是z值算出负数时比如问“38天内完成”而期望是40天要用 1 - Φ(|z|)别直接查正数表。4. 常见问题与排查技巧实录理论和例题讲完最后这部分是我觉得最有用的——全是真刀真枪踩出来的经验。考场上的失分点、工作里的翻车点往往就集中在那几个地方。4.1 七个高频翻车点第一个坑把总时差和自由时差搞反。总时差是相对“项目总工期”的余量自由时差是相对“紧后活动最早开始”的余量。判断口诀总时差看LS-ES自由时差看紧后ES减本活动EF。两者混淆在选择题里是送分题变送命题。第二个坑逆推时取了最大值。正推取最大ES取紧前EF的最大值逆推取最小LF取紧后LS的最小值。这个对称关系一定要记住很多人逆推时习惯性继续取最大整个后半段全废。第三个坑末端活动的LF取错。末端活动的LF必须统一取项目总工期而不是取它自己的EF。比如3.4节里的HEF是16但LF是18如果LF取了16H就变成关键活动了关键路径立刻多出一条。第四个坑忽略多条关键路径。算完发现某个活动的紧前有两条路径EF并列最大那就有两条关键路径。这时候任何一条路径上的活动延误都会影响总工期压缩工期也必须同时压缩两条路径只压一条没用。案例题里问“压缩哪几个活动最有效”答案往往涉及多条路径。第五个坑虚活动算了工期。虚活动工期恒为0但在双代号图里它是真实存在的“逻辑传递通道”算时差时要带上算工期时按0算。这两件事不矛盾关键是别把它漏掉也别给它加天数。第六个坑压缩工期时只看关键路径。压缩关键活动确实能缩短总工期但压到一定程度原来的非关键路径可能变成新的关键路径总工期就不再下降了。所以每次压缩后都要重新计算关键路径这是案例题的标准动作很多人压完一次就收工答案直接扣分。另外还要注意“压缩有极限”活动不能压到低于它的最短工期。第七个坑把日历天当工期。网络图默认连续作业不考虑周末和节假日。案例题里如果给了“每周工作5天”这类条件就要做换算。这个坑我在实际项目里栽过网络图算出20天按自然日理解就是三周实际按工作日算是四周承诺直接错了。4.2 问题速查表把上面这些整理成一张表考前扫一眼比翻书快现象可能原因排查动作起点活动的LS不等于0逆推某步取了最大值或末端LF取错从末端重新逆推一遍逐节点核对取最小算出多条关键路径但题目说只有一条某活动的紧前EF取错重算该活动的正推检查是否漏了紧前自由时差大于总时差公式用反或紧后ES取错用“FF ≤ TF”做校验反查紧后活动总工期比手算的短漏了某个末端活动或漏了虚活动列出所有无紧后活动的活动取EF最大值加了虚活动后关键路径变了虚活动时差为0进入了关键路径按正常活动算虚活动时差确认是否关键压缩后工期不再下降出现了新的关键路径重新跑一遍全图正推逆推找并列最大路径PERT概率算出负数概率z值为负未做转换用 1 - Φ(4.3 考场提速与工程落地的经验先说考场。关键路径计算题的时间压力很大我的做法是固定一套书写模板先在草稿纸上画一张两行八列的表格第一行写活动名第二行写工期然后左边一列写紧前关系正推时在活动名下方写ES和EF逆推时在另一侧写LS和LF。位置固定下来眼睛不用来回找速度能快三分之一。另一个提速点是先用眼睛扫一遍可能的路径再动笔算。像3.2节那道题从A出发能走的路径有A-B-D-G342413、A-B-E-G346417、A-B-E-H346215、A-C-E-G356418、A-C-E-H356216、A-C-F-G353415。把这些路径长度列出来最长的18就是总工期对应的A-C-E-G就是关键路径。这个方法在小图上比正推逆推快得多而且不容易算错可以当作验算手段。但活动一多路径数量会爆炸那时候还是老老实实正推逆推。再说工程落地。教材里的关键路径法是确定性的现实项目里工期是概率性的所以我习惯做两件事一是给关键路径上的每个活动单独标风险等级关键路径上任何一个活动出问题整个项目就出问题所以这些活动的资源优先级、监控频率、汇报层级都应该跟非关键活动不一样。我在实际项目里会把关键路径活动标红每天站会必过一遍。二是定期重算关键路径。项目进行到中段原来的非关键路径很可能因为某个活动延误而变成新的关键路径。我吃过这个亏前期一直盯着某条路径结果另一条路径悄悄涨上来等发现的时候已经来不及了。后来改成每周重算一次成本不高收益很大。关于甘特图我还有一个私人心得给甘特图加一条“今天”的竖线。这条线一画左边是已经发生的右边是还没发生的任何人扫一眼就能判断“我们现在是快了还是慢了”。这个细节小到不值一提但在跨部门汇报时特别管用比讲十分钟偏差分析有效。最后说一句 PERT 的实际用法。三点估算最容易被滥用的地方是把O、M、P三个数随便填。如果三个数没有真实依据算出来的期望值和标准差就是精致的废话。我的做法是O和P必须来自“具体的人具体的场景”比如O是“接口一次调通”P是“对方延期两周且要返工”M是“按历史平均”。有场景支撑的三点才有决策价值没有场景的三点不如直接报一个数然后加20%缓冲。我个人在这些年的体会是进度管理这几个工具的价值不在“算得多准”而在“让讨论有共同语言”。甘特图让不同角色能在同一张图上对话网络图让“为什么不能提前”这件事变得可解释PERT让“有多大把握”从感觉变成数字。真到了项目里最难的从来不是算关键路径而是让所有人相信这条路径、并且愿意为它让路。工具只是把这件事摆到台面上的手段摆得清楚事就好办一半。