软件开发成本估算(一)

  • 一、软件开发成本定义

软件开发成本只包括开发方在软件开发过程中的各项工作任务所花费的资源总和。这里就涉及到一个概念——软件开发过程,软件开发过程包括从项目立项开始到项目完成验收之间的需求分析、概要设计和详细设计、编码实现、集成测试、验收交付活动以及相关的项目管理支持活动。需要注意的是软件开发过程是包括数据迁移和软件维护等非软件开发活动。所以,项目中如果存在数据迁移、ETL等开发活动,这部分是不能按照前面讲的NESMA估算分析,还是要按照经验、历史数据类比等方式进行独立估算。项目的运维成本也不能包括在开发成本之内,这部分也是要单独进行估算。

  • 二、软件开发成本组成

按照《软件研发成本度量规范》,软件开发成本包括所有人力成本与非人力成本之和。人力成本包括直接人力成本和间接人力成本,非人力成本包括直接非人力成本和间接非人力成本。如下图:

  • 1.直接人力成本

《软件研发成本度量规范》中的定义如下:直接人力成本包括开发项目组成员的工资、奖金、福利等人力资源费用。其中项目成员包括参与该项目研发过程的所有研发或支持人员,如项目经理、需求分析人员、设计人员、开发人员、测试人员、部署人员、用户文档编写人员、质量保证人员、配置管理人员等。对于非全职投入该项目研发工作的人员,按照项目工作量占其总工作量比例折算其人力资源费用。

  • 2.间接人力成本

《软件研发成本度量规范》定义:间接人力成本指开发方服务于开发管理整体需求的非项目组人员的人力资源费用分摊。包括开发部门经理、项目管理办公室人员、工程过程组人员、产品规划人员、组织级质量保证人员、组织级配置管理人员、商务采购人员和IT支持人员等的工资、奖金和福利等的分摊。

  • 3.直接非人力成本

直接非人力成本是直接发生在项目中的人力以外的费用。《软件研发成本度量规范》中规定直接非人力成本包括:
(1)办公费,即开发方为研发此项目而产生的行政办公费用,如办公用品、通信、邮寄、印刷、会议等费用。
(2)差旅费,即开发方为研发此项目而产生的差旅费用,如交通、住宿、差旅补贴等。
(3)培训费,即开发方为研发此项目而安排的特别培训产生的费用。
(4)业务费,即开发方为完成此项目研发工作所需辅助活动产生的费用,如招待费、评审费、验收费等。
(5)采购费,即开发方为研发此项目而需特殊采购专用资产或服务的费用,如专用设备费、专用软件费、技术协作费、专利费等。
(6)其他,即未在以上项目列出但确系开发方为研发此项目所需花费的费用。

  • 4.间接非人力成本

间接非人力成本指开发方不为开发某个特定项目而产生,但服务于整体开发活动的非人力成本分摊。包括:开发方开发场地房租、水电电和物业,开发人员日常办公费用分摊,战略、市场宣传推广、品牌建设、知识产权专利等费用分摊,以及各种开发办公设备的租赁、维修和折旧分摊等。例如,开发方日常办公使用的设备及软件成本,可以按照间接非人力成本进行分摊。

  • 5.直接成本与间接成本的区别

直接成本可以说是依附于项目本身的属性,如果项目终止或者取消,相关费用不再发生,则这些费用就是直接成本;反之,这些费用就是间接成本。例如,项目开发需要使用某种特定技术,而项目组成员目前对该技术并不了解,需要进行相关培训以保证项目开发的正常进行,那么此培训费就是直接成本。如果进行某项培训不是特定服务于该项目,则此培训费用就是间接成本。

  • 6.开发费用与非开发费用的区别

在“软件开发成本”内,所有费用一定是为开发活动服务的。如果费用与项目有关,但与开发活动无关,则不应算作软件开发成本。例如,某项目的开发需要采购特殊的硬件设备,则应计入直接非人力成本,而运行这个系统所需的设备不属于软件开发成本,通常计入硬件购置费。

  • 三、软件成本估算模型

  • 1.直接人力成本的估算

软件开发成本估算中最核心的就是直接人力成本的估算,目前典型的估算方法是根据工作量估算结果和项目成员直接人力成本费率来进行估算。直接人力成本的计算通常都按照两种方式计算:

(1)按照不同类别人员的成本综合计算。根据每类人员的直接人力成本和估算工作量分别计算每类人员的直接人力成本,然后将各类人员的直接人力成本相加得到该项目的直接人力成本。

        项目规模估算完成后即可获得总工时。可以根据软件行业基准数据来获取各类工作的工作量占比,2023年的基准数据如下表所示。当然各自企业也可以按照自己的实际度量数据作为参照。

