神州数码最佳实践之二:软件服务项目的估算
作者:石海东
1. 准确的项目估算是项目管理的前提
对于IT服务企业来说,项目估算是至关重要的基础数据。一方面,项目经理要根据估算做成本预算、资源需求、进度计划。如果估算错误,那么这些计划都是不符合实际的,项目经理、公司管理层都在一个错误的计划的基础上进行工作安排,其结果可想而知。另一方面,IT服务企业的项目报价,也是基于项目估算。根据项目估算的工作量和成本,打上公司要求的合理毛利率,最终得到基础报价。如果估算错误,报价也是无稽之谈了。
神州数码在第一次进行定量化项目考核时,就遇到估算的难题。定量化考核的结果,是有很多项目的进度、成本偏差非常好。比如原先预算200万的项目,实际只花费100万就完成了。这似乎是出色项目管理的表现——其实不然,大部分是因为项目经理在做预算时打入了太多的“余量”,或者说,项目经理严重高估了项目预算。
这样就带来了关联的众多问题:
- 销售人员的不满
由于项目经理(出于考核的压力),有意无意提高项目预算。但是客户能够付出的价格是有限度的,导致的结果是销售人员压力很大——很难签到足够的价格,使得项目能够盈利。
- 项目经理之间无法平衡
由于缺乏依据,项目经理的估算有很大的随意性。定量化考核原先是试图找到一个比较公正的考评办法,最终结果却完全走样——谁预算制定得高,谁就有可能得到一个理想的成本偏差考核数据。
- 评审人员难以确定预算合理性
作为审核预算的高级管理人员,同样面临困难。IT服务项目大多比较复杂,售前过程很长。高级管理人员没有时间深入售前过程,因此很难判断项目经理的估算规模是否准确。即使“感觉”预算过高,也仅仅是“感觉”而已,无法拿出依据。 2. 软件估算是一个普遍的难题
IT服务行业的项目管理面临众多挑战,严格意义上说,IT服务行业的项目管理环境比很多传统行业要严酷。比如说房屋装修行业的项目管理,在方案提出、合同签署、工程实施开始、范围管理、变更管理诸多环节,其实是相当规范的,比很多IT服务项目管理还要规范。甚至在项目估算环节,无论是刷墙漆、铺地板、改电路,都有企业规定的估算标准,远比IT服务行业很多项目经理“拍脑袋”进行估算,要规范得多。
因此,要提升项目管理能力,首先要解决的就是估算环节。 3. 项目估算必须基于企业历史数据
神州数码在走了很多弯路之后发现,最有效的估算依据是企业过去的历史数据。如果没有企业级的估算依据,项目经理只能“拍脑袋”,预算根本不会准确。而加强估算的准确性,不能依靠项目经理的个人能力,需要组织级总结历史数据,并统一估算方法,提供项目经理估算方法和估算依据,才能提高估算的准确性。
结合软件行业的理论和行业标准,最终神州数码采用了三种估算方法,分别适用于不同的项目类型:
基于范围分解-历史经验数据的估算方法——适用于解决方案实施型项目 基于过程分解-历史经验数据的估算方法——适用于推广型项目 基于工作产品分解-生产率模型的估算方法——适用于纯粹软件开发项目 4. 基于范围分解-历史经验数据的估算方法
对于“解决方案实施型”项目,项目的工作内容是有参照的。比如开发一个银行核心业务系统,银行核心业务系统的内容大致差不多:存款、贷款、结算等模块。这种项目可以采用基于范围分解-历史经验数据的估算方法。
估算模型如下:

估算的核心,在于对项目范围进行分解,并分解到一个可度量、并且是能够提供历史数据的小模块。如银行系统的存款子系统,可以分解出:开户交易。而开户交易可利用过去企业其他项目的工作量经验数据。

上图是神州数码基于视锐达VisualProject软件的估算模块界面。从上图可以看出,项目经理可以将工作范围进行分解,直至分解出某些特定的功能——而这些功能是可以从“组织估算库”中导入。
视锐达VisualProject项目管理软件提供了:估算、估算基线化、组织估算库管理、估算库基线化、按系统分解和建立估算库等功能。通过VisualProject的工具,神州数码建立了针对不同解决方案(系统)的功能分解估算库数据。
估算库数据的初始建立,可以选用一个大家公认的作为“标杆”的项目数据。虽然这个数据未必准确,但至少提供了一个进行估算的依据。企业可能通过逐步精化的方法,不断逼近准确的估算数据基础。 5. 基于过程分解-历史经验数据的估算方法
过程分解模式也是一种估算方法。过程分解的理论依据是,采用偏过程的WBS分解方式。项目经理首先选取与当前项目类型类似的历史项目数据(记录在项目生命周期模板中),取得按项目实施阶段分布的工作量经验值,并结合项目实际情况进行调整。
这种估算方法比较适合推广型项目。比如完成了北京某局的工作,然后再做上海某局的项目。 6. 基于工作产品分解-生产率模型的估算方法
纯粹软件开发项目,有很多估算方法,如功能点、COCOMO等。通常,纯粹软件开发项目比较适合CMMI体系。视锐达VisualProject也提供了基于工作产品分解-生产率模型的估算方法。这个估算方法在神州数码实施CMMI的纯粹软件开发项目中实施并取得较好的效果。
来源于:http://www.visualproject.cn/news/A20070516_2.html
|