挣值管理不是搞数字游戏(4)——让挣值管理实用!

2024-05-23 02:58

本文主要是介绍挣值管理不是搞数字游戏(4)——让挣值管理实用!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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



挣值管理不是搞数字游戏,要让挣值管理实用!

挣值管理将项目管理工作数字化、可视化,很多第一次学习挣值管理的项目经理会兴奋不已,想马上在实际项目管理中用上,但往往实际效果不甚理想。下面我列举一下常见的情况:

项目计划与项目计划跟踪工作没有做好,就没有做挣值管理的基础,这可能是最常见的情况了。很多软件项目,没有文档化的计划,没有详细的进度计划,很多工作通过开会、口头布置等方式落实。这样无法得到PV、AC、EV这三个基础数值,挣值管理自然就无从落实。

如果计划与计划跟踪的工作能落实,这已经是前进了一大步,但如果没有有效的、简单的实际数据收集方式,挣值管理也难以完全落实。一般我们会使用Project来做进度计划,如果我们能将任务细化做好,就能得到PV,如果我们能将任务的完成情况及时更新,这样就能得到EV,但实际工时(AC)就不容易统计了。有些公司每周或者每月收集一次实际工时,有些公司还专门安排项目助理来负责数据收集的工作。但这些做法一开始会让项目组各成员很不适应,能坚持下来的项目就很少了。

就算以上两个问题你们都能解决,但你无法解决软件项目“两不确定两大限死”的特点。这个特点让你无法在项目初期计划好项目的全部工作,而且计划还经常与实际不符,你需要经常调整。也就是说你无法定下全部的PV,而且PV会经常调整。PV无法全部确定而且会经常调整,这意味着项目计划的基准经常在变化,你会发现不止是PV,AC、EV的数值变化会非常频繁,CV、SV、CPI、SPI这些指标变化幅度会很大。你会觉得花了这么多的心思和工作来做挣值管理,收益却不是很大。

项目计划包括开发计划、测试计划、采购计划、培训计划、配置管理计划等等的各种计划,一般会由不同的人员负责这些计划,这些计划一般是各自编写的,不在同一份文档里面,而且它们的表现形式也不太一样。要系统地跟踪这些计划的PV、AC、EV,就需要解决这些计划的统一性问题,而且不能因为要度量PV、AC、EV,而让这些计划的负责人承担很多额外的工作。

回到最根本的问题,我们为什么要用挣值管理?难道就是为了追求量化吗?

如果某项目的CPI、SPI数值很理想,一直在100%附近,你会觉得这个项目情况很理想吗?
数字不能说明全部问题,数字往往还会欺骗我们呢!CPI、SPI 数值为100%,项目仍然有可能有严重问题。如果项目计划本身有问题,漏掉了关键工作没有安排,这样PV其实是有问题,执行这样的计划,得到的AC和EV,计算出来CPI、SPI,其实没有什么意义。挣值管理说到底其实还是计划与计划执行情况的比较,需保证计划没有问题,这样的比较才有意义。

某项目CPI、SPI都偏低,说明项目超支、进度落后,你会想到怎样改进措施呢?在建筑工程中出现这样的情况,一般就是通过加班来搞定进度落后的问题,而项目超支一般就只能尽量节省一点,没有更好的解决办法。在软件项目中,你会想到怎样的办法呢?
一般我们想到的办法往往是想办法让AC更少,让EV更多,而很少去想办法降低PV!软件项目是人类的高级智力活动,一个很有智慧的想法就能解决很多问题。软件项目需求不确定、设计也不特定,需要我们用更多的智慧去主动迎接这两个挑战,想办法降低工作量!

我们公司采用挣值管理来管理项目,已经有6年以上时间,最开始需要解决的就是落实计划及计划跟踪工作,无论贵公司是否想采用挣值管理,这个工作都应该先做好,否则别的东西都是空谈。在此基础上,我们逐步落实各种度量措施,能让我们方便地得到PV、AC、EV。到后期我们更加是更进一步,将按项目性质和工作类型,细分CPI、SPI,将需求分析软件设计编码、测试四个子过程细化,加强控制力度并提高,使之达到CMMI4级及5级水平。

