EV 挣值分析案例
不少软件开发公司的管理层常常遇到以下困惑:
- 大家都很忙,上班时已经很努力工作了,但还是经常要下班后加班。
- 近80%的项目不能如期交付,计划多次延后,而且很难有效预估延期多少。
- 虽然管理层提出“降本增效”,但实际上“本”是多少,如何增效,没有解决办法。
- 到年底复盘时,才发现成本付出过大,公司亏损。
从以下案例可以了解如何利用WBS项目管理工具配合挣值分析避免这类问题发生。
背景
李总是一位事事亲力亲为的企业家。
20多年前,中国内地生产的网络设备性能有限,难以满足企业网络需求,因此,李总因此创办公司并与美国思科(Cisco)合作,为企业提供网络设备和产品集成服务的“一条龙”解决方案。他获得了第一桶金并为女儿支付了去美国深造的费用。但随后政策有变,加上国内生产商也开始提供类似设备和服务,导致客户急剧减少,但因为与客户合作多年,关系保持良好,公司业务逐渐转型,从提供产品集成方案转变为提供应用软件开发服务。
思科网络设备项目对管理要求很简单,只要供应商按计划供货,工程师完成调试后现场安装,即可交付使用。
因为思科网络设备技术成熟,只要按设计方案进行配置与安装,项目便可顺利完工,不存在延期的风险。
应用软件开发项目对管理的要求就复杂很多。拿销售设计定型家具为例,IKEA的客户已经在样板间看过实物,厂家按客户挑选的颜色安排生产,交付客户便可全额收款,整个过程风险很低。而应用软件开发项目就类似为客户定制家具,厂家按客户的要求进行设计与制作,由于没有见过实物,厂家仅能通过草图与客户进行沟通(包括尺寸、功能等)。如果客户没有全程跟踪,提供及时反馈, 否则厂家做出的定制家具很难使客户满意。
我的经验:我原本中意一套欧式现代沙发,觉得它的设计不错,例如在晚上睡觉时,可以从下面抽拉变成双人床,部分空间可以用来放置杂物。但由于缺货,我就找某家家具零售店定制,绘制图纸,并标明材质、颜色等。一个月后,沙发送货上门,我和爱人一眼便发现和原本中意的沙发完全不一样。尤其抽拉变成双人床的功能虽然可以勉强实现,但效果欠佳。整体设计与客厅搭配不协调,犹豫再三,次日便丢弃处理。
定制开发vs产品
应用软件开发项目对项目管理的要求很高,甲乙双方必须保持持续有效沟通,避免最后开发出来的系统并非客户所需,进而导致返工及延误,甚至项目失败。同时,在项目进行期间,也需要不断监控项目的偏差,避免等到项目快要结束才发现延误。以前做网络设备产品集成项目不需要什么项目管理工具,只要管好项目的进度、减少偏差即可,但应用软件开发项目就必须要使用项目管理工具才能有效管理。
李总虽然经验丰富,但他越来越觉得以前通过excel表和项目经理监督的方式难以监控实际与计划的偏差,客户需求也经常发生变化,但只依赖个人的记忆,无法清晰记录某活动本应哪天开始、哪天结束,项目经理的阶段性报告只能汇报实际开始日期、实际结束日期,项目进度是否有偏差,无法真实反映项目实际情况。
李总清楚不能仅通过人工方式监控项目,必须利用系统管理项目,便购买并开始使用WBS项目管理工具。3周后,他邀请我一起看看这WBS项目管理工具,能否帮助团队有效管理项目。
WBS项目管理工具
这WBS项目管理软件系统很简单,项目经理或组长可以按自己的项目范围,在WBS里输入活动的详细:如开始日期、结束日期,安排活动的资源和所需的人时等。
监控活动的实际完成情况
每周大家都按实际填工时表,这工时表不是随意一张空表,而是从系统导出本周所有相关活动,列出活动的开始日期、结束日期、产出物等。
例如小高的活动A本来计划周一开始周二结束,花8人时。但因为工作比本来计划的复杂,实际是周二开始周三结束,第一天周二用了8人时,周三用了4人时,实际总共用了12人时。
管理工具便按项目各活动的实际情况,汇总项目实际与计划的偏差。
公司开始使用工具
大家开始使用了一个月,看他们的项目列表,大部分活动都是逾期,深入探索,原来他们开始时每周按实际填写工时表,但后面大家都不填了。
员工的意见:“既然我们也填了某活动的实际开始,逾期实际完成日期系统应该就可以按一天8小时自动算出来,不需要再在每周工时表再填写。”
我说:“这想法不一定对。”
不想等到项目结束后才知道项目超期、超支,便需要按里程碑定期监控项目实际与计划的偏差。
一般我们都会监控产出物能否按进度计划按时交付,但项目的产出物都能按期交付,是否能表示项目便没有偏差?
例如,很多土木工程、建筑项目都会按期交付,但并不代表没有超支。如果你有机会在1997年四五月份左右,晚上在香港维多利亚港坐天星小轮从尖沙咀去中环,会发现在湾仔以北人工岛上面的会议展览中心工地灯火通明。原因是建筑承办商必须赶工,才来得及在7月1号香港回归前竣工。所以很多工程项目虽然都按期完成,但为了赶工,实际上超支很厉害。软件开发项目,因为依赖知识工作者的开发和测试能力,所以不能像土木工程项目那样靠增加人员投入就可以加快速度。 |
以上是项目进度没有偏差,但成本有偏差的例子。如果大家每周按实际填写工时表,项目管理工具便可以汇总进度与成本(工作量)偏差。举个简单例子,比如活动A计划周一开始周二结束,预计使用8人时。假如小高还是按计划周一开始一直用了8个小时还未完成,到了周二再加上4个小时,总共12小时才最终完成。这活动进度偏差为0,但有工作量偏差,本来只需要用8个人时,现在要花12个人时才可以完成。
要全方位监控项目的进展便需要在里程碑用挣值分析监控进度和工作量的偏差。
然后我就用一个简单的案例介绍挣值分析的三个元素 PV、AC 和 EV,用简单例子来说明如何用,这些系数算出项目进度偏差和成本偏差。(如想多理解挣值分析项目管理,详见附件)
李总:你说的都是偏项目管理理论,如果实际工时由员工自己填写,这是否可信本身是一个问题。但更重要的是我们要求他们填的实际工时有什么意义啊?对管理者来看,我们只关心活动是否按计划逾期完成,并完成并输出相关产出物就行了。
我:这样我们才可以在回顾复盘时,看什么原因导致当时预估8人时的工作量。如果有同类活动的话,估计工作量不止8人时。但如果员工只填完成日期和是否100%完成,公司就缺乏成本(工作量)的历史数据,也无法给后面的新项目做工作量预估时提供参考。
李总:你说要员工填写预计工时,如果有足够的数据,我们就可以利用历史数据为新项目的预估提供参考标准。但我们刚刚开始使用项目管理工具,没有这么迫切的需要去收集这些工作量数据。
我:但如果现在刚开始使用项目管理工具时,你没有要求员工都必须填写,后面再要求他们填写时,他们就不会再听,导致项目管理系统永远缺失一些必须的数据。
李总:那你这个数据单靠个人自己填写,系统也不会检查,也无法检查他的数据是否正确,有什么用呢?
我:其实可以做一定程度的检验。比如每人标准8个小时工作,员工也知道,如果他一周每天的工作量填不满8个小时,他会担心管理层是否觉得他没尽力。所以按照刚才那个例子,本来按计划小高完成活动A计划花4个小时,但他实际上花了8个小时,就占了他一整天了。因活动要100%完成,相关产出物必须通过评审,如果小高不按实际填写工时表,完全按计划填,便难以解释为什么活动B要周二才完成(计划是周一完成),活动C到周三还未完成(计划是周二完成)。 所以小高没有动机去按本来计划填写工时表造假,不如按实际填工时表。
总结
软件开发项目最大的成本就是人工成本,但如果项目监控不足,最终很容易导致项目整体延期,成本超支。因为每个人都习惯了尽量等到最后一刻才完成提交,所以必须把任务分解到几人天的颗粒度并监控,才可以控制任务不延误。但如果只是做了项目任务分解,没有对应的监控,也不会有任何作用。
如果只靠项目经理自己人工去监控每个活动的延期,并在里程碑做汇报,会很困难。原因是活动很多,项目经理必须要过问和记录每个活动,才能确保收集到实际数据,但项目经理非常忙,哪有时间每天做数据收集的工作,所以要提高项目管理,这就需要依赖WBS项目管理工具。
项目管理工具应能按员工每周填写工时表每周更新项目活动的实际开始结束日期与工作量;每个工作包的产出物都必须通过评审,活动才算100%完成。项目经理便可以依赖系统来搜集真正的活动情况和相关数据,并利用挣值分析的系数在里程碑时点,例如每个迭代结束时,汇报项目的进度和成本偏差。
WBS项目管理工具可以实时监控项目实际的偏差,预警管理者哪些项目需要注意。但项目数据,包括计划和实际工时等还是依赖项目组填写,系统才能计算出相关系数,这些数据也可以作为统计数据,给项目经理参考,以后更好估算同类项目。
问答 FAQ 问:不用WBS项目管理工具,用简单电子表单(XLS)是否也可以监控实际与计划的偏差? |
附件
挣值分析法(Earned Value)
用最简单的例子,来说明挣值分析中PV、EV、与AC的意义。
PV:计划完成多少?
AC:完成工作的实际成本(或工作量)是多少?
EV:实际完成了多少工作?
公式:
进度偏差 SV = EV - PV , SPI = EV / PV 完成占计划完成的百分比
成本偏差 CV = EV - AC , CPI = EV / AC 完成的价值占实际已花成本的百分比
简例1: 整个项目分成四个迭代,每次迭代1周,每次迭代的总产出物大概等值于1000美元,
- 第一个迭代的活动完全是按计划完成没有延期。
- 第二个迭代有延期,最终在第三个迭代的头两天完成。所以第二迭代的成本也比本来的预算多。
- 因为第二个迭代有延期,所以第三个迭代的活动在迭代结束时只完成50%,成本也比原先计划的多。
- 过了三个迭代,在第六周结束后:
使用WBS项目管理工具,配合员工提交的工时表,系统自动计算进度与成本(工作量)偏差
如果项目经理使用项目管理系统,把四个迭代的活动、产物等每次迭代前预先输入系统;项目团队成员每周提交公时表
按计划,输入迭代活动
你可能会问:我们怎么判断产出50%或是60%完成? 对活动添加资源
添加可交付成果
每周五提交工时表
|
到了第三周结束,系统便可自动计算挣值分析的系数(单位:美元):
BAC = 4000 项目总预算数 = 4 x 1000
PV = 3000
AC = 2800 (1000 + 1200 + 600) 活动A没延误 1000,活动B 多花了一天,所以 1200 , 活动C 共花了600
EV = 2600 (1000 + 1000 + 600) 活动AB都完成,所以共 2000 , 活动C只完成了子活动1,计划3天工作量,所以 600
SV = (400) (EV - PV = 2600 - 3000)
CV = (200) (EV - AC = 2600 - 2800)