[摘要]在项目管理中,项目成本的确定和控制十分重要。基于活动的成本管理方法是一种根据因果关系进行成本分摊的核算方法,它适用于具有复杂性、独特性和较高间接成本比率特点的项目成本核算。本文以软件开发项目为研究对象,分析了传统成本管理方法存在的不足以及基于活动的成本管理方法在项目管理中应用的可行性。研究结果表明,将基于活动的成本管理方法引入项目成本管理,可以进一步提高成本估算结果的准确性以及项目的成功率。
[关键词]基于活动 项目管理 成本管理
在软件开发项目管理过程中,项目管理者是否使用成本管理模型进行成本估算是项目管理成熟程度的重要标志。在过去的几十年里,人们也一直在努力发明或寻找一些估算方法,力图使软件开发项目成本估计更加准确,使开发过程更加有序化并易于管理。
一、软件项目成本管理的重要性
自20世纪80年代开始,一些学者对软件开发产业进行分析。美国学者琼斯(Jones)认为,软件开发项目的成功率非常低,软件开发具有高度的不可预知性,只有大约10%的项目在最初成本估算下成功交付使用。贝克、墨非和费舍尔(Baker,Murphy
and Fisher)经过对650个项目的研究,将影响项目的因素分为失败因素、成功因素和同时影响项目失败和成功的因素三类。其中,用正确的项目初始成本估算方法是同时影响项目失败和成功的一个重要因素。与此同时,英国学者达非和托马斯(Duffy
and Thomas)在研究中也提出,在导致项目失败的九个主要因素中,计划水平的低下和不适当的成本预算方法是非常重要的两个。
斯坦迪什集团公司(standish Group Interna-tional Inc.)从1994年开始每两年对全球超过15000个IT项目的成功与否进行统计和分析后指出,项目进度未按预期完成或项目成本超预算的比率基本保持在46%~53%之间,这对于项目开发者来说是一个很糟糕的比率。造成项目完全失败或不能按计划完成的最主要原因是成本超支。项目最终实际成本平均相当于期初预测成本的189%。由此可见,成本管理不论是对软件开发项目前期确定还是后期控制都是至关重要的,它是决定一个项目成功与否的关键因素。
二、基于活动的成本管理的理论含义
项目成本的发生是因为消耗或占用了资源,这些资源的成本就是项目的成本,而项目是通过其发生的活动来消耗或占用这些资源的,因此活动才是形成项目成本的最直接的原因。在对项目的成本确定和控制时,以活动作为计量基准成为必然。基于活动的含义就是在项目成本管理中以活动为核心,分析和确定一个项目全过程中的所有具体活动,并对其进行有效的成本确定和控制。基于活动的项目成本确定和控制方法具有目的性、阶段性和可计量性。
1.在基于活动的项目成本确定和控制方法中,所有的项目活动都是为实现既定的目标服务的,所有的活动都是为完成项目这一具体“产品”的目的和要求服务的,因此基于活动具有明确的目的性。
2.在基于活动的项目成本确定和控制方法中,所有的项目活动都可以划分成若干阶段去实现,每个阶段的活动内容和步骤都可以用阶段性成果作为自己的里程碑。这些阶段性成果汇集成整个项目的最终成果,因此基于活动具有一定的阶段性。
3.在基于活动的项目成本确定和控制方法中的活动是消耗资源的基础,是计算成本的可靠依据,因此它必须是可计量的,只有这样才能准确确定项目的成本,并制定出可比较控制标准,才能合理有效地控制项目成本。
三、传统软件项目成本管理方法的缺陷
随着经济全球化的发展,软件开发项目发生了很大变化,客户的需求越来越模糊,产品的结构更加复杂,项目的开发周期越来越短。因此,大部分的传统成本管理方法不再适应现有软件项目特点,已经不能准确估算出项目的开发成本。
1.与其他项目不同,人是软件项目中最为重要的因素,那些依赖系统特性而非人工活动的估算模型因为摒弃了“人”这个因素,过度依赖开发系统,而导致对项目成本的估算产生较大偏差。
2.随着软件项目的规模变大,复杂程度变高以及复用技术的日趋完善,需求分析、设计、测试等工作在整个软件项目开发周期中所占的比重越来越高,因此,那些主要依赖代码行对软件项目成本进行估算的模型,显然不能准确估算出现代软件项目的成本。
3.传统的分析-设计-编码-测试-安装-维护的瀑布式流程已经不再流行,取而代之的是RAD、原型(Prototype)等“轻”开发方法,但是传统成本估算模型并没有因此而发生更新,因此它们不能适应这种变化。
4.目前流行的软件成本估算方法并没有很好地与采用基于构件的复用开发技术的软件项目相匹配。尽管一些传统软件成本估算工具在扩展项目经验数据上有很多进步,但它们仍不能准确估算一个现代项目的剖面图。
5.从项目管理者的角度而言,已有估算模型和方法具有的一般特征包含了一些明显缺陷,如未考虑资源的组合成本,不能明确提供开发活动成本,没有考虑风险事件对成本的影响,输入参数复杂而难以理解,无法根据组织的特征调整估计率等等。
6.由于竞争的加剧,软件项目成本的控制变得更加重要,因此项目管理者对整个项目周期的成本控制提出了更加严格的要求。而传统成本模型虽然在实践中已经被接受和使用,但这些模型主要是针对软件项目成本确定而对项目成本的控制规定甚少。因此从项目管理角度出发,这些模型缺少了成本管理中重要的组成部分,使得这些模型和方法不能对项目成本进行有效管理。
7.现代软件项目中间接费用和直接人工费比例上升。1955年,上述两种成本的比率是15:85,1995年达到85:15,而且近几年这一比例还在逐渐升高。这一现象充分说明,间接费用在软件开发项目成本中所占比例越来越高。因此,传统的以人工工时或机时作为成本分配标准的方法已不再适应目前软件项目的成本估算要求。
四、基于活动的软件项目成本管理方法要点
为了能准确计量软件项目的成本,并实行以活动为基础的项目成本控制,应该从以下几个方面去理解和实施基于活动的成本确定和控制方法:
1.分析活动的必要性,剔除非必要活动。活动的必要性应该从两个角度来分析:顾客和项目组织。因为同一项活动对于顾客和项目组织而言,它的必要性可能会有所不同。例如,增强界面友好性活动对于需求分析来说属增加价值的活动,而从编程者角度来看它属浪费资源的活动。但两者并不是完全对立的,如果某项活动对顾客来讲是必要的,那就是必要活动,因为它能满足顾客需求,增加项目产品价值;如果某项活动对顾客来讲是无关紧要的,但对项目组织而言却是必要的,那么该活动也是必要的活动。
2.分析活动的重要性,确定活动与成本关系。一个项目,哪怕是很小的项目,经过活动分解后,都能形成很多的具体活动,如果不分轻重地逐一分析和控制,不仅会浪费许多人力资源,而且会耽误项目的开发。为了能在活动的确定和控制过程中有的放矢,我们应选择那些对于顾客或项目组织本身而言比较重要的活动进行分析。在一个项目里,绝大部分的成本通常是由很少量的活动引起的,并且很少量的活动可能决定着项目成果最终的成本和价值。基于活动的成本管理方法就是要找出这些决定着项目成果价值和项目成本的重要活动,并对其进行有效的管理和控制。因此,对活动的重要性进行分析是基于活动成本管理方法的一个重要步骤。
3.基于活动的方法对成本估算精确的影响。项目本身的一些活动内容和消耗资源的多少没有经验可以借鉴。项目的不确定性和独特性导致项目管理者难以在项目初期对成本准确确定,往往是随着项目的逐步开展,项目内容逐渐清晰,资源的消耗逐渐明了,这时对项目成本的确定就比期初要相对准确了。正如波姆(Boemh)描述的那样,软件开发产品在项目初期的成本确定误差在正负50%左右,随着项目活动的开展,成本确定的准确性不断提高。当经过顾客需求分析和设计阶段后,项目整体的活动数量以及每个活动消耗资源的情况便清晰可见。此时对项目成本的估算已经变得较为准确,对成本的估算误差接近正负5%。
4.分析活动间的联系,探寻活动间的成本动因。基于活动的成本确定和控制方法的前提就是肯定项目是由一系列活动组成的,并且它们彼此之间是相互联系、有先后顺序的,这些活动构成了项目的活动链。正是由于它们具有较强的关联性,使得在运用基于活动的方法进行项目成本估算时,一定要分析这些活动之间的联系,分析活动间的成本动因。探寻成本发生的根本因素,既有利于活动成本计算,又有利于挖掘非增值活动的根源并设法改进。
五、基于活动的成本管理方法在软件开发项目应用的可行性
现代软件项目迫切需要一种新的成本管理方法,以便根据项目的特点准确核算开发成本。因此,将基于活动的成本管理方法引入软件开发项目的成本管理,不失为一种好的解决办法。这种方法的设计原理恰恰能解决传统成本管理模型存在的缺陷。
在过去20年间,这种方法已经被成功应用于制造型企业。该方法能帮助制造型企业更好地了解自身的成本结构,提高了企业决策的科学性和有效性,并因此进一步增强了竞争力。目前,它的应用范围已由最初的制造业扩展至商品批发与零售业、金融与保险、医疗卫生以及会计师事务所等服务业机构。近几年来,人们开始尝试将这一方法移植于项目管理中,一些物流项目、工程建设项目逐渐开始使用基于活动的成本管理方法,取得了良好效果。
基于活动的成本管理方法对传统会计成本观的突破,主要表现为将以数量为基础的成本计算改变为以活动为基础的成本计算。在基于活动的成本管理方法中,资源首先被追踪至活动,随即,根据产品/服务所消耗的活动状况,活动成本被追踪至产品/服务。这一原则在本质上有别于传统的成本核算体系。这两种成本管理方法在软件项目管理中应用原理的比较。
六、结论
活动是产生成本的根源。因此,对软件项目成本准确核算就必须对开发所需要的活动进行分解,按成本动因在不同层次上分配间接成本,最后汇总出项目的总成本。美国项目管理协会(PMI)在其出版的《项目管理知识体系指南》(PMBOK
2004)中的第7.2.2部分——成本预算的工具和技术一节中也提到用基于工作分解结构(WBS)来预测项目成本的方法。“成本核算、定价和项目决策是决定一个项目成功与否的关键因素,基于活动的成本管理方法恰恰可以为这些决策提供更加准确的信息。与传统的成本会计核算体系相比,基于活动的成本管理方法可以充分模拟更加复杂、独特的成本活动”。针对传统成本管理方法的缺陷,将基于活动的成本管理方法引入到软件开发项目不失为一种好的解决办法。
|