zoukankan      html  css  js  c++  java
  • 使用EVM进行项目管理时的注意事项

    软件项目的最大特点“两不确定两大限死”,即需求、设计不确定;预算、工期限死。让挣值管理的“生存空间”很少。

    要发挥挣值管理的作用,你需要:
    1.真正理解挣值管理的含义和意义。
    挣值管理一开始很难理解,就算你使用一段时间后也不见到能理解全部的含义。

    而能理解挣值管理意义的人就更少了,很多人就是为了玩数字游戏,不知道为什么要挣值管理。
    2.项目计划与计划跟踪工作必须严格切实推行和落实。
    项目计划与计划跟踪的工作必须要做好,这是进行挣值管理的前提和基础。

    做软件项目不同于其他工程项目,工作无法按件计算,通常只能用工时来计算人工成本。

    工时具有双重特性:1.任务的成本; 2.任务的进度

    这也正是软件项目管理中打通进度和成本之间关联的重要特征。


    挣值管理的三大基本要素:PV(计划成本、计划进度),AC(实际投入成本),EV(实际完成进度)

    在实行计划与计划跟踪时,我们重点关注三个方面:
    1.计划好每项的任务、任务的先后顺序,期望的任务完成程度。
    2.实际投入情况,如实际投入了多少时间、花费了多少钱等。
    3.任务的实际完成情况。

    从公司经营层面上,最关心的就是实际的成本(与前述的时间成本不大一样,这里的成本是钱)

    在软件项目过程中,人员的差别,其他费用的支出,都形成项目成本,那么怎样把项目成本和时间成本统一起来呢

    我自己的做法是:

    使用一个综合(平均)成本价表示所有人的标准人件费(将人员成本差异,非人员成本支出等因素都平均分摊到人员成本中)。

    这个综合成本价是通过将公司的公关费用、场地费用、税金、水电费、设备折旧、

    支持类人员(如:行政、财务人员)的薪金、员工不忙时仍要支付的工资、研究失败时成本、员工薪金等等所有花费,

    摊派到每个直接生产软件的员工(项目经理、设计人员、程序员、测试、实施、配置管理、QA等)。

    一般一个员工的薪金只是占他所花费的总体成本的30-40%。

    通常使用每小时100元的标准。【人月=100元/小时×(22×8)小时 = 17600元】

    上述只是一个参考,只要在工时与金钱之间存在转换途径,为简单起见,可以只使用工时来表示。

    PV、AC、EV以前的名字不是这样的,以前分别叫:BCWS、ACWP、BCWP。
    BCWS:Budgeted Cost for Work Scheduled,即现在的PV。
    ACWP:Actual Cost for Work Performed,即现在的AC。
    BCWP:Budgeted Cost for Work Performed,即现在的EV。

    成本偏差(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。项目最开始时,PV都计划好了,在时间轴上有很多任务,越往后,各任务的累计PV值就越大。而最开始时,各任务AC和EV均为零,但随着项目开展,AC与EV累计值也会不断增大。


    1.如果项目一直都需要加班,但基本能按时完成,PV、AC、EV之间关系怎么变化?

    AC>PV,EV与PV趋于一致。
    2.如果项目不需要加班,基本能按时完成任务,PV、AC、EV之间关系怎么变化?

    AC=PV=EV
    3.如果项目一直不需要加班,还能提前完成任务,PV、AC、EV之间关系怎么变化?

    成本节约:EV/AC>1;进度超前:EV/PV>1


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

    挣值管理将项目管理工作数字化、可视化,但在实际项目管理中用上,但往往实际效果不甚理想。

    下面列举一下常见的情况:

    1.项目计划与项目计划跟踪工作没有做好。

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

    2.没有有效的、简单的实际数据收集方式。
    计划与计划跟踪的工作落实是进行挣值管理的基础,但如果没有有效的、简单的实际数据收集方式,挣值管理也难以完全落实。

    一般大家使用Project来做进度计划,如果能将任务细化做好,就能得到PV;如果我们能将任务的完成情况及时更新,这样就能得到EV;但实际工时(AC)就不容易统计了。有些公司每周或者每月收集一次实际工时,有些公司还专门安排项目助理来负责数据收集的工作。但这些做法一开始会让项目组各成员很不适应,能坚持下来的项目就很少了。

    3.软件项目自身的“两不确定两大限死”特点。
    就算以上两个问题你们都能解决,但你无法解决软件项目“两不确定两大限死”的特点。这个特点让你无法在项目初期计划好项目的全部工作,而且计划还经常与实际不符,你需要经常调整。也就是说你无法定下全部的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!

    软件项目是人类的高级智力活动,一个很有智慧的想法就能解决很多问题。

    软件项目需求不确定、设计也不特定,需要我们用更多的智慧去主动迎接这两个挑战,想办法降低工作量!

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

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

  • 相关阅读:
    UVa 10118 记忆化搜索 Free Candies
    CodeForces 568B DP Symmetric and Transitive
    UVa 11695 树的直径 Flight Planning
    UVa 10934 DP Dropping water balloons
    CodeForces 543D 树形DP Road Improvement
    CodeForces 570E DP Pig and Palindromes
    HDU 5396 区间DP 数学 Expression
    HDU 5402 模拟 构造 Travelling Salesman Problem
    HDU 5399 数学 Too Simple
    CodeForces 567F DP Mausoleum
  • 原文地址:https://www.cnblogs.com/jackljf/p/3589059.html
Copyright © 2011-2022 走看看