软件开发企业财务管理方法研究

  [摘要]软件开发属于风险投资,其项目成功与否的不确定性较大,软件工程项目的成本控制、投资回收率等财务管理工作难度也很大。由于软件开发企业的运营存在着极大的经营风险和财务风险,所以必须加强财务管理。实现财务管理方法的创新,是减少决策失误的应对之策。本文就软件开发的成本预测和投资回收率等具体财务管理方法问题,进行研究,作了分析,


  [关键词]财务管理;软件工程;投资回收率;投资收益率


  作者:蒋洪霞


  据了解,软件开发项目的“死亡之旅”现象,一直困扰着软件开发企业,在各种各样的统计中,经常泛滥着进度延期、预算超支、充满错误的软件、不满意的用户和完全失败等项目。怎样才能避免这种现象呢?笔者通过对软件开发企业的财务管理工作及其方法进行了研究,发现许多软件开发企业缺少最起码的财务控制和管理。就此,笔者提出一些基本的财务控制方法,希望得到软件开发企业高层管理者和财务管理人员的重视。


  一、软件开发成本预测的基本方法


  软件开发成本预测涉及到软件工程开发和财务管理两个学科。这两个学科的专业人员都很少,专业人员中能够同时精通软件开发和财务管理的人才更是凤毛麟角。因此软件开发成本预测方法很少进入《财务管理》教材。在《软件工程导论》中也只是一般性的介绍了成本预测,而没有详细讲解成本预测的方法。在实际工作中软件开发成本的预测是非常重要的,因为它关系到软件开发的成败和企业的盈利。


  软件工程项目的开发主要表现为系统工程的开发。这种开发是一种风险投资,正确地预测其开发成本,准确地计算可以获得的预期经济效益是十分重要的。但是,系统开发属于高科技投资,其成本的高低是一个很难预测的问题。正确地进行成本效益分析也存在着很大的难度。因此,必须应用符合软件开发企业实际情况的财务管理方法,对开发的新系统进行成本预测,以便项目决策者做出正确的决策。


  软件开发成本可以分为变动成本和固定成本。固定成本是指企业固定资产的折旧和工作室的租金支出等费用。因为这种成本费用不受项目本身的影响,也是所有企业共同的问题,不能体现软件开发企业的特点,因此不作为研究的重点。这里主要研究的是决策依据一变动成本。在软件开发企业中,变动成本主要表现为人力资源的消耗。其开发费用主要是软件开发人数和平均工资乘积。在笔者所经历的实际工作中,主要有三种预测方法,分别是代码行预测法、任务分解法和自动估计法。以下简单介绍一下这些常用的方法。


  (一)代码行预测法


  这种方法是将开发每个软件的功能成本和实现这个功能需要用的源代码行数联系起来。通过专业人员的经验或历史数据,预测一个实现功能需要的源代码行数,然后用每行代码的企业平均成本与其相乘。就可以确定软件的变动成本了。其中每行代码的平均成本取决于软件的复杂程度和企业的工资水平。这一点,由于在各个企业的人员结构和技术水平不同而不相同,要因企业实际情况而定。公式如下:


  软件工程变动成本=每行代码的企业平均成本×实现功能需要代码行数


  (二)任务分解预测法


  这种方法分为三个步骤。首先,将软件开发工程分解为若干个相对独立的任务;然后,再分别预测每个单独任务的开发成本;最后累计得出软件开发工程的总成本。需要注意的是:在预测每个任务的成本时,需要事先预计完成该项任务所需要的人数,一般以人或月为单位,然后乘以每人每月平均工资,得出每个任务的总成本。


  在安排内部控制计划的时候,也可以利用任务分解预测法进行完成计划的检查和分析。最简单的方法是:将任务按照开发阶段来划分。根据经验或历史数据预测出各个阶段任务所需要的人力资源比重i然后按照该项任务的计划总成本分解出各个阶段的成本控制指标。例如下面这张表格是某企业软件研发项目工作中各个阶段需要使用人力资源占总人力资源消耗的比重(见表1]:


  以上表1的数据是根据专业人员的经验和历史数据统计得来的。在确定了各个阶段使用人力资源的比重以后,就可以据此计算每个项目的内部控制成本了。假设完成一项库存清单系统修改软件工程,需要的人力资源成本费用总计10000元,则内部控制的人力资源费用分配表如下:


  当看到这样一张人力费用控制表格的时候,就可以对项目的人工费用进行有效地控制了。如果有效地控制了成本开支,降低了成本。那么就可以得到更多的收益。


  (三)自动预测成本法


  这是一种现代化的成本预测方法。它主要是根据长期收集的大量历史数据,通过良好的计算机数据库系统进行核算的。采用这种方法可以减轻人力劳动,提高成本预测的精度和速度。其中的计算方法和人工预测方法相同。


  二、软件开发成本预测分析的指标


  在软件开发成本预测分析中,主要应用回收期和投资回收率两个指标。同时,还要注意货币时间价值等财务管理理念的应用。


  (一)软件开发成本预测中货币时间价值的应用


  软件工程成本是由开发成本和运行费用组成的。而软件工程的效益就是新系统带来的经济效益,它是由新系统增加的收入和新系统可以节约的运行费用组成的。将以上两个概念用公式表达如下:


  软件工程成本=新系统开发成本+运行费用


  其中:运行费用=操作人员工资+消耗的物料+维护费用


  新系统带来的经济效益=新系统增加的收入+新系统可以节约的运行费用


  由于新系统带来的经济效益是未来的,所以在进行决策的时候还应该考虑货币的时间价值,将这些未来的经济效益折合成现在的价值,才便于对不同方案做出筛选和决策。下面举例说明货币时间价值在软件工程决策中的应用。


  雪狐软件公司接受了一家物流公司修改一个库存清单系统的任务,任务的目的是使修改后的库存清单能够在每天给采购员一份订货报表。此系统需要修改库存清单程序和编写生产报表程序才能满足用户的要求。经过预测需要投入成本费用总计100000元。系统修改后可以及时订货,这样可以消除零件短缺问题,预计每年可以增加收益50000元。五年可以增加的总收益是250000元。也就是说,投入100000元可以增加250000元的收入。可以肯定地说,这项投资是值得的。那么这项投资的收益率是多少呢?


  要确切地计算这项软件工程的经济收益,不能简单地将投入的100000元和收益的250000元进行比较,应该考虑货币的时间价值。原因是250000元是连续五年的经济成果,不是项目最初年份的成果。


  假设年利率为10%,可以计算修改库存清单系统以后每年预计节约费用的总现值。列表如下:


  (二)投资回收期的计算和分析


  按照财务管理的理念,投资回收期是以投资项目经营净现金流量抵偿原始投资所需要的全部时间。计算公式如下:


  投资回收期=M+1第M年累计的折现额1÷(第M+1年的折现额)


  式中:M是指累计折现额由负数变为正数的前一年。


  将上述案例带八公式为:


  投资回收期=2+|13000|÷37500=2347年


  此处计算的回收期是一种考虑了资金时间价值的回收期,这里将其称为动态回收期,即是在考虑了货币时间价值的情况下回收期为2.347年。


  (三)投资收益率的计算和分析


  投资收益率(也称为投资报酬率)是指项目运营期年平均利润占项目总投资的百分比。投资收益率的计算公式为:


  投资收益率=年平均利润÷项目总投资


  将案例数据带入公式为:


  89500÷5÷100000=17.9%


  如果将该投资收益率与其他投资项目的收益率相比,属于比较高的,那么这个软件工程项目就是可行的;否则为不可行。如果没有其他项目可以对比,那么,就和同期银行存款利率进行比较,高于同期银行存款利率,就是可行项目;否则,不可行。以上库存清单系统软件工程的投资回收率是17.9%,高于同期银行存款利率,属于可行项目。


  (四)软件工程项目纯收入的计算和分析


  衡量软件工程项目的纯收入,应该就项目的整个生命周期之内系统的累计收入额折现以后,扣除原始投资以后的净额作为软件工程的纯收入。本案例就是89500元。在评价软件工程项目的时候。纯收入为正值就可行,数值越大经济效益越好。


  根据以上分析可见,物流公司修改一个库存清单系统的项目从总体上看是有投资效益的,是可行的。作为软件开发企业的雪狐软件公司承揽这个项目也是有经济效益和社会效益的。因此,两个公司应该加强合作,共同努力,保证按时、按质量完成该项目的开发工作。


  三、结论


  综上所述,在我国的软件开发企业中,软件开发项目的“死亡之旅”实在太多,这主要是除了项目本身的技术要求比较高、投资风险比较大以外,和我国软件开发产业发展速度比较慢,软件开发管理上存在的盲目性比较大也是分不开的。由于我国软件开发企业财务管理工作滞后,可行性分析和研究工作做得不够,特别是在一些高等院校里,对于软件项目的投资回收期、投资回收率以及经济收益率和现金流量等研究做的很少,一般不搞经济效益分析。因此,建议软件行业的管理者们多研究和探讨软件开发企业的财务管理问题,并建议财务管理专家学者也要多研究和探讨软件开发企业的财务管理问题。这样一来,财务管理专家和软件开发专业人员的密切结合,必将开拓中国软件开发企业财务管理工作的新局面,从而推动我国软件开发行业的飞速发展。


  “成功无需赘述,但失败、挫折和疑问却必须得到关注和监控”。我国软件业的老总们应加强对财务管理问题的思考,并将其付诸实施,软件业或许会少走弯路,取得更加骄人的成绩。