看上去我们公司似乎挣值管理做到了比较高的层次,其实我自己本人是不太想去计算这些CPI、SPI指标的。2009年我做了几个公司之前没有做过全新的项目,需求与技术不明确的特点充分展示出来,而且我带领的团队成员全部都是新人,大部分还是应届生。项目每天都在打仗,而工作重点是想办法去降低工作量!这几个项目,全部都是预算限死、工期限死的!

对于挣值管理PV、AC、EV,我的看法是:
PV:你要想尽一切办法降低PV,这是让项目成功的最有效办法,是你最需要做的事情!
AC:要让项目组水平不断提高,让大家学会高效的工作办法,让大家用正确的办法做正确的事情,这样才能降低AC。
EV:每个任务的完成标准必须明确,任务要足够细分,不要安排长周期的任务。任务只有两个状态:完成与未完成,任务完成90%之类的说法是不靠谱的,只要未完成,状态就是未完成,该任务EV为零。

我觉得挣值管理最大的精要应该在于你对PV、AC、EV的认识!PV、AC、EV其实不必量化,项目成功的关键在于项目组的整体能力水平和知识水平,在于工作的条理性和严谨性。你觉得项目管理有问题,其实问题可能不是因为没有应用挣值管理,而是项目组的水平不够,工作没有条理。

挣值管理不是玩数字游戏,所有数字的背后必须有大量的客观事实支撑,否则要数字不如无数字。本文介绍了挣值管理基础知识以及在实际应用中的经验体会,希望同学们能在实际工作中体会并灵活应用。





请看下一篇……



作者:张传波

创新工场创业课堂讲师

软件研发管理资深顾问

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

www.umlonline.org 创办人

这篇关于挣值管理不是搞数字游戏(4)——让挣值管理实用!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

Spring中管理bean对象的方式(专业级说明)

《Spring中管理bean对象的方式(专业级说明)》在Spring框架中,Bean的管理是核心功能,主要通过IoC(控制反转)容器实现,下面给大家介绍Spring中管理bean对象的方式,感兴趣的朋... 目录1.Bean的声明与注册1.1 基于XML配置1.2 基于注解(主流方式)1.3 基于Java

基于Python+PyQt5打造一个跨平台Emoji表情管理神器

《基于Python+PyQt5打造一个跨平台Emoji表情管理神器》在当今数字化社交时代,Emoji已成为全球通用的视觉语言,本文主要为大家详细介绍了如何使用Python和PyQt5开发一个功能全面的... 目录概述功能特性1. 全量Emoji集合2. 智能搜索系统3. 高效交互设计4. 现代化UI展示效果

MySQL 添加索引5种方式示例详解(实用sql代码)

《MySQL添加索引5种方式示例详解(实用sql代码)》在MySQL数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中,下面给大家分享MySQL添加索引5种方式示例详解(实用sql代码),... 在mysql数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中。索引可以在创建表时定义,也可

Mysql中的用户管理实践

《Mysql中的用户管理实践》:本文主要介绍Mysql中的用户管理实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录13. 用户管理13.1 用户 13.1.1 用户信息 13.1.2 创建用户 13.1.3 删除用户 13.1.4 修改用户

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

linux服务之NIS账户管理服务方式

《linux服务之NIS账户管理服务方式》:本文主要介绍linux服务之NIS账户管理服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、所需要的软件二、服务器配置1、安装 NIS 服务2、设定 NIS 的域名 (NIS domain name)3、修改主

9个SpringBoot中的自带实用过滤器使用详解

《9个SpringBoot中的自带实用过滤器使用详解》在SpringBoot应用中,过滤器(Filter)是处理HTTP请求和响应的重要组件,SpringBoot自带了许多实用的过滤器,如字符编码,跨... 目录1. CharacterEncodingFilter - 字符编码过滤器功能和配置手动配置示例2