1. 为什么我想专门聊聊“挣值”这件事先坦白一下我接触“挣值”这个词最开始是因为准备PMI-ACP考试。当时翻开备考资料看到“Earned Value”这个词第一反应是这不就是传统项目管理里那套成本核算方法吗敏捷不是讲究价值导向、拥抱变化吗怎么还要学这个后来真正在几个转型敏捷的项目里把这个概念用起来我才明白——挣值这个工具在敏捷环境下不但没有过时反而换了一种形态在发挥价值。它不是让你死板地盯数字而是帮你建立一套“可量化地判断项目健康度”的语言体系。无论你是做敏捷教练、项目集经理还是带研发团队的负责人只要能读懂挣值你在向管理层汇报进度时就不再只能说“感觉还不错”而是能拿出“目前实际完成的工作量相当于计划的80%但已消耗的成本是计划的1.2倍”这种有说服力的判断。这篇文章我想从一个从业者的角度把挣值是什么、在敏捷里怎么算、怎么用、有哪些坑一次性讲清楚。尽量用大白话加真实案例希望能帮你省下自己摸索的时间。2. 挣值管理的基本概念与公式拆解2.1 三个基础指标PV、EV、AC理解挣值最先要掌握三个基础指标。这三个指标就像是体检时的身高、体重、血压单项看未必能说明问题放在一起就能看出身体状况。第一个是PV也就是计划价值Planned Value。你可以把它理解为“到这个时间点为止按原计划应该完成的工作量所对应的价值”。打个比方你计划用10天砌完一面墙每天砌一平方米每平方米报价500块那么到第5天PV就是2500块。不管你实际干没干计划要求你应该完成价值2500块的工作。第二个是EV也就是挣值Earned Value这是整个体系的核心。它是指“到这个时间点为止实际完成的工作量所对应的价值”。还拿砌墙说到了第5天你实际只砌了4平方米那EV就是2000块。注意EV跟你实际投入了多少钱没有关系它只看你完成了多少“有效产出”。这句话特别重要因为很多人会把EV和AC搞混。第三个是AC也就是实际成本Actual Cost。这个最直白就是“到这个时间点为止你实际花掉了多少钱”。继续那个例子你原本计划花2500块结果因为是新手浪费了材料实际上花了3000块那么AC就是3000块。这三个指标合在一起传统项目管理的挣值分析就建立起来了用EV和PV比较看进度用EV和AC比较看成本。2.2 四个导出指标SV、CV、SPI、CPI有了PV、EV、AC这三个基础值就可以算出四个衍生指标。第一个是进度偏差SVSchedule Variance公式是SV等于EV减PV。结果为正数说明进度比计划超前为负数说明进度落后了。在之前那个例子中EV是2000PV是2500SV就是负500说明你落下了500块价值的活。第二个是成本偏差CVCost Variance公式是CV等于EV减AC。正数说明钱花得比赚到的价值少也就是成本控制得不错负数说明超支了。例子里EV是2000AC是3000CV就是负1000说明你每干出2000块的活实际丢了1000块进去。第三个是进度绩效指数SPISchedule Performance Index公式是SPI等于EV除以PV。这个指标是个比值大于1说明进度超前小于1说明进度落后。例子里2000除以2500等于0.8意思是实际产出只有计划产出的80%。第四个是成本绩效指数CPICost Performance Index公式是CPI等于EV除以AC。这个比值反映你花的每一块钱换回了多少价值。例子里2000除以3000等于0.67意思是每花1块钱只换回0.67块的价值钱花得效率很低。这四个指标核心思路其实很简单把“计划”“实际产出”“实际花费”三者放在同一个价值刻度上去比较。你不需要背公式只要理解背后的逻辑每个指标都是在回答“我到底干得怎么样”的不同侧面。2.3 指标的使用场景与判断标准根据我的经验不同角色的使用者关注的指标可能完全不同。如果你是项目经理或敏捷教练你需要同时关注SPI和CPI。因为你要对项目的整体健康度负责进度慢了要调整节奏成本超了要提醒团队控制范围或优化投入。如果你是团队负责人不直接管钱那么SPI比CPI更有参考价值。团队每天写代码、做评审、改bug本质上都是在把需求变成可交付的功能SPI能反映这个“转化效率”是否正常。如果你是管理层或甲方你可能更关心CPI。因为钱是实打实的进度还可以靠加班追回来但成本超支通常很难在后面的周期里补回来。判断指标的好坏一般有下表这个粗略的参考标准指标数值范围含义应对建议SPI等于1进度完全按计划继续保持SPI大于1进度超前关注质量避免冒进SPI小于1进度落后分析瓶颈调整迭代节奏CPI等于1成本恰好预算无需干预CPI大于1成本表现良好审视是否有未必要做的工作CPI小于1成本超支控制范围蔓延优化投入产出但这里我要强调一句任何指标都有滞后性和局限性不能只看单次数值就下结论。最好的做法是多个迭代持续跟踪看趋势。3. 挣值在敏捷环境中的落地方式3.1 从传统项目到敏捷项目挣值发生了什么变化你可能会问传统项目的挣值管理依赖的是WBS分解、工时估算、成本台账这些到了敏捷环境里我们没有那么细的WBS也没有一套严格的工时核算体系甚至需求每隔两周就可能变化一次挣值还能用吗答案是能用但要换一种用法。敏捷环境下的挣值主要发生了两个变化。第一个变化是“度量单位”变了。传统项目用“人天”“工时”或“金额”作为价值度量单位而敏捷项目通常用“故事点”作为工作量单位。为什么不用工时因为敏捷强调相对估算一个3点的故事不一定比一个2点的故事多耗时50%它更多代表的是复杂度、风险和不确定性的综合判断。但相对估算也有一个好处它稳定。团队自己在同一个尺度上估算虽然绝对数值没有意义但相对比例是可信的。既然故事点是团队统一使用的单位那么把它当作度量价值的“代币”也就顺理成章了。第二个变化是“观察周期”变了。传统项目按月甚至按季度做一次挣值分析敏捷项目天然按迭代运行通常一到四周一个冲刺每个冲刺结束都是一次检视和调整的机会。因此敏捷环境下的挣值分析频率更高、节奏更稳定几乎可以做到每个迭代都能向干系人展示项目和成本的最新状态。这种变化带来的好处是明显的挣值不再是一个“事后算账”的财务工具而是变成了团队持续改进的反馈信号。团队成员在回顾会上讨论“上迭代我们实际完成了8个故事点但计划是12个SPI只有0.67发生了什么”这种讨论远比对着报表喊“大家加把劲”更有实际意义。3.2 基于故事点的挣值计算在敏捷项目里挣值计算遵循一个重要前提项目有一个总的故事点预估以及一个对应的总预算BAC。举个例子假设我们要做一个内容管理系统团队经过估算整个项目大约有100个故事点的工作量总预算定在50万元。这里的BAC就是50万元。那么每个故事点对应的预算价值就是50万除以100等于每个故事点价值5000元。这个“每个故事点的价钱”是整个度量体系的基本换算率。它在项目开始时确定后面尽量不要再动。接下来假设项目计划用8个迭代完成每个迭代计划完成12.5个故事点。那么第一个迭代结束时PV就是12.5乘以5000等于6.25万元。到了第二个迭代结束时PV就是12.5乘以2再乘以5000等于12.5万元。PV反映的是“到现在为止按计划应该产出多少价值”。EV的计算看实际完成的故事点数。假设第一个迭代实际完成10个故事点EV就是10乘以5000等于5万元。现实一点说就是团队原计划这10天干12.5个点的活结果只干了10个点的活。AC的计算相对简单就是这一个迭代实际花掉的钱。这里不仅要算团队的人力成本最好把工具、设备、外包等一切真实的支出都算进去。假设第一个迭代实际花了8万元那AC就是8万元。有了这三个数就可以计算第一迭代的各项指标了SV等于EV减PV等于5万减6.25万等于负1.25万CV等于EV减AC等于5万减8万等于负3万SPI等于EV除以PV等于0.8CPI等于EV除以AC等于0.625这个结果的含义是进度落后了约两成成本超支了约四成。虽然只是第一个迭代但这个信号已经足够拉响警钟了。3.3 燃尽图、燃起图和挣值的配合使用说句实话在日常敏捷实践中大家看燃尽图Burndown Chart的频率远高于看挣值报表。燃尽图能直观展示迭代剩余工作随时间的变化但它有一个盲区——它只反映工作量故事点的剩余情况不反映钱花到哪里去了。挣值分析刚好补上这个盲区。我总结了一套自己的用法。在一个迭代进行中我会在每日站会前扫一眼燃尽图感受团队的剩余工作趋势而在迭代结束后的回顾会上我会把燃尽图的完成情况换算成EV再结合这个迭代的实际花费AC去计算SPI和CPI。这样做的好处是燃尽图解决的是“过程中的可视化问题”挣值解决的是“周期后的成本效率问题”两者配合起来我既能实时感知团队的节奏又能在每个迭代结束时用一套完整的数字去评估团队的整体健康状况。有些团队还会用燃起图Burnup Chart来辅助做挣值分析。燃起图展示的是累积已完成故事点配合总的预测故事点能直观看出当前总进度百分比。把燃起图上的已完成故事点累计值乘以每个故事点的预算单价这个数值就是累计EV。所以从某种意义上说燃起图就是挣值分析的可视化伴侣。4. 实操过程一个敏捷项目的挣值计算示例4.1 项目背景与基础参数设定为了让你能照着算一遍我完整跑一个真实的估算过程。假设我们在给某客户做一个电商小程序的迭代开发。团队一共6人项目经理兼任敏捷教练。经过发布规划会议团队对产品待办列表做了估算之和得出总故事点数为80点。客户批准的预算为40万元也就是BAC等于40万。计划用4个迭代完成每个迭代3周计划完成20个故事点。这里有个细节为什么不是每个迭代20点整因为团队可能有请假、节假日等因素。计划不必做得特别完美但要确保PV有依据。在这个例子里我假设团队评估自己的通常节奏是每3周完成18到20个故事点所以我取了一个比较合理的均值20点作为每个迭代的基准。换算下来每个故事点的预算单价是40万除以80点等于每个故事点5000元。这个单价非常重要后续所有计算都围绕它展开。4.2 每个迭代的计算过程第一个迭代结束时计划完成20个故事点则PV等于20乘以5000等于10万元实际完成18个故事点则EV等于18乘以5000等于9万元实际花费是9.5万元则AC等于9.5万元计算指标SV等于负1万CV等于负0.5万SPI等于0.9CPI约等于0.95。这个结果不算太糟。进度落后一点点成本略微超支。我给团队的分析是第一个迭代有磨合成本能跑到0.9的SPI、0.95的CPI已经算正常不需要做大的调整但要留意下迭代是不是有固定的低效环节。第二个迭代结束时累计计划完成40个故事点PV计为20万累计实际完成35个故事点EV计为17.5万累计实际花费为20万元AC计为20万累计指标SV等于负2.5万CV等于负2.5万SPI等于0.875CPI等于0.875。连续两个迭代都是进度落后加成本超支虽然幅度不大说明团队存在系统性问题。这时候我就会去看每个迭代过程中是不是有范围蔓延或者故事估算是不是普遍偏乐观。第三个迭代结束时累计计划完成60个故事点PV等于30万累计实际完成55个故事点EV等于27.5万累计实际花费为31万AC等于31万累计指标SV等于负2.5万CV等于负3.5万SPI约0.917CPI约0.887。情况有微妙变化进度偏差维持住了没有继续扩大说明团队的产出能力在恢复但成本偏差继续恶化说明钱比工作产出跑得快。此时我会比较警惕需要去查一查AC的口径是否包含了额外的外包费用是不是有人把不该算进去的钱算进去了。第四个迭代结束时累计计划完成80个故事点PV等于40万累计实际完成76个故事点EV等于38万累计实际花费为43万AC等于43万最终累计指标SV等于负2万CV等于负5万SPI等于0.95CPI约0.884。4.3 从指标解读到管理决策这些数字代表什么让我逐个说清楚。SPI等于0.95说明项目整体完成了计划的95%工作。也就是还有4个故事点约2万元价值的产出没有按计划完成进度延迟约5%。考虑到团队遇到的假期和外部接口延误这个偏差是可以接受的。CPI等于0.884说明项目整体每花出1块钱只换回约0.884块钱的产出价值。实际花费43万挣得价值38万中间5万去哪了大部分消耗在了额外返工和等待外部依赖的空转成本上。如果我在第三个迭代结束时就要给客户一个完工预测最简单的估算方法是按当前的效率继续完工总成本预测为BAC除以CPI即40万除以0.884约等于45.25万。也就是说如果后面的工作仍然保持同样的成本效率项目最终可能会超出预算约5.25万元。这个估算不是精确的承诺但它能给管理层一个量级的判断依据。在实际操作中我会把这个预测值作为“不采取任何改进措施”的基线然后和团队一起在最后一个迭代里去寻找压缩成本的办法比如减少非必要的文档工作、集中处理外部依赖、降低返工率。最终把实际超支控制在5万以内项目成本大约超预算12.5%。对于一个实际冲刺范围还有多次变化的中型项目这算是一个可以接受的收尾状态。4.4 实操中的心得与建议这套计算我跑过很多次有几个实操心得想分享。第一故事点单价一旦确定一个迭代内不要轻易修改。团队估算的尺度和预算的换算关系是挣值分析的基石。如果三天两头改动单价后面的对比就全乱套了。第二AC的统计口径要稳定。今天算人力成本明天算外包费后天又不算工具费用那算出来的CPI就没有可比性。我建议在项目启动时明确定义AC包含哪些项最好在团队协作平台里建一张简易的成本台账每周更新一次。第三关注累计指标不要只看单迭代。单迭代数据波动脉冲可能很大但累计值能体现真实的长期趋势。我见过很多团队单迭代SPI能到1.3等到下迭代又回落到0.7如果只看单次结果做决策很容易做出过激的反应。5. 常见问题与排查技巧实录5.1 为什么算出来SPI很高团队却感觉很累我自己踩过的一个坑是某个迭代的SPI非常漂亮达到了1.2但团队成员全都疲惫不堪产品质量问题频发。后来复盘才发现团队在迭代里“抢”了很多低复杂度任务把故事点快速刷上去了但真正有难度的高价值需求其实都没动。SPI高只是说明完成了大量容易的故事点并不等于项目在正确的方向快速前进。这是一个重要的认知SPI和CPI都不衡量价值只衡量工作量与成本的关系。你在敏捷项目里如果只看这两个指标很容易被表面的数字蒙蔽。所以我现在的做法是除了看SPI和CPI还一定会看“已交付的故事点中业务价值最高的那部分占了多少比例”。如果高价值需求迟迟没有交付即使整体指标好看我也认为项目是亚健康的。5.2 敏捷环境下挣值的适用边界不是所有敏捷项目都适合把挣值当成核心管理工具。小型初创团队六人以内产品需求还在探索阶段每个迭代变来变去挣值分析带来的管理成本可能大于收益。这时候更应该关注客户反馈和产品市场匹配度不是做成本绩效分析。高风险长周期的企业级项目挣值则非常有用。因为它能够提供一个定量基础让项目经理在需求变更频繁的情况下依然能向管理层解释“我们完成了多少”“效率如何”“钱花到哪里了”。另外如果团队没有稳定的故事点估算习惯强行引入挣值也没什么意义。挣值建立在“估算”之上的如果估算本身就三天两头推翻那么算出来的EV也只是自欺欺人。所以我的建议是把挣值当成一种“可选的指标工具箱”而不是敏捷项目的标配。当项目复杂度、成本敏感度和干系人的数据需求达到一定程度时再把挣值引入进来。5.3 备考ACP时关于挣值的最常考点如果你是准备PMI-ACP考试关于挣值的内容有必要做一个小梳理。ACP考试对挣值的考察没有PMP那么深不太会让你做大量复杂的数学题但有两个方向要重视。一个是概念辨析。你需要清楚EV、PV、AC分别是什么意思能根据题干给出的描述判断对应哪一个指标。这里最常见的陷阱是题干里说“团队本周完成了25个故事点每点价值4000元实际花费……”你需要快速判断出EV是25乘以4000。另一个是指标含义。考题会让你根据SPI、CPI的值判断项目状态或者根据状态反推该用哪个指标。只要掌握了“EV减PV是进度”“EV减AC是成本”这个逻辑基本都不会错。我在备考时用过一个小技巧把所有公式打印成一张A4纸贴在书桌前。每天睡前花两分钟在脑子里过一遍SPI大于1说明进度超前CPI小于1说明成本超支。坚持一周形成肌肉记忆考试时就不用临时推导了。5.4 几个常见计算错误与排查方法在实际用挣值的过程中有几个错误特别常见。第一个错误是混淆EV和AC。不少初学者会问我花了8万块钱难道不是完成了8万块的工作吗答案是不一定。你花出去的钱是投入产出多少是另外一回事。返工、开会、等待这些都是成本但不一定有对应的可交付成果。一定要用“实际完成的故事点”去算EV而不是用“实际花费的钱”去替代EV。第二个错误是PV的口径不一致。有些人做月度累计PV时使用的是迭代开始时重新调整过的计划而不是项目最初批准的基准计划。这会导致SPI比较对象漂移。我的建议是建立一条“基准PV曲线”除非客户签订正式变更申请否则这条曲线保持不变。第三个错误是忽略AC统计截止时间。不同迭代的AC统计截止时间点不同比如有些迭代在周五晚上截止有些在周三截止这样算出来的AC在时间跨度上不可比。解决方案是固定截止时间比如统一每周五下午6点统计。第四个错误是过早使用预测公式。EAC等于BAC除以CPI这个公式在项目早期比如第一个迭代结束时算出来的参考意义其实不大因为早期数据不足一个迭代的偏差可能是偶然因素导致的。我习惯至少等到第三个迭代结束再对最终完工成本做比较认真的预测。我把这些问题整理成一张速查表方便你遇到类似情况时快速对照常见错误可能原因排查方法CV为正但团队喊没钱AC漏算了外包或人力外聘费用检查成本台账确认AC口径SPI长期等于1但交付延迟故事点被高估或完成标准过松对比实际交付物与团队约定定义EV竟然大于PV团队完成了额外范围但未做变更申请检查是否有范围蔓延CPI突然暴降某笔大额一次性支出计入当期排除非经常性成本单独分析指标波动剧烈故事点估算不一致或AC统计周期不一统一估算规范固定统计截止日这五类问题基本覆盖了我这些年实操中遇到的绝大多数异常。方法本身不难难的是养成定期核对数据的习惯。我建议每个迭代回顾会时固定留出十分钟把三个基础指标和四个衍生指标过一遍填进一张固定格式的表里。这个习惯坚持两三个迭代你对项目健康状况的感知会敏锐很多。回到挣值这件事本身我觉得它最重要的价值不是让你变成一个只会盯着数字的财报会计而是逼着你把“我们到底干得怎么样”这个问题从一个模糊的、靠直觉来回答的问题转变成了一个可以用数据去支撑和论证的问题。敏捷强调响应变化但响应变化的前提是知道变化发生的信号在哪里。挣值就是你捕捉这些信号的一双眼睛。我个人最后想分享一点不要把挣值分析变成团队的压力工具。我一个项目初期特别激进每两周把SPI和CPI贴到墙上排名结果团队为了把数字变好看开始把故事点估得越来越大后来越来越失真。后来我改成了只在内部用于诊断和回顾结合定性讨论去解释数字背后的故事效果反而好很多。指标是工具不是信仰。数据是帮你看清问题的不是替你作决策的更不是拿来惩罚人的。
