第4章 项目成本管理案例
项目的成本是项目的全过程所耗用的各种费用的总和。项目的成本管理对于组织来说非常重要,成本管理并不只是把项目的成本进行监控和记录,而是需要对成本数据进行分析,以发现项目的成本隐患和问题,在项目遭受可能的损失之前采取必要的行动。
项目成本管理希望节约项目的费用,但并不意味着要一味减少成本。例如:在信息系统项目中,减少测试无疑能够减少项目的费用,但没有测试,如同许多曾经进行过的信息系统一样,把用户当做测试者,可能对项目造成灾难性的后果,最终,或者使得项目的成本大为提高,或者让项目走向失败的边缘。
案例一:成本估算
阅读以下关于信息系统项目管理过程中成本估算方面问题的叙述,回答问题1至问题3。
4.1.1案例场景
希赛信息技术有限公司(CSAI主要致力于为国内教育提供信息化服务,成立业内一流的研发中心,不断研究和推出深受用户欢迎的软件产品,客户遍布中国每个省/市/自治区。公司创立8年来,通过不断加强和改进技术管理来完善产品和提升服务品质,已成为中国教育软件研发领域首家通过CMM3评估项目的公司。
张工是CSAI的项目经理,1个月前刚接手某高校学生管理系统研发项目。完成项目需求调研后,张工开始制定详细的进度和成本计划。表4-1和表4-2
分别是张工用两种方法做的项目成本估算,估算货币单位为(元)。
【问题1】(8分) 请用200字以内说明信息系统项目管理过程进行成本估算的基本方法。
【问题2】(8分) 表4-1和表4一2分别采用了什么估算方法,表中估算成本A, B各为多少
【问题3】(9分) 请结合你本人的实际项目经验,用300字以内文字分析信息系统项目成本估算过程中的主要困难和应该避免的常见错误。
4.1.2案例分析
【问题1】
信息系统开发项目中常用的成本估算方法包括自顶向下估算法、自下而上估算法、参数估算法、专家估算法和猜测估算法等,其中自顶向下估算法也称为类比估算法。
(1)自顶向下估算方法
自顶向下估算法是从项目的整体出发,进行类推,即估算人员根据以往完成类似项目所消耗的总成本或工作量,来推算将要开发的信息系统的总成本或工作量。然后,按比例将它分配到各个开发任务单元中,是一种自上而下的估算形式,通常在项目的初期或信息不足时进行。例如,在合同期和市场招标时等。不是非常精确的时候或在高层对任务的总的评估的时候采用这种方法。该方法的特点是简单易行和花费少,但具有一定的局限性,准确性差,可能导致项目出现困难。
(2)自下而上估算方法
自下而上估算法是利用工作分解结构图,对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本。用这种方法估算的准确度较好,通常是在项目开始以后,或者WBS已经确定的开发阶段等,需要进行准确估算的时候采用。它的特点是这种方法最为准确。它的准确度来源于每个任务的估算情况,非常费时费力。估算本身也需要成本支持,而且可能发生虚报现象。
(3)参数估算方法
参数估算法是一种使用项目特性参数建立数据模型来估算成本的方法,是一种统计技术,如回归分析和学习曲线。数学模型可以简单也可以复杂。有的是简单的线性关系模型,有的模型就比较复杂。一般参考历史信息,重要参数必须量化处理,根据实际情况,对参数模型按适当比例调整。每个任务必须至少有一个统一的规模单位。例如,平方米(m2),米(m),台,KLOC,FP,人/天,人/月,人/年等。其中的参数如xx 元/m2, xx 元/m, xx元/台,xx 元/KLOC, xx元/FP, xx元/人/天。一般说存在成熟的项目估算模型和具有良好的数据库数据为基础时可以采用。它的特点比较简单,而且也比较准确,是常用的估算方法。但是,如果模型选择不当或者数据不难,也会导致偏差。
通常有两类模型用于估算成本,即成本模型和约束模型。
成本模型是提供工作量或规模的直接估计,常常有一个主要的成本因素,例如规模,还有很多的次要调节因素或成本驱动因素。典型的成本模型是通过历史项目数据,进行回归分析得出的基于回归分析的模型。
约束模型显示出两个或多个工作量参数,持续时间参数或人员参数之间时间变化的关系。例如,PRICE-S和Putman模型。
(4)专家估算法
专家估算法是由多位专家进行成本估算,一个专家可能会有偏见,最好由多位专家进行估算,取得多个估算值,最后得出综合的估算值。其中最着名的是Delphi方法,该方法的基本步骤如下:
①组织者发给每位专家一份信息系统的规格说明和一张记录估算值的表格,请他们估算。
②专家详细研究软件规格说明后,对该信息系统提出3个规模的估算值。
.最小值ai; .最可能值mi .最大值bi。
③组织者对专家表格中的答复进行整理,计算每位专家的平均值Ei=(ai+4mi+bi)/6然后计算出期望值:E=El+E2+…En/n 。
④综合结果后,再组织专家无记名填表格,比较估算偏差,并查找原因。
⑤上述过程重复多次,最终可以获得一个多数专家共识的软件规模。
(5)猜测法
猜测法是一种经验估算法,进行估算的人有专门的知识和丰富的经验,据此提出一个近似的数据,是一种原始的方法,只适用于要求很快拿出项目大概数字的情况,对于要求详细估算的项目是不适合的。
在实际软件项目中,进行软件规模成本估算时常常考虑三种模型:自顶向下估算法、自下而上估算法、参数估算法。自下而上法费时费力,参数法比较简单,自下而上法与参数法的估计精度相似。但是各种方法不是孤立的,应该注意相互结合使用。类比法通常用来验证参数法和自下而上法的结果。
最后,介绍一下目前企业软件开发过程中常用的软件成本估算方式,它是一种自下而上和参数法的结合模型,步骤如下。
(1)对任务进行分解。 avg。
(2)估算每个任务的最大值max,最小值min,平均值
(3)计算每个任务的估算值Ei=(max+4avg+min)/6。 (4)计算直接成本=El+E2+…+Ei … +En。
(5)计算估算成本=直接成本+间接成本。 (6)计算总成本=估算成本+风险基金+税。
其中
风险基金=估算成本×a%(一般情况:a为10-20左右)
税=估算成本× b%(一般情况为5左右)
间接成本是指直接成本之外的成本。如安装、培训、预防性维护、备份与恢复的费用,以及与运行系统相关的劳务和材料费、管理费、相关补助费用及其他等。
【问题2】
表4-1采用了自下而上的成本估算方法,表4-2采用了参数法成本估算方法。
项目经理的成本是30元/小时,项目经理张工参与项目的时间是500小时,而分析人员的成本参数是20元/小时,2个分析人员,每人参与项目时间是500小时,编程人员的成本参数是13元/小时,2个编程人员,每人参与项目时间是1000小时,由于参数模型是简单的线性模型,所以,很方便计算出人力成本是61000元;其间接成本包括一般管理费和额外费用,一般管理费是人力成本的35%,额外费用是人力成本和管理成本的20%;这样合计为98820元;还有设备费用及其间接费用13000元,项目成本总计111820元,详见表4-3。
对于表4-1,估计分解之后每个任务的规模,然后总计项目的总规模成本。
采用自下而上的估算方法,用的模型是:
估算总值=估算值+风险基金+税
其中
估算值=直接估算值+间接估算值
间接估算值=直接估算值× 15%
风险基金=估算值× 20%
税=估算值×5%
要求估算的误差应该保持在-5%~+5%
按照这个算法并根据表4-3的WBS的分析结果图示,估算过程如下:
直接成本=202000元
间接成本=202 000 × =3030元
估算值=202 000+3 030=23230元
总成本=23 230+23 230 × 20%+23 230 × 5 %=元
经过计算,两表中A为202000元,B为111820元。
【问题3】
综合起来,信息系统的项目成本估算的困难主要包括以下方面:
(1)需求信息的复杂性。与其他有些传统项目不同,信息系统要满足的是人的主观需要。由于人的复杂性,给信息系统带来了无数的难以确定的因素。对信息系统的估算自然是个复杂的工作,而现实中往往不允许在项目的初期投入太多的资源,对项目的成本进行估算。而且,随着项目的进展,许多具体情况的明确,项目的成本估算也会相应地有所变化。
(2)开发技术与工具的不断变化。开发工具软件的不断升级,技术方案的不断更新,这些技术的进步让信息系统项目可以提供功能越来越强、使用越来越方便的产品或者服务,但是都给信息系统项目的成本估算带来困难。
(3)缺乏类似的项目估算数据可供参考。有效的项目成本估算是建立在大量的同类项目的成本结算的基础上的。没有大量的同类项目的经验,信息系统项目的成本估算也就非常困难。许多组织并不注意整理和收集本组织内部的信息项目的成本数据,更不要说去收集整理其他组织的成本数据了。
(4)缺乏专业和富有经验的人才。可以根据同类项目的历史成本来估算当前项目的成本,历史项目和当前项目的不同点和相同点是估算过程中需要判断的重要问题,这种判断需要估算人员有丰富的经验和专业知识。
(5)信息系统研发人员技术能力的差异。在信息系统建设的成本中,有很大一部分是人力资源的成本,而不同人员的不同的态度、经验和能力都会造成不同人员的截然不同的效率,这也给信息系统的成本估算带来极大的困难。
(6)管理层的压力与误解。管理层会要求对项目成本进行估算,但是他们所需要的往往是期待一个比他们所预计的要小的值,以便能够赢得合同或者投资。
在对项目进行成本估算时,应该避免以下的常见错误。
(1)草率的成本估算。由于市场和管理层的压力,项目组成员或者管理者被迫在没有进行真正准备的情况下做出成本估算。如何面对管理层的压力,向管理层的压力,向管理层解释如何才能得到较为准确的项目成本估算也是对项目管理者的沟通能力的考验。
(2)在项目范围尚未确定时就进行成本估算。在信息系统中也非常常见,往往是项目组对该做什么,不该做什么还只有一个粗略的概念时就要进行成本估算。
(3)过于乐观或保守的估算。过于乐观的估算会给项目组的项目实施带来很大的压力。而过于保守的估算也会由于Parkinson定律(时间充裕时,工作随之膨胀,收入增加时,花销随之增长)也会对项目造成不利影响,甚至可能让组织放弃本来可能是有利可图的项目。
4.1.3参考答案
【问题1】(8分) 信息系统项目进行成木估算的基术方法包括:
(1)自顶向下估算法或类比估算法。 (2)自下而上估算法。 (3)参数估算法。 (4)专家估算法。 (5)猜测估算法等。
【问题2】(8分)
表4-1采用了自下而上的成本估算方法,表4-2采用了参数法成本估算方法。经计算,两表中估算值A为202000元,B为111820元。
【问题3】(9分)
综合起来,信息系统的项目成本估算的困难主要包括以下方面:
(1)需求信息的复杂性。 (2)开发技术与工具的不断变化。 (3)缺乏类似的项目估算数据可供参考。
(4)缺乏专业和富有经验的人才。 (5)信息系统研发人员技术能力的差异。 (6)管理层的压力与误解。
在对项目进行成本估算时,应该避免以下的常见错误:
(1)草率的成本估算。 (2)在项目范围尚未确定时就进行成本估算。 (3)过于乐观或者保守的估算。
案例二:成本估算
阅读以下关于信息系统项目管理过程中成本估算问题的叙述,回答问题1至问题4。
4.2.1案例场景
希赛信息技术有限公司(CSAI )凭借丰富的行业经验和精湛的技术优势,坚持沿着产品技术专业化道路,为银行、证券、保险等领域提供完整全面的解决方案。李工是CSAI证券事业部的高级项目经理,目前正负责国内B银行信贷业务系统的开发项目。作为项目经理,李工必须制定高质量的项目管理计划,以有效实现范围、进度、成本和质量等项目管理目标。
项目正式立项后,李工制定了一份初步的项目成本计划。李工估计出了每项工作的工期及所需要的工作量,如表4-4所示。此外,表4-4也给出了每项工作除人力资源费用外的其他固定费用(如硬件设备和网络设备等)。
【问题1】(6分)
请计算表4-4中每项工作所需安排的人力资源数量(按每天8小时工作制计算)。
【问题2】(6分)
假设每种人力资源的小时成本如下:测试员30元/小时,程序员40元/小时,软件设计师60元/小时,系统分析师100元/小时。请计算每项工作所需的总费用(每周按照5个工作日计算)。
【问题3】(6分)
计算每项工作每周的平均费用(每周按照5个工作日计算)。
【问题4】(7分)
假设该项目计划的甘特图如图4-1所示,请绘制该项目的费用预算曲线图(时间单位为周,每周按照5个工作日计算)。
4.4.2案例分析
甘特图(Gantt chart)是在20世纪初由亨利·甘特开发的。它基本上是一种线条图,横轴表示时间,纵轴表示要安排的活动,线条表示在整个期间上计划的和实际的活动完成情况。甘特图直观地表明任务计划在什么时候进行,以及实际进展与计划要求的对比。图4-2是一个手工绘制的图书出版项目甘特图。
一般的项目管理软件如Primavera公司的p3和Microsoft公司的Project等都提供甘特图自动生成工具。
时间以月为单位表示在图的下方,主要活动从上到下列在图的左边。计划需要确定书的出版包括哪些活动,这些活动的顺序,以及每项活动持续的时间。时间框里的线条表示计划的活动顺序,空白的现况表示活动的实际进度。甘特图作为一种控制工具,帮助管理者发现实际进度偏离计划的情况。在本案例中,除了打印长条校样以外,其他活动都是按计划完成的。在费用预算方面,如按时间坐标来分析,有两种表现方式:一是费用预算曲线图,二是费用预算累计曲线图。图4-3和图4-4为Project 2000绘制的费用预算曲线图和费用预算累计成本曲线图。
人力资源数=工作量÷8÷工期,如方案设计阶段系统分析师人数=160÷8÷10=2,其他阶段计算类似;
总费用=固定费+工作量×成本,如详细设计阶段总费用=6 400+160×60=16000, 其他阶段总费用计算类似。各阶段总费用累加得到项目总费用为493000.
平均每周费用=总费用÷(工期÷5),如主界面设计阶段平均每周费用=73000÷(50÷5)=7300。
4.2.3参考答案
【问题1】(6分) 【问题2】(6分)【问题3】(6分)参考答案见表4-5。
【问题4】(7分)根据图4-1和表4-5计算每周费用总和,如图4-5所示。
案例三:挣值管理
阅读以下关于信息系统项目管理过程中挣值管理和项目成本管理方面问题的叙述,回答问题1-问题4。
4.3.1案例场景
财政基本建设管理信息系统是一套能够为财政服务,提供财政基本建设资金管理,财务监督、审核,为财政的基建科、预算科和国库科等相关部门提供数据互享的工程项目管理的应用系统。系统充分地体现财政部门对基本建设项目的管理,对国家预算安排的基本建设资金的使用的管理,反映财政部门对基本建设项目的管理,更好地实现财政的管理监督的职能作用。
张工是大型电子政务系统集成商希赛信息技术有限公司(CSAI )的项目经理,目前正作为项目经理负责CSAI与某地财政局开发的基本建设管理信息系统项目,项目组成员包括项目经理1人、系统分析师1人、高级程序员3人、程序员3人、软件界面美工1人、测试人员2人、客户方技术人员2人。由于财政年度等因素,项目的计划工期为40周,预算成本为50万元。根据该项目的需求和进度等要求,项目具有工期紧、技术要求高、业务复杂等特点。为顺利实现项目进度和质量等目标,CSAI项目管理部门和高层领导对该项目格外重视,要求项目组每周汇报进度状态。
在项目的实施过程中,第19周时张工向公司经理报告项目的进展状态,在状态报告中经理列出了第
18周(包含第18周)的项目状态数据,详细情况如下:
(1)截至项目状态日期,项目实际已完成的工作量为50%.
(2)截至项目状态日期,项目已完成工作量的实际成本(AC)为28万元。
(3)截至项目状态日期,项目的计划成本(PV)为26万元。
【问题1】(6分)
试确定项目截止到项目状态日期已完成工作量的挣值EV 。
【问题2】(6分) 预测项目结束时的总成本EAC 。
【问题3】(6分)
请对该项目在费用控制方面的执行状况进行分析。
【问题4】(7分)
项目经理在检查经费超支时发现,有一项任务F还没有开始实施,但为F任务购买设备的支票已经支付,其费用为4万元。另外,还有一张已经支付的支票,其费用为3万元,是作为整个H任务的硬件费用,但H任务在状态日期完成的工作量为40%.根据这一信息再预测项目结束时的总成本。
4.3.2案例分析
挣值管理(Earned Value Management),是一种综合了范围、进度计划、资源和项目绩效度量的方法,它通过对计划完成的工作、实际挣得的收益、实际花费的成本进行比较,以确定成本与进度是否按计划进
行,提供分析、决策依据,从而选取不同的应对措施,以保证最终完成项目目标。
根据图4-6在测量时间点上,有必要先了解14个重要的概念,如表4-6所示。
(1)应完成多大工作量
计划成本PV(Planned Value),也称为计划工作的预算成本(BCWS)。 在图4-6中,PV=1000元。
(2)“已完成”工作的成本是多少
实际成本AC(Actual Cost),也称为已完成工作的实际成本(ACWP)。 在图4-6中,AC=1100元。
(3)已完成多大工作量
挣值EV(Earned Value),也称为已完成工作的预算成本(BCWP)。
对EV的解释:有一项任务预定在测量时间点上完工,其计划成本为1000元。但只完成这项任务的95%0这样,就完成了950元的工作量,这就是挣值(EV)。
(4)成本偏差CV(Cost Variance): CV=EV-AC
CV是项目任务的挣值与实际成本之间的差异,已完成了950元的工作量(EV),但为完成这一工作实际花费了1100元(AC)。完成这项工作比原先预想的多花了150元(CV)。
(5)进度偏差SV(Schedule Variance) SV=EV-PV
SV是项目或项目任务的挣值与预算值之间的差异。对于一项工作,原先预计到测量时间点为止会完成1000元的工作量(PV)。而实际上完成了950元的工作量(EV)。这样,就比原计划少完成了50元的工作量
(SV)。
(6)成本绩效指数CPI(Cost Performance Index): CPI=EV÷AC
CPI是总挣值除以总成本。仍以图4一6为例,已完成了950元的工作量(EV),而为完成这项工作花了1100元(AC)。实际花一元完成了元的工作量(成本与绩效之比)。
(7)进度绩效指数SPI(Schedule Performance Index): SPI=EV÷PV
SPI是总挣值除以总预算成本。在图4-6中,已完成了950元的工作量(EV,),而计划工作的价值是1000元(PV)。这样,计划完成一元工作量,实际完成了元的工作量(进度绩效之比)。
(8)全部工作假定价值,即完工预算BAC (Budget At Completion)或称“总预算”。
BAC=完成时的预算-项目预计总成本的基线
在图4-6中,BAC=2000元。
(9)尚未完工部分的估算ETC(Estimate To Completion)价值,即从开始到完成项目将还需要花费多少成本。ETC=EAC-AC
在图4-6中,ETC为:ETC=2315-1100=1215(元)
(l0)完工估算EAC (Estimate At Completion),反映了根据项目的进展总成本是多少,如表4-6所示。
最常用的两个公式是EAC=BAC÷CPI和EAC=AC+ETC 。在计算过程中,优先使用第一个公式,如果有明确的理由说明第一个公式不可用,则采用第二个公式。在图4-6中,EAC=2000÷=2315(元)
(11)完工偏差VAC(Variance At Completion),即全部工作预算价值(BAC)与全部工作概算价值(EAC)之差。 VAC=BAC-EAC
正值是项目组追求的目标,表明成本比预计情况要好。
在图4-6中,有: VAC=2000-2315=-315(元)
(12)绩效指数TCPI(To Complete Performance Index): TCPI=(BAC-EV) ÷(BAC-AC)
在图4-6中,有:TCPI=(2000-950) ÷(2000-1100)=
从这一点出发,必须取得效益,即每花费一元要完成元的价值,以便用预计剩下的资金完成余下的工作。
(13)任务完成百分比PC(Percent Complete),即已完成的工作占总工作量的比例。PC=EV ÷BAC
在图4-6中,有:PC=950 ÷2000=%
(14)成本消耗百分比PS (Percent Spent)是指已经消耗的成本占项目总预算的比例。在图4-6中,有: PS=1100÷2000=55%
所有的价值,无论是计划的还是实际的,都用货币值表示偏差。这会使大家认为挣值与货币有关,但它反映的是项目绩效(Project Performance).因此,挣值是沟通管理的一个重要工具,也是项目绩效度量的一个非常有帮助的工具。
进度偏差和成本偏差对项目的影响如表4-7所示。
4.3.3参考答案
【问题1】(6分) 截至项目状态日期已经完成工作量的预算成本,即挣值EV:EV=50×50%=25万元。
【问题2】(6分) 项目结束时的总成本:EAC=28÷50%=56万元。
【问题3】(6分)
由于AC>PV>EV,说明项目实际费用支出超前,与实际完成工作量相比费用超支,项目实际完成工作量与计划工作量相比出现拖期。
【问题4】(7分) 重新预计的项目完工总成本:EAC=(28-4-3×(1-40%))÷50%=万元。
案例四:成本控制
阅读以下关于信息系统项目管理过程中成本控制方面问题的叙述,回答问题1一问题3。
4.4.1案例场景
某A单位的电力信息应用系统(简称A系统),系统建设总投资是1100万元,其中主机采购、存储系统采购、网络设备采购、配件采购等花费500万元,应用软件开发600万元。2005年4月工程双方签订项目开发合同,由B公司负责承建。项目总工期为25周,计划从2005年5月1甲启动至2005年10月22日全部完工。
B公司是一家民营高科技信息系统集成企业,有高级工程师2人,软件、硬件、网络工程师共36人。B公司安排高工李工负责A系统的建设工作。B公司的绩效考核制度是非常严格的,对项目负责人的考核,项目开工前要制订项目实施计划,项目完工后要对项目计划的执行情况进行考核,项目的进度、质量、成本三大目标都要求控制在计划的范围内。
李工于项目正式启动之前两周开始进行项目建设的准备工作,对工程项目进行了工作分解,在工作分解的基础上,编制了项目资源计划、人员计划、项目质量保障计划、进度计划、项目成本预算和成本控制计划等。李工编制完项目资源计划后,报告公司审批,包括项目小组组建的计划在内的项目资源计划顺利地通过了公司审批。于2005年5月1日项目正式启动时,项目小组也组建完成。李工所组建的项目小组为12人,包括软件设计、编码工程师8人,软件测试工程师4人。
由于软件项目开发的主要成本为人力资源成本,为此,李工制定了详细的人力资源成本控制计划,人力资源计划成本=12人×25周×平均人周成本(1500元) =450 000元。为了将软件开发人力资源费用控制在45万元内,李工制定了详细的工程成本管理计划。
李工所进行的项目工作分解,得到共24个系统功能模块,分别编号为M01、M02、……、M24,并分别为每个功能模块制定了工期和成本预算。如表4-8所示。
在项目开发的过程中,李工随时跟踪统计项目的开支情况。李工要求每位软件工程师每周报告一次工作进度,如某某模块完成工作量30%,李工据此来估算项目的进度和成本绩效。如表4-9所示。李工根据表4-9的统计数据计算累积完工的工程价值,计算公式为:
累积完工工程价值=模块单价i完成率ii124。
【问题1】(6分)
请以200字左右回答,李工的成本预算存在哪些问题李工所采取的成本跟踪管理的方法是什么方法应用软件系统开发项目中,使用此方法应注意什么特点
【问题2】(10分)
请以200字左右回答,衡量软件开发实际累积人力资源成本的计算公式是什么怎样改进上述方法才能
控制好人力资源成本怎样得到软件企业实际消耗的人力资源成本
【问题3】(9分)
请以300字内回答,李工采用此方法的具体措施是否存在不足之处如存在,请指出不足并说明理由,及你的改进意见。
4.4.2案例分析
【问题1】
挣值管理方法是应用非常广泛的项目成本管理方法。但是,IT应用系统开发工程项目有其特殊的特点,挣值管理方法的应用必须结合IT工程项目的特点进行,才能够收到理想的效果。另外,IT应用系统工程项目的成本预算也是比较困难的课题,我们往往很难像其他工程项目(如建筑工程项目)那样,将IT应用系统工程项目的成本预算做得准确。
在过去的应用软件工程项目中,很少采用挣值管理来控制项目进度款支付。但随着IT项目管理水平的提高,随着我国IT工程监理制度的推广,将来采用挣值管理控制工程进度款支付也是可期待的。项目经理应当熟练掌握挣值管理方法。
软件项目的合同价格不等于软件项目开发的实际成本,合同价格除了承建单位的软件开发成本外,还包括销售成本、行政费用、税金、利润等,但我们在这里探讨的主要是项目开发成本,即工程成本。
在李工的成本估算中,缺少了对工程量的估算,因此,对人力资源成本的估算也就缺少了依据。对工作量的估算,如M0l模块需要16“人周”,M02模块需要6“人周”,或以“人月”、“人年”为单位来估算工作量,各模块的工作量合起来,就可得到整个项目的工作量。当然,如果要把预算做得更准确,还需要估算各模块的代码量,以历史经验得到每个成员的工作效率来计算各模块所需的工作量,但这种做法目
前在我国还没有多少成功的案例,很多IT公司均是靠经验来进行估算的。
【问题2】
对于大多数应用软件开发项目来说,工程成本的主要构成要素是人力资源使用成本。而为了合理有效地控制人力资源使用成本,在组建项目小组的时候,可以根据工程项目的进度情况,分阶段投入人力资源,要做好与其他工程项目协调使用人力资源。我们也可用人力资源成本来计算挣值,人力资源使用成本的实际值可向财务查询所支付的成本,挣值可以这样计算:
累积人力资源成本(挣值)=i1模块工作量i×完成率i×平均人力周成本
24这种计算是在承建单位内部的成本控制。
本题的主要考点在于怎样在软件开发项目中合理、有效地进行挣值管理。要合理使用挣值管理方法,必须同时考虑到软件工程项目的特点。软件工程项目与建筑工程项目有很大的区别。软件工程项目更加类似于科研项目。如表4-10所示。
在建筑工程项目中,工程进度与成本之间的线性比例关系较好,而且进度容易测量。因此,挣值管理方法也使用得比较好。
但在软件工程项目中,要合理、合适地采用挣值分析方法是比较困难的。软件工程项目的成本控制的困难有以下原因。
(1)需求的不确定性:软件项目的范围、需求难以准确地定义,导致项目开发过程中存在大量的变更,从而影响进度和成本。
(2)规模和工作量的不确定性:软件项目的工作量预算难以估计准确。
(3)质量鉴定的不确定性:开发完成并投入运行的软件模块的质量难以鉴定,特别如某个模块完成了30%或80%的工作量,我们无法去鉴定,或用于鉴定的成本可能很高而使开发单位难以接受或不愿意去做这样的鉴定。
(4)把握需求的不确定性:已经编写完成的软件代码,可能隐藏着对需求理解的严重偏差,可能是废品,得全部返工。
(5)难易程度的不确定性:已经编写完成的软件代码可能是很简单的,未完成的可能很难,或反之。
(6)人员的不确定性:如果编写软件代码的人员不稳定,熟练员工中途流失将给项目进度、质量管理带来严重影响。新人中途接手未全面完成的、风格不良的软件代码,是一件很困难的工作。员工的敬业精神也难以衡量。
由于以上这些因素的影响,使得在软件工程项目中对工程进度和工程质量的测量变得很困难,因而,我们就不可能像在建筑项目中那样使用挣值管理方法了。
【问题3】
在软件项目的开发管理中采用挣值分析时,可以考察各模块的完成状态,全部完成并且集成测试成功,能够投入初步运行,这样,可以算本模块的工作量完成,可以获得本模块的全部挣值,否则,本模块的挣值计0。考虑到工程整体的集成还需要一定成本,因此,在计算各模块挣值时,还应当扣除一定比例的挣值,作为工程整体集成的工作量的挣值。
但我们在实际工作中,也有很多时候采用估算某模块完成百分之几的做法,但这种做法是粗放式的,项目管理人员可以将这信息作为对项目成本累积的参考,作为粗略估计项目进度的参考,但不是成本核算的依据,也不能作为申请工程进度款支付的依据,需知这种信息的可信度和可控性均较差。
4.4.3参考答案
【问题1】(6分)
应当先估算各模块的工程量,再以工程量来估算所需的人力资源,如总工程量“**人周”或“**人月”或“**人年”等。李工的项目小组的建设应分阶段进行人力资源投入,如设计阶段所用人力应较少,而详细设计完成后,编码阶段进入,则人力投入是高峰期。
人力资源成本的预算也应当核算一定比例的浮动成本。李工所采用的是挣值管理方法。此方法应用到软件工程项目中,应注意软件开发挣值与投入的非线性比例关系特点。
【问题2】(10分)
软件开发人力资源成本挣值统计是能够做到比较准确的,衡量软件开发人力资源成本的计算公式: 累积人力资源成本=i1模块工作量i×完成率i×平均人力周成本
24李工所采取的方法应增加各模块工程量的估算,就能够进行人力资源成本控制。如表4-11所示。
实际消耗的人力资源成本可通过财务发放的工资统计得到。
【问题3】(9分)
李工根据各工程师的进度报告(进度百分比)来计算挣值,在软件开发中是不可行的。
在软件开发中,各模块的进度百分比通常很难测量准确,而各工程师的汇报往往是很粗略的估计,这种估计只能提供给项目经理控制进度时做参考,但不能作为成本核算或申请工程进度款支付的依据。建议李工以各模块全面完工来进行计算,即各模块要么计算0%,要么计算100%完工,但在进行工作分解的
时候,分解的深度和各模块的粒度要合适,便于进行控制。
另外,在核算的时候,要扣除一定的比例,如20%~30%作为各模块集成所需要的工程量,待工程全面完工后进行核算。
4.5案例五:投资决策
阅读以下关于信息系统项目管理过程中投资决策方面问题的叙述,回答问题1一问题3。
4.5.1案例场景
刘工是某希赛软件研究所(CSAI )新产品开发部的总工程师,负责为公司调研新的产品预研方向,编制项目开发报告。
2005年5-8月,刘工经过近3个月的时间,对××行业的YY业务系统收集了大量资料,并进行了深入分析,向公司提供了一个项目开发计划,项目开发计划的摘要如下:
××行业的YY业务系统现状描述:(略)。
项目开发A方案的技术经济描述:A方案为一期项目包含6个子系统的建设,项目开发周期为2年,第一年初投资600万元,第二年初投资600万元。项目建成后运行周期为4年,每年年末产生的净现金流入量见表4-12。方案A投资收益如表4-12所示。
项目开发B方案的技术经济描述:B方案分两期建设,两个合同。一期包含3个子系统,开发周期为1年,第一年初投资为600万元,项目建成后即投入运行,第一运行年度末产生的净现金流入量为160万元。第二期项目投资于第一期项目建成后启动,包含3个子系统,开发周期为1年,投资700万元。第二期项目的建设必须有第一期项目的支持,建成后与第一期项目一起运行,每年年末的净现金流入量见表
4-13。方案B投资收益如表4-13所示。
以上计算,设资金的贴现率为8%。
A、B两方案的技术经济比较:通过对A, B两方案的技术经济比较分析, B方案的净现值和净现值指数均优于A方案,因此,刘工得到的结论是B方案优于A方案。
【问题1】(6分) 请以200字内回答,刘工对A, B两方案的技术经济分析是否全面请你给出合理的补充。
【问题2】(9分) 请以300字内回答,B方案比A方案的投资多100万元,即使折算到第一年年初的净现值,B方案也比A方案多投入万元。为什么B方案还是比A方案的经济性优越呢为什么A, B方案建设同样多的功能模块,B方案的投资却比A方案多请列出可能的影响因素。
【问题3】(10分) 请以300字左右,对A,,B两方案的技术经济性进行点评。
4.5.2案例分析
【问题1】
开发一套信息应用系统,都是要期待信息系统能够为我们带来经济价值,即使是公益性项目也不例外。信息系统给我们带来的经济价值有高有低,好的建设方案应当带来更大的经济价值。为了选择更好的项目建设方案,就需要通过对项目的技术经济分析进行投资决策。在进行投资决策时所用到的财务评价指标,根据是否考虑了资金的时间价值,有静态评价指标和动态评价指标。
静态评价指标对于技术经济数据不完备、不准确的方案进行初选,或者对于全寿命周期比较短的项目来说,是适合的。常用的静态评价指标有:投资利润率、静态投资回收期(Pt),借款偿还期(Pd),利息备付率、
偿债备付率等。
充分地考虑资金时间价值的动态评价指标比较适合于方案最后决策前的详细可行性研究阶段,以及对于寿命周期较长的方案进行评价。常用动态评价指标有:净现值(NPV),净现值指数(NPVR ),内含报酬率(IIT )、动态投资回收期((Pt)等。
另外,不同的投资方式,投资资金的风险也不一样,如一次性投资资金的风险一般比分期投资资金的风险要大。建设单位建设资金不充足的情况下,一般采用分期投资的可能性更大些。
【问题2】
现在的应用软件系统开发,我们通常采用螺旋模型开发方式,螺旋模型开发方式的优点是初期投资少,系统建设周期短,建设完成后可以迅速投入应用,给我们带来良好的经济价值。而传统的瀑布模型开发方式,由于开发周期长,一次性投资大,投资收益见效迟缓等缺点,往往在市场竞争的初期会处于不利地位。
软件开发模型对比如表4-14所示。
采用螺旋开发模型,我们可以在较短时间内迅速建设一个应用系统,让系统尽快投入生产,产生经济效益。
但我们同时也应看到,采用螺旋模型开发软件系统也是有缺陷的,采用螺旋模型开发软件,由于在系统建设的初期,我们只考虑一小部分系统功能,很多软件架构设计人员容易忽略将来应用软件对架构的变更要求。由于软件架构的制约,早期建设的系统在应用的过程中,在满足新需求方面,常常遇到很多问题,有时甚至不得不考虑完全废弃以前的架构,重新设计新架构的情况,重新设计就必然导致部分工作的重复、返工,增加工作量,增加投资。
从经济价值方面来考虑,螺旋模型当然是首选,因为其建设周期短,见效快。从系统质量方面来考虑,
瀑布模型又具有一定的优势。采用螺旋模型开发应用软件,必然在时间上存在多次功能模块的迭代。而目前在IT行业,人员的流动性非常强,熟练员工的流失常常也带走成熟的技术,而新招聘的员工对应用软件系统开发的规范性、统一的软件架构、质量保证计划、公司的可复用资产的理解是会大大打折扣的,因此,新员工所开发的软件功能模块,在对旧软件功能模块进行迭代的时候,就会存在很多问题,时常引起软件系统故障,即系统质量问题。
螺旋模型在对付需求变更方面,往往能取得良好的效果,但是,IT系统集成公司或项目小组又容易陷入另一种误区,即不重视需求分析,不重视对系统开发的全局考虑,这样必然造成需求分析中存在着很多不足,导致频繁的变更,泛滥的变更,影响质量、成本。
也不乏这样的情况出现,由于信息系统工程质量的隐蔽性特点(功能方面也存在很强的隐蔽性),建设单位在建设信息系统工程项目的时候,由于主管领导换届,前任已经开发完成的功能,但可能应用部门长期没有使用,新领导由于不知情而重新进行项目建设。这也是螺旋模型开发中,项目管理工作做得不够完善所引发的重复投资问题。
而从系统质量方面来考虑,当然是一次规划,一次性开发更好,因为这种开发模式的统筹性工作将比较螺旋模型会做得更好。传统的瀑布模型需要我们花费大量的精力来做需求分析,要求需求分析做得深入、彻底,以减少软件系统的变更。但由于传统瀑布模型的开发周期长,一次性投资大,投资风险也大,建设单位往往很难接受,软件产品开发商也很难接受,这就导致传统的瀑布模型在市场竞争方面输于螺旋模型。
频繁的变更使得系统质量受到影响,也必然使得应用软件系统的成本投入的增加。
我们建设应用软件系统的投资,除了考虑技术经济性、风险等因素外,还应考虑到非合同因素。工程的甲乙双方在签订项目建设合同的时候,一个大合同通常比若干小合同更合算。用个简单的比喻,好比批发与零售的区别。但分散的小合同风险小,大合同风险大。因此,这方面的因素也应当综合权衡。
因此,当我们在进行软件开发方案决策,选择应用系统开发模型的时候,应当全面考虑以上这些问题。
【问题3】
实际上A, B两方案均是可行的方案,但B方案比A方案风险小,且B方案建设周期短,见效快。如果采用B方案,那么,应当注意系统建设的统筹规划。如果采用A方案,也可以实现一次规划,一个合同,分期建设,这样,效益就会更好。
4.5.3参考答案
【问题1】(6分)
刘工的分析不全面。全面的经济分析还应考虑“成本回收期”、“追加成本净现值”、“追加成本内部收益率”、“内含报酬率”、“敏感性分析”等。还应当增加投资风险分析,本案例方案B的投资风险比方案A的投资风险小。
【问题2】(9分)
B方案分两期建设,两期投入建设资金。由于B方案的一期系统建设在一年建设完成后就投入运行,产生了经济效益。因此,通过净现值指数分析,B方案净现值指数高于A方案,B方案的经济性比A方案优越。
B方案分两期投入,项目风险将会得到一定程度的降低。
B方案所投入的资金多于A方案,一般有以下原因:
两个分立的合同,在甲乙商务方面将有一定区别,分立合同的单价往往会做得高一点。
.由于分期建设,在应用系统的体系架构方面,可能有一定程度的重复开发。
.由于分期建设,硬件及采购设备方面可能有部分会被淘汰、升级,从而影响采购投资方面的增加。
.由于分期建设,IT项目市场环境、技术、政策等因素的影响,也会导致投资总额差别。
【问题3】(10分) 从技术经济性上讲,A、B两方案均是可行的。但B方案更好。
B方案比A方案风险小,且B方案建设周期短,见效快。
采用B方案,应注意应用系统开发的统筹规划就更好了,可以采取一次规划,分期建设,在一期工程建设的时候,对=期工程的建设做比较全面的分析,使一期工程在技术上能够较好地支持=期工程。
如果采用A方案,也可以实现部分功能模块提前投入运行,产生经济效益。甲乙双方只签一个合同,在投资不变的情况下,提前实现收益,使收益增加,提高项目的经济效益。
因篇幅问题不能全部显示,请点此查看更多更全内容