📄 本篇摘要
进度管理两把尺:WBS(工作分解结构)把大目标拆到【可估计、可分配、可验收】的小块——拆不动=还没想清;EVM(挣值管理)用三个数回答【到底快了还是慢了、省了还是超了】——进度预算一起看,不靠感觉。
📝 关系
上一节:构造与析构 | 本章收官:⌨️ 编程原理 · 索引
一、WBS:把大象拆成积木
WBS(Work Breakdown Structure)=把项目逐层分解成工作包:
【图书管理系统】(项目)
├─ 借阅模块
│ ├─ 借书接口 (2 人日)
│ ├─ 还书接口 (2 人日)
│ └─ 逾期计算 (3 人日)
├─ 查询模块
└─ 报表模块
合格的分解标准:工作包粒度可估计(人日)、可分配(有负责人)、可验收(有完成标准)。教材提醒两个拆法陷阱:
- 拆太粗(【开发系统】一个包)——估计等于拍脑袋;
- 拆太细(一个函数一个包)——管理成本反超开发成本。经验值:一个工作包 2~10 人日。
WBS 的隐藏价值:拆不动的地方就是风险——【数据同步那块还没想清】在 WBS 上直接暴露。
二、EVM:三个数看清进度
EVM(Earned Value Management,挣值管理)三个基础值:
- PV(计划价值):到今天【计划】完成多少价值(元或人日);
- EV(挣值):到今天【实际完成】的工作价值多少;
- AC(实际成本):到今天【实际花了】多少。
四个衍生指标(心算即可):
| 指标 | 公式 | 读法 |
|---|---|---|
| 进度偏差 SV | EV − PV | 负=落后 |
| 成本偏差 CV | EV − AC | 负=超支 |
| 进度效率 SPI | EV ÷ PV | <1=进度慢 |
| 成本效率 CPI | EV ÷ AC | <1=花钱快于产出 |
EVM 的精髓:进度和成本交叉验证——【按时】但 CPI 0.7=花钱太快,【省钱】但 SPI 0.6=进度严重落后。单一维度都会骗人。
三、动手 Demo:给一个小项目算 EVM 账
def evm_report(pv, ev, ac):
sv, cv = ev - pv, ev - ac
spi, cpi = ev / pv, ev / ac
print(f"PV={pv} EV={ev} AC={ac}")
print(f"SV={sv:+} CV={cv:+} SPI={spi:.2f} CPI={cpi:.2f}")
verdict = []
if spi < 1: verdict.append("进度落后")
else: verdict.append("进度达标")
if cpi < 1: verdict.append("成本超支")
else: verdict.append("成本可控")
return ";".join(verdict)
# 项目 A:干了 80 计划 100 的活,花了 90
print("项目 A:", evm_report(pv=100, ev=80, ac=90))
print()
# 项目 B:干了 120 计划 100 的活,花了 150
print("项目 B:", evm_report(pv=100, ev=120, ac=150))
沙箱实跑输出:
PV=100 EV=80 AC=90
SV=-20 CV=-10 SPI=0.80 CPI=0.89
项目 A: 进度落后;成本超支
PV=100 EV=120 AC=150
进度达标
SV=+20 CV=-30 SPI=1.20 CPI=0.80
项目 B: 进度达标;成本超支
看到什么算成功:两个项目的四指标各就各位,结论自动生成。
读结果:项目 A 双红(落后且超支);项目 B 进度超前 20%(SPI 1.2)但每花 1 元只挣 0.80 元(CPI 0.80)——靠加班猛冲、成本失控的典型画像。EVM 让这种状态在第 2 周就被看见,而不是交付日。
四、30 秒实验
预测:项目 B 若保持 CPI 不变,做完价值 200 的全部工作要花多少?200 / 0.80 = 250——超支四分之一。CPI 是整项目最有预测力的指标(历史数据里它最稳定)。
五、常见误区
| 误区 | 真相 |
|---|---|
| WBS 就是任务清单 | 工作包必须有估计、负责人、验收标准;无验收标准不算分解 |
| 进度百分比拍脑袋报 | 挣值按【完成工作的价值】计;【感觉写了七成】不是 EV |
| EVM 只管大项目 | 迷你版(三个数)个人项目也能用;小成本见大真章 |
自测三问(点击展开)
1. **合格工作包的三可?** 答:可估计(人日)、可分配(负责人)、可验收(完成标准)。 2. **SPI 和 CPI 各怎么算、怎么读?** 答:SPI=EV/PV(进度效率)、CPI=EV/AC(成本效率);小于 1 即落后/超支。 3. **EVM 为什么比单看进度百分比强?** 答:进度与成本交叉验证——超前也可能超支,省钱也可能滞后。- ☑ 第五章 完结 —— 教材这一章已读完二十六节:从可读性三基石(5-1/5-2)出发,走过测试金字塔(5-3~5-6)、调试与 BTS(5-7)、静态检查(5-8)、生命周期与 DevOps(5-9/5-10)、重构与 TDD(5-11/5-12)、设计图(5-13)、构建(5-14),后半章面向对象九连(5-15~5-23:类、继承、字段、封装、多态、UML 模式、关系、模块、AOP/DI)、DDD(5-24)、构造析构(5-25),以 WBS/EVM(5-26)收官——【怎么写、怎么测、怎么管】一套全齐。下一章(第六章 Web技术与安全)已开写:HTML、HTTP 起点、安全漏洞 收官
相关笔记
- 软件生命周期与 DevOps —— 本章流程篇的主轴
- 多态与接口 —— 本章面向对象篇的枢纽
- ⌨️ 编程原理 · 索引 —— 全课路线图