摘要:怎样根据软件项目产业特殊性做好软件成本控制,是学术界与实务界普遍关注的重要论题。软件开发项目成本控制对策是:优化成本估算体系;成本预算过程的管控有待进一步加强;薪酬考核制度有待完善;项目成本计划滞后于实际的需求变更;技术更新迟缓。
关键词:软件公司,项目管理,成本控制,降本增效
软件开发项目相对于传统项目来说有其特殊性,主要体现在两个方面:一是软件开发属于脑力劳动的工作范畴,而且软件开发的最终成果不是实际物体,而是以技术文档和程序代码为主,因此,软件开发并不需要和传统项目一样,修建工厂,购建固定的厂房、生产设备以及看得见的生产线,它只需要有一个开发队伍坐在计算机前就可以了,所以对于软件项目来说,高昂的技术人员工资就成了其主要成本。二是软件的开发、使用、维护、管理的过程,是一个非常复杂的系统工程,在软件开发过程中,项目的进度以及质量都是难以估计的,这就给软件项目的成本控制加大了难度,也对软件项目的成本控制提出了更高的要求。
一、软件项目的成本组成及其影响因素
(一)软件项目的成本组成
从软件开发的实际出发,软件项目的成本不只包括人力薪酬,在软件开发过程中所花费的管理费用和财务费用也包含在内,这些费用是差旅费、业务招待费、硬件设备采购费、设备折旧等费用的和。从财务方面考虑,软件项目成本包含这几项:一是硬件购买费用,如服务器、交换机和小型机,以及机房里的不间断空调等;二是软件购买费用,如软件开发过程中所需其他应用软件的购买费用;三是人工费,包括开发软件项目过程中的工资薪酬、项目奖励等;四是培训费,员工为此软件开发项目时所进行技术培训而产生的费用;五是通讯费,包括购买通讯线路设备和租用公共通讯线路所产生的费用;六是基本建设费,如为安置服务器、交换机或小型机所新建或者扩张机房所花费的金额;七是财务费用;八是交通费、差旅费、业务招待费、交通费和会议费以及其他有关的管理费用;九是材料费,包括打印机所用的墨盒、打印纸以及磁盘等所花费用;十是水、电、汽、气费;十一是专有技术购置费;十二是其他费用,如员工用电脑开发软件过程中,电脑所产生的固定资产折旧费用。
(二)软件项目成本的主要影响因素
1. 软件项目的工作内容及范围
一个软件项目从开始到结束所需要做的所有工作就是项目的范围。很显然,软件项目的范围和其工作成正比,范围越大,工作越多。而工作多,自然而然为从事工作所消耗的人力和物力等资源也必然多,耗费的资源多了,那么对应的成本也就高了。
2. 软件项目的价格
对于软件项目初期来说,其价格主要和项目的预算成本有关。而预算成本主要取决于人力资源和其他软硬件的价格,因此市场上人力资源与软硬件价格的变动直接影响到项目成本。所以,对价格变动提前做出预判是项目预算编制的一个关键,预算编制人员务必做到尽可能全面考虑各种可能情况,做好应对措施,降低价格变动对项目成本产生的不利影响。
3. 软件项目的工期
在软件开发项目中,项目的工期长短对项目成本影响极大,主要体现在:项目经理为了确保项目工期所采取措施的成本费用,若要使得工期缩短,则务必要投入更为密集的硬性成本,这也就增加了项目的直接成本;而由工期延误向客户支付的赔偿款等成本,也可以说是工期的成本损失。
4. 软件项目的质量要求与水平
质量保证在软件项目管理中能够起到积极重要的作用,质量保证活动的执行效果直接影响到项目的质量甚至项目的成败,但这也形成了项目的质量成本,同时因为故障发生的质量成本也构成了质量成本。当然,为了提高质量就必然要付出一定的代价,在这里体现为成本,例如Beta、Alpha等很多轮的测试,而测试软件的购进和使用,都需要有大量的人力、物力等资源的支撑,这就是质量保证成本。质量保证成本投入越多,软件项目的质量就越可靠,由于故障发生的质量成本也就相对较低。
5. 软件项目的管理水平
软件项目管理是一项复杂的工作,管理水平的提高绝不能是一蹴而就能完成的,但是软件项目的管理水平,对于软件公司项目成本控制确实相当重要,不正确的项目管理会对软件项目造成巨大的损失。很多错误的管理决策会导致项目各环节都非常紧张。例如,软件项目资金链的不良运转、材料以及设备的延期供给,这些都会在最后对项目进度产生重要影响,进而影响到工期;对预算成本估算偏低;设计的更改等不仅会影响项目进度,也会导致成本变化,给成本控制加大难度。
二、目前软件开发项目成本控制普遍存在的问题
(一)成本估算体系存在漏洞
对于一个大型的软件项目来说,由于软件项目的多样性和不确定性,导致开发成本的估算并不是一件非常容易的事情,它需要进行一系列的成本估算处理。而目前使用平均生产率估算工作量时,主要是根据历史数据估算生产率数据的方法,恰好忽略了软件项目的多样性和不确定性。它是取上一年所有项目生产率的平均值,然后再把该平均值作为下一年所有项目的生产率数据。策划部一般会在年底对所有项目进行统一计算,而不是把所有项目分别按照性质和规模不同进行区分。这样做完全忽略了软件项目的性质、规模、阶段等不同所导致的生产率也大不相同,进而导致对单个项目规模及其计划成本估算的准确性也有所下降(生产率数据的预计值与实际值偏差较大)。
(二)成本预算过程的管控有待进一步加强
成本预算是将已获批准的项目总成本估算根据进度分配到项目的各项具体工作中,进而确定成本基准。成本预算的依据之一是项目进度计划,由于客户对项目交付时间节点的严格要求进而导致项目管理通常以按时交付为第一要务,而客户时常的变更需求,会影响项目进度计划的进行,因此业务部门非常重视项目进度计划。这种什么都以赶进度为目标的管理在实际过程中可能导致业务部门会以高额成本为代价换取可以及时的完成节点目标,而忽略其本身的经济性、合理性。因此,可以说导致各类问题最根本的原因是项目管理人员在管理理念上对成本意识的忽视。
(三)薪酬考核制度有待完善
业务部门的绩效考核内容全部为项目整体业务指标,例如软件开发项目按计划完成情况、缺陷处理的及时性及有效性、测试结果无偏差、工作任务完成情况等,直接相关的人员成本指标并没有列入其中,很难提高员工的成本管控意识。
软件开发业务部门对部门员工的个人考核过于宽泛,没有对工作量,工作质量等具体指标进行细化,且对这些指标缺乏更加精确的定性评价标准。项目经理与项目组其他成员的考核内容基本一致,没有表现出其特殊的职能要求;通过以往的考评结果来看,并没有充分拉开优秀员工与低效率员工之间的差距。
(四)项目成本计划滞后于实际的需求变更
在实际的软件项目中,很多客户不断地更改软件需求,甚至在上一次的变更申请流程还没有完成时客户又提出了新的需求,而业务部门已经根据上一次的需求进行了相应调整,然而客户提出新的软件需求后,又不得不放弃之前已经付出的努力和成本转而进行新的尝试,这就导致了成本大大的浪费,也提高了本次项目的总成本。
(五)技术更新迟缓
目前,很多软件开发公司依然使用多年前的开发工具和开发架构,尽管开发人员对之前的开发工具和开发架构已经能够做到孰能生巧、运用自如,但随着时间的推移,在软件开发效率上将会与使用先进技术的企业逐渐拉大距离,这最终势必会影响到本公司软件项目开发的成本。以此看来,技术的更新换代势在必行,从而为软件项目的成本控制打下良好的基础。
三、软件开发项目成本控制对策
(一)优化成本估算体系
优化成本估算体系是完善软件开发项目成本控制对策的第一步。成本估算过程中容易忽略软件项目复杂性,不确定性的特点而直接采用统一的标准对所有项目进行无差别的管理方式给软件项目项目管理埋下隐患,很容易造成管控失效,进而导致成本失控。因此,务必要从软件开发项目的实际情况出发,按照项目类型及规模、项目阶段、人员类型对历史数据进行归集和分析,制定合理可靠的计划标准。在形成这一标准后,就可以根据每个项目自身的实际情况和详尽的业务计划确定出单个项目的预算计划。这里需要重点强调的是,客户需求的不断变化造成预期成本变更也应及时准确的反映到项目预算中去,并时刻保证预算计划与实际发生的成本在口径上的可比性。
(二)强化预算过程管控
强化预算过程管控是完善软件开发项目成本控制对策的重点。项目的挣值管理是一种把资源计划编制和进度安排、技术成本以及进度要求相关联的管理技术。它是利用进度计划、成本计划、实际成本这三个开发过程常用且相对独立的因素去进行项目绩效评估。挣值管理也可以预测到项目可能发生的工期滞后量和费用超支量,从而判断项目的进度和成本是否与所作计划保持一致,然后及时采取纠正措施,这样就为项目的成本管理与控制提供了较为有效的手段。
(三)完善薪酬考核制度
由于人力成本是软件项目成本中最主要的部分,所以完善薪酬考核制度是完善软件开发项目成本控制对策的关键。可以通过调整现有的绩效考核体系,在其中加入成本管控指标来让公司上下意识到项目成本的重要性。一方面,可以在软件项目进度管理计划中引入挣值管理技术,使得进度成本管控成为项目管理的重要组成部分;另一方面,为了使绩效考核和绩效薪酬发挥应有的约束和激励作用,应该在项目组成员尤其是项目经理的绩效考核中加入成本管控指标以此对优秀员工和低效率员工进行奖惩,比如超出预算水平的部分达到一定比例,且超出部分都是不合理的,就要进行相应的惩罚;对通过自己努力提高工作效率,提前完成工作安排,从而降低项目成本的员工进行奖励。
(四)建立敏捷开发流程
建立敏捷开发流程是完善软件开发项目成本控制对策的重中之重。敏捷开发以用户的需求进化为核心,讲究在开发过程中做到步步为营、循序渐进,因为它可以做到把一个大项目划分为多个相互联系但又可以独立运行的小项目,然后分别完成这些小项目,在此过程中软件一直保持可使用的状态。而且它还可以以非常经济的方式对客户的需求变化做出快速的反应,进而开发出高效用的软件产品,这样就可以降低因客户需求变化而产生的重复成本。
(五)加大技术更新投入
1. 建立对应的奖励制度
奖励那些通过对新技术的学习更新使得公司整体的开发效率相对提高或者使得项目成本降低的人员,以此作为示范,可以起到鼓励其他人员进行技术更新的作用。对于技术更新带来的技术风险,也要勇于接受,承担其带来的后果,不责备相关人员。
2. 设置专用于技术更新的经费
有了专项经费,技术人员才可以放心大胆的采购软硬件设备技术。而且专项经费的设立也可以让员工看到公司高层对于技术更新的态度,坚定了技术更新的决心。
结论
软件开发的特殊性决定了其项目成本控制的难度,那么怎样根据其特殊性做好软件成本控制,是一个值得研究的论题。与传统项目相比,软件开发项目有其特殊性。对于软件开发企业来说,软件项目管理不仅可以使软件项目能够按照预定好的成本、进度、质量来顺利完成,同时也可以间接提高企业整体的软件开发能力。而成本管理更是项目管理的重中之重,是软件开发企业不可或缺的管理方法,所以软件开发企业应该不断强化企业成本管控制度,进而帮助企业节约成本、扩大收益,助力企业高效快速地发展。
参考文献
[1]吴艳文.私营企业财务管理问题探析[J].西安石油大学学报(社会科学版),2007(1):26-29,34.
[2]王杨.探析软件开发项目的成本控制对策[J].中国总会计师,2015(5):126-127.
[3]杜湘红,张红燕.机构投资者、碳信息披露与权益资本成本间的关系[J].西安石油大学学报(社会科学版),2018(5):47-53.
[4]罗震.S公司软件项目成本管理研究[D].西安:西北工业大学(硕士学位论文),2007.