浅谈软件开发工具的成本核算问题
时间:10-02
整理:3721RD
点击:
在20世纪60年代和70年代中软件开发方法,最恰当的描述是手工技艺,即每个项目都使用定制的过程和工具。到了20世纪80年代和90年代,软件业成熟了并且变得更具工程规范。然而,这个时期的软件项目仍然主要是研究密集型的,由人类的创造力和规模不经济所统治。所谓的软件规模不经济是指工作量和规模的关系,与大多数制造过程相反,所构造的软件越多,软件的单位花费越多。要想使软件业迅速向着以自动化和规模经济为主流的更加产品密集型的方向发展,建设高效的软件开发环境是必不可少的。 一、软件开发环境的定义
现在,许多软件企业集中精力通过软件能力成熟度的改进工作,来促进软件管理的可视性和可测量性,并在产品质量、上市时间、投资回报及生产率方面提高软件业务的性能。要使现代软件开发项目运作良好,过程定义和相当程度的过程自动化工具的使用是不可缺少的。软件开发环境不仅包括软件开发工具,而且也包括软件开发过程。软件开发过程是人们由于开发和维护软件及其相关产品(例如项目计划、设计文档、代码、测试用例和用户手册等等)的一组规程和方法,就如硬件生产的流水线。软件开发工具是软件开发过程中使用的直接开发工具和支持管理工具,它包括规划工具、需求管理工具、可视化建摸工具、编译器、编辑器、调试器和质量保证分析工具、测试工具和用户界面制作工具。如果软件产品的产生是通过一定成熟度的软件开发过程而获得,并在该过程中使用了自动化的开发工具,软件产品的质量、成本和所花费的时间是可以预测的,从而才可能实现其他制造业所具有的规模经济。
二、软件开发环境的重要性
软件开发环境的主要贡献是使低效的、易出错的手工任务得以自动完成。自动化和高效的软件开发环境对软件开发的生产力具有正比线性的效应。通常可以使开发效率提高20%到40%.项目经验表明,一个高度集成化的环境,无论是对推动还是加强过程的管理控制都是必要的。一个过程自动化的环境,不仅可以改进生产力,还可以提高软件质量,加速现代技术的吸收过程。一个支持增量式编译、自动化构造和集成化的回归测试的环境,可以为迭代式开发提供快速循环的支持,并可以使开发群组更加自由地进行迭代。健壮的集成化的开发环境必须支持开发过程的自动化。这个环境应当具备需求管理、文档自动化、宿主/目标机编程工具、自动的回归测试、持续的和集成的变更管理,以及特性/缺陷跟踪功能。成功的软件工程都是雇佣优秀的员工并为他们提供优秀的工具来完成任务。软件开发环境的自动化可以在质量、估计成本和进度的能力以及使用更小的组取得总体的投资回报。要让软件开发人员快速遍历开发制品并使它们保持最新状态,软件开发环境在开发中正起着越来越重要的作用。现代软件工程的发展强调将开发和维护环境作为基础建设。犹如硬件环境的技资一样,这一点非常重要,而在一些小型或不成熟的组织里,却往往得不到保证。在这些组织里具体的过程开发和开发工具的采办,是作为直接的项目费用来计算的。这样作将影响到资金的投入力度。不利于组织开发环境的成熟度的提高,任何项目都不愿将投入用于开发过程的建设和开发的采办,就很难脱离手工作坊的开发方式。对于大多数成熟的软件组织来说,开发环境的建设就像在其他工程学科里那样是作为组织资产的,因此,它们的价值构成和摊销方式应依据固定资产的核算方式来核算。
三、软件开发环境的价值构成
固定资产的价值构成是指固定资产价值所包括的范围。它包括企业为购建某项固定资产达到预定可使用状态前所发生的一切合理、必要的支出。同理软件开发环境的价值构成是软件组织在购建开发过程和开发工具达到预定可使用状态前所发生的一切合理、必要的支出。因此,根据软件开发环境的购建过程,合理必要的支出既有直接费用发生的,如软件开发工具的价款、安装调试费、培训费、咨询费、试运行费等,也有间接费用的发生的,如应承担的借款利息、外币借款折合差额以及应分摊的其他间接费用等。由于软件开发环境的来源渠道不同,其价值构成的具体内容也有所差异。
1.借助外力购建软件开发环境
软件开发环境是通过聘用外部专家来建立的,那么价值构成将包括:软件工具购置费,即软件工具产品的市价。软件工具的培训费,即对工具正确的使用进行培训的费用。软件工具的安装调试费,即为了使软件工具适用于本组织的实际情况而进行的必要的修改,以及相应的安装调试费。软件过程建设机构的初建费、外聘专家的咨询费、试运行费和各部门相应过程建设配合的人员费以及交纳的税金,作为入账价值。
2.自行建设的软件开发环境软件开发环境是依靠组织内部的人员来建立的,那么价值构成将包括:软件工具的开发费用、测试费用和管理费用。软件工具的使用培训费用。软件过程建设机构的初建费、学习费用、培训费、试运行费和各部门相应过程建设配合的人员费以及交纳的税金,作为人账价值。软件开发环境的入账价值中,还应当包括组织为取得软件环境而交纳的契税等税费。
四、软件开发环境的折旧
软件开发组织的软件开发环境可以长期参加主严经营而仍保持其原有的实物形态,但其价值将随着软件开发环境的使用而逐渐转移到生产的软件成本中,或构成了组织的费用。软件开发环境的折旧,既是对软件开发环境逐渐转移到软件成本或构成组织费用的那一部分价值的补偿。软件开发环境的折旧方法有z年限平均法、工作量法、年数总和法、双倍余额递减法等方法计提软件开发环境折旧。本文分别简单介绍四种方法的计算公式:
1.年限平均法
年限平均法是将软件开发环境的折旧均衡地分摊到各期的一种方法。采用这种方法计算的每期折旧额均是等额的。其计算公式如下:
年折旧率=l/预计使用年限×100%
月折旧率=年折旧率/12
月折旧额=软件开发环境原价×月折旧率
2.工作量法
工作量法是根据实际工作量计提折旧额的一种方法,其基本公式为:
每一工作量折旧额=软件开发环境原值/预计总工作量
软件开发环境月折旧额=软件组织当月开发工作量×每一工作量折旧额
3.双倍余额递减法
双倍余额递减法和年数总和法,是常用的加速折旧方法。其特点是在软件开发环境使用前期提取折旧多,使用后期提取折旧逐年减少,以使软件开发环境在有效使用年限中加快得到补偿。双倍余额递减法的计算公式:
年折旧率=2/预计的折旧年限×100%
月折旧率=年折旧率/12月折旧额=软件开发环境账面净值×月折旧率
4.年数总和法
年数总和法又称合计年限法,是将软件开发环境净值乘以一个逐年递减的分数计算每年的折旧额,这个分数的分子代表软件开发环境尚可使用的年限,分母代表使用年数的逐年数字总和。计算公式如下:
年折旧率=尚可使用年限/预计使用年限的年数总和×100%
月折旧率=年折旧率/12
月折旧额=软件开发环境原价×月折旧率
软件组织可以选择不同的折旧方法,但是软件开发环境的折旧方法一经确定,不得随意变更。如需变更,应经批准并在会计报表附注中予以说明。
结束语
软件组织要提高自己的软件开发能力,必要的软件开发环境是基础。要想对自己的软件开发环境投入主要的资金,首先需要管理者在思想上。有一个转变,及将软件开发环境的建设,尤其是软环境的建设(软件开发过程的改进和自动化软件工具)认为是固定资产的投资,该投资收益于今后的软件开发工作中,因此不可当作即期费用来处理。我们只有将这种思想推广开,才可以从根本解决软件能力改进所需的资金不足,才可以使软件组织会逐渐变为成熟的、大规模的开发商,它们才可能拥有稳定的过程定义,并与软件工具提供商建立起长期的合作关系。
现在,许多软件企业集中精力通过软件能力成熟度的改进工作,来促进软件管理的可视性和可测量性,并在产品质量、上市时间、投资回报及生产率方面提高软件业务的性能。要使现代软件开发项目运作良好,过程定义和相当程度的过程自动化工具的使用是不可缺少的。软件开发环境不仅包括软件开发工具,而且也包括软件开发过程。软件开发过程是人们由于开发和维护软件及其相关产品(例如项目计划、设计文档、代码、测试用例和用户手册等等)的一组规程和方法,就如硬件生产的流水线。软件开发工具是软件开发过程中使用的直接开发工具和支持管理工具,它包括规划工具、需求管理工具、可视化建摸工具、编译器、编辑器、调试器和质量保证分析工具、测试工具和用户界面制作工具。如果软件产品的产生是通过一定成熟度的软件开发过程而获得,并在该过程中使用了自动化的开发工具,软件产品的质量、成本和所花费的时间是可以预测的,从而才可能实现其他制造业所具有的规模经济。
二、软件开发环境的重要性
软件开发环境的主要贡献是使低效的、易出错的手工任务得以自动完成。自动化和高效的软件开发环境对软件开发的生产力具有正比线性的效应。通常可以使开发效率提高20%到40%.项目经验表明,一个高度集成化的环境,无论是对推动还是加强过程的管理控制都是必要的。一个过程自动化的环境,不仅可以改进生产力,还可以提高软件质量,加速现代技术的吸收过程。一个支持增量式编译、自动化构造和集成化的回归测试的环境,可以为迭代式开发提供快速循环的支持,并可以使开发群组更加自由地进行迭代。健壮的集成化的开发环境必须支持开发过程的自动化。这个环境应当具备需求管理、文档自动化、宿主/目标机编程工具、自动的回归测试、持续的和集成的变更管理,以及特性/缺陷跟踪功能。成功的软件工程都是雇佣优秀的员工并为他们提供优秀的工具来完成任务。软件开发环境的自动化可以在质量、估计成本和进度的能力以及使用更小的组取得总体的投资回报。要让软件开发人员快速遍历开发制品并使它们保持最新状态,软件开发环境在开发中正起着越来越重要的作用。现代软件工程的发展强调将开发和维护环境作为基础建设。犹如硬件环境的技资一样,这一点非常重要,而在一些小型或不成熟的组织里,却往往得不到保证。在这些组织里具体的过程开发和开发工具的采办,是作为直接的项目费用来计算的。这样作将影响到资金的投入力度。不利于组织开发环境的成熟度的提高,任何项目都不愿将投入用于开发过程的建设和开发的采办,就很难脱离手工作坊的开发方式。对于大多数成熟的软件组织来说,开发环境的建设就像在其他工程学科里那样是作为组织资产的,因此,它们的价值构成和摊销方式应依据固定资产的核算方式来核算。
三、软件开发环境的价值构成
固定资产的价值构成是指固定资产价值所包括的范围。它包括企业为购建某项固定资产达到预定可使用状态前所发生的一切合理、必要的支出。同理软件开发环境的价值构成是软件组织在购建开发过程和开发工具达到预定可使用状态前所发生的一切合理、必要的支出。因此,根据软件开发环境的购建过程,合理必要的支出既有直接费用发生的,如软件开发工具的价款、安装调试费、培训费、咨询费、试运行费等,也有间接费用的发生的,如应承担的借款利息、外币借款折合差额以及应分摊的其他间接费用等。由于软件开发环境的来源渠道不同,其价值构成的具体内容也有所差异。
1.借助外力购建软件开发环境
软件开发环境是通过聘用外部专家来建立的,那么价值构成将包括:软件工具购置费,即软件工具产品的市价。软件工具的培训费,即对工具正确的使用进行培训的费用。软件工具的安装调试费,即为了使软件工具适用于本组织的实际情况而进行的必要的修改,以及相应的安装调试费。软件过程建设机构的初建费、外聘专家的咨询费、试运行费和各部门相应过程建设配合的人员费以及交纳的税金,作为入账价值。
2.自行建设的软件开发环境软件开发环境是依靠组织内部的人员来建立的,那么价值构成将包括:软件工具的开发费用、测试费用和管理费用。软件工具的使用培训费用。软件过程建设机构的初建费、学习费用、培训费、试运行费和各部门相应过程建设配合的人员费以及交纳的税金,作为人账价值。软件开发环境的入账价值中,还应当包括组织为取得软件环境而交纳的契税等税费。
四、软件开发环境的折旧
软件开发组织的软件开发环境可以长期参加主严经营而仍保持其原有的实物形态,但其价值将随着软件开发环境的使用而逐渐转移到生产的软件成本中,或构成了组织的费用。软件开发环境的折旧,既是对软件开发环境逐渐转移到软件成本或构成组织费用的那一部分价值的补偿。软件开发环境的折旧方法有z年限平均法、工作量法、年数总和法、双倍余额递减法等方法计提软件开发环境折旧。本文分别简单介绍四种方法的计算公式:
1.年限平均法
年限平均法是将软件开发环境的折旧均衡地分摊到各期的一种方法。采用这种方法计算的每期折旧额均是等额的。其计算公式如下:
年折旧率=l/预计使用年限×100%
月折旧率=年折旧率/12
月折旧额=软件开发环境原价×月折旧率
2.工作量法
工作量法是根据实际工作量计提折旧额的一种方法,其基本公式为:
每一工作量折旧额=软件开发环境原值/预计总工作量
软件开发环境月折旧额=软件组织当月开发工作量×每一工作量折旧额
3.双倍余额递减法
双倍余额递减法和年数总和法,是常用的加速折旧方法。其特点是在软件开发环境使用前期提取折旧多,使用后期提取折旧逐年减少,以使软件开发环境在有效使用年限中加快得到补偿。双倍余额递减法的计算公式:
年折旧率=2/预计的折旧年限×100%
月折旧率=年折旧率/12月折旧额=软件开发环境账面净值×月折旧率
4.年数总和法
年数总和法又称合计年限法,是将软件开发环境净值乘以一个逐年递减的分数计算每年的折旧额,这个分数的分子代表软件开发环境尚可使用的年限,分母代表使用年数的逐年数字总和。计算公式如下:
年折旧率=尚可使用年限/预计使用年限的年数总和×100%
月折旧率=年折旧率/12
月折旧额=软件开发环境原价×月折旧率
软件组织可以选择不同的折旧方法,但是软件开发环境的折旧方法一经确定,不得随意变更。如需变更,应经批准并在会计报表附注中予以说明。
结束语
软件组织要提高自己的软件开发能力,必要的软件开发环境是基础。要想对自己的软件开发环境投入主要的资金,首先需要管理者在思想上。有一个转变,及将软件开发环境的建设,尤其是软环境的建设(软件开发过程的改进和自动化软件工具)认为是固定资产的投资,该投资收益于今后的软件开发工作中,因此不可当作即期费用来处理。我们只有将这种思想推广开,才可以从根本解决软件能力改进所需的资金不足,才可以使软件组织会逐渐变为成熟的、大规模的开发商,它们才可能拥有稳定的过程定义,并与软件工具提供商建立起长期的合作关系。