挣值管理不是搞数字游戏(3)——进阶指标:CV、SV、CPI、SPI、EAC

2024-05-23 02:58

本文主要是介绍挣值管理不是搞数字游戏(3)——进阶指标:CV、SV、CPI、SPI、EAC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要:
要考PMP(Project Management Professional ),挣值管理是必考的知识。软件项目有很大的特殊性,不少人认为挣值管理不太适用于软件项目。挣值管理相关资料也比较超多,但一般都难以读懂,本文将会以轻松、易懂、实用的角度为你讲解。

大纲:
1.挣值管理无用论
2.从搬石头的故事说起
3.三大基本要素:PV,AC,EV
4.成本偏差(CV),进度偏差(SV)
5.成本指标(CPI),进度指标(SPI)
6.成本预测(EAC)

7.挣值管理不是搞数字游戏,要让挣值管理实用!
我将会通过4篇文章为你分享!



成本偏差(CV),进度偏差(SV)

跟踪计划进展情况,我们会关注成本和进度的情况,可以用以下的指标:
CV,Cost Variance ,成本偏差,CV = EV - AC。
SV,Schedule Variance,进度偏差,SV = EV - PV。

如果CV、SV等于零,则表示成本与进度情况与计划的完全一致。
如果为负数,则表示成本超支,进度落后。
如果为正数,则表示节省成本,进度超前。

你可以这样记忆:这两个数字越大越好!CV越大表示成本约节省,SV越大表示进度越超前,CV、SV为零时就表示和计划一致,为负数时,就表示成本超支,进度落后。



成本指标(CPI),进度指标(SPI)

CPI,Cost Performance Indicator,成本指标,CPI = EV / AC 。
SPI,Schedule Performance Indicator,进度指标,SPI = EV / PV 。

CV是EV和AC做减法运算,而CPI则是这两者做除法运算;类似SV是EV和PV做减法运算,而SPI是这两者做除法运算。

CPI、SPI如果等于1,则表示成本与进度情况与计划的一致。
如果大于1,则表示成本节省,进度超前。
如果小于1,则表示成本超支,进度滞后。

你同样可以这样记忆:这两个数字越大越好!这两个数字越大,说明项目情况越理想,成本节省,进度超前。

CPI、SPI是项目的性能指标,这两个指标其实反应了项目的成本、进度的当前性能,数字越大表示越理想。



成本预测(EAC)

EAC,是Estimate at Completion的简称,意思就是项目完成时的成本估计。项目管理者和项目的老板,一定是很关注该项目的最终成本,那如何在项目进行过程中就能预测到最终的可能成本呢?

有这样的一个预测公式:EAC = AC + (BAC - EV)/CPI
BAC,是Budget at Completion的简称,则预算。

上面这个公式可以拆解为:
项目的最终成本预测(EAC) = 已经花费的成本(AC)+ 将来可能花费的成本
将来可能花费的成本 = 项目未完成的工作 / 项目当前的成本性能(CPI)
项目未完成的工作 = 预算(BAC)- 已经完成的工作(EV)

假设项目当前的CPI值能一致保持下去,那么项目的最终成本就一定是这个预测公式所预测到的数字。
如果在将来的时间能持续提高CPI,那么项目的最终成本将会越少,反之如果CPI在将来降低,则项目最终成本会更大。
也就是说你作为项目经理,为降低项目最终成本,你需要随时控制好CPI,让CPI的数值大于等于1,越大越好。

PV、AC、EV这三个概念是理解挣值管理的最基本概念,而CV、SV、CPI、SPI、EAC这些都是最开始那三个概念的衍生。一开始你会被这些衍生概念搞晕的,你需要先回头将最基础的三个概念理解好,特别是理解好前文的那个图以及那几个问题。



请看下一篇……



作者:张传波

创新工场创业课堂讲师

软件研发管理资深顾问

《火球——UML大战需求分析》作者

www.umlonline.org 创办人

这篇关于挣值管理不是搞数字游戏(3)——进阶指标:CV、SV、CPI、SPI、EAC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/996113

相关文章

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

在Node.js中使用.env文件管理环境变量的全过程

《在Node.js中使用.env文件管理环境变量的全过程》Node.js应用程序通常依赖于环境变量来管理敏感信息或配置设置,.env文件已经成为一种流行的本地管理这些变量的方法,本文将探讨.env文件... 目录引言为什么使php用 .env 文件 ?如何在 Node.js 中使用 .env 文件最佳实践引

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

javacv依赖太大导致jar包也大的解决办法

《javacv依赖太大导致jar包也大的解决办法》随着项目的复杂度和依赖关系的增加,打包后的JAR包可能会变得很大,:本文主要介绍javacv依赖太大导致jar包也大的解决办法,文中通过代码介绍的... 目录前言1.检查依赖2.更改依赖3.检查副依赖总结 前言最近在写项目时,用到了Javacv里的获取视频

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、