DHC = \sum_{i = 1}^{n}E _{i}\times F_{i}

DHC为直接人力成本(元);E_{i}为第i类人员的工作量(人月);F_{i}为第i类人员的费率(元/人月)。

(2)直接估算人员的平均直接人力成本费率。根据项目的平均直接人力成本和项目估算工作量就可以计算出项目的直接人力成本。公式如下:

DHC=E\timesF

其中,DHC为直接人力成本(元);E为项目总工作量(人月);F为平均直接人力成本(元/人月)。

  • 2.直接非人力成本估算

       直接非人力成本基本上跟工作量没有关系,因此,无法使用单位工时所耗费的费率来计算直接非人力成本,需要根据实际情况进行分析。可以对直接非人力成本进行分类,然后再进行估算,公式如下:

DNC=\sum_{i=1}^{n}C_{i}\times F_{i}

其中,DNC为直接非人力成本(元);C_{i}为第i类直接非人力分类的数量;F_{i}为分类的单价。

直接非人力成本分类如下:

  • 3.间接人力成本估算

间接人力成本是企业间接投放到项目中的人力成本,间接人力成本适合按照工作量比例进行分摊。

比如,质量保证部门的质量保证人员甲负责组织级质量保证工作和3个项目(A、 B、C)的项目级质量保证工作。其中,用于项目A、B、C的工作量占总工作量的1/4,用于组织级质量保证工作和其他工作的工作量占总工作量的1/4,同时,项目A的研发总工作量占该组织所有研发项目总工作量的1/3,则质量保证人员甲的人力资源费用中,1/4计入项目A的直接人力成本,1/12(占质量保证工程师甲1/4的组织级质量保证工作和其他工作中,只有1/3计入项目A的成本)计入项目A的间接人力成本。

  • 4.间接非人力成本估算

项目的间接非人力成本是企业间接投放到项目中的非人力成本,间接人力成本一般按照人工投入比例进行分摊,也可根据公司情况确定不同的分摊方式,如按部门粗略分摊等。

例如,某公司有员工200人,1年的房屋租赁费120万元,则每人每月的房租分摊为500元,如果项目A的总工作量为100人月,则分摊到项目A的房屋租赁费为5万元(即100人月\times500月/人月)。

  • 三、确定软件开发成本

软件开发成本的计算如下:
SDC=DHC+DNC +IHC +INC
式中:
SDC:软件开发成本,单位为元; DHC:直接人力成本,单位为元; DNC:直接非人力成本,单位为元; IHC:间接人力成本,单位为元; INC:间接非人力成本,单位为元。

估算软件开发成本时,如果已经获得项目工作量(人月),可以采用如下公式:

SDC = AW\timesF + DNC

式中,SDC为软件开发成本(元);AW为调整后的工作量(人月);F为平均人力成本费率(元/人月),平均人力成本包括直接人力成本、间接成本及毛利润,但不包括直接非人力成本;DNC为直接非人力成本(元)。

平均人力成本费率可以使用企业自身的人力成本。如果没有实际数据,可以参考软件行业发布的最新数据,比如上海,2023年的平均人力成本为31166元/人月。

如果作为乙方,需要项目报价,可采用如下公式:

P= SDC\times (1+GP)

式中,P为报价,GP为毛利润。

参考资料

1.《软件研发成本度量规范》

2.《2023年中国软件行业基准数据》

软件开发成本估算 软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价。它不包括原材料和能源的消耗,主要是人的劳动的消耗。 人的劳动消耗所需代价就是软件产品的开发成本。 软件产品开发成本的计算方法不同于其它物理产品成本的计算。 软件的开发成本是以次性开发过程所花费的代价来计算的。 软件开发成本估算,应是从软件计划、需求分析、设计、编码、单元测试、组装测试到确认测试,整个软件开发全过程所花费的代价作为依据的。 对于个大型的软件项目,由于项目的复杂性,开发成本估算不是件简单的事,要进行系列的估算处理。主要靠分解和类推。 基本估算方法分为三类。 自顶向下的估算方法 自底向上的估计法 差别估计法 这种方法的主要思想是从项目的整体出发,进行类推。 估算人员根据以前已完成项目所消耗的总成本(或总工作量),推算将要开发的软件的总成本(或总工作量),然后按比例将它分配到各开发任务单元中去,再来检验它是否能满足要求。 ...... 差别估计法 这种方法综合了上述两种方法的优点,其主要思想是把待开发的软件项目与过去已完成的软件项目进行类比,从其开发的各个子任务中区分出类似的部分和不同的部分。 类似的部分按实际量进行计算,不同的部分则采用相应方法进行估算。 这种的方法的优点是可以提高估算的准确程度,缺点是不容易明确“类似”的界限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值