3.2 软件开发成本概述及其构成
3.2.1 概述
【标准原文】
软件开发过程指从项目立项开始到项目完成验收之间所涉及的需求分析、概要设计、编码实现、集成测试、验收交付活动及相关的项目管理支持活动。软件开发成本仅包括软件开发过程中的所有人力成本和非人力成本之和(见图1),不包括数据迁移和软件维护等成本。人力成本包括直接人力成本和间接人力成本,非人力成本包括直接非人力成本和间接非人力成本。本标准中所涉及工作量也仅为软件开发过程所用工作量。
图1 软件开发成本构成
【标准解读】
在《软件工程 软件开发成本度量规范》中,软件开发过程包括从项目立项开始到项目完成验收之间的需求分析、概要设计、编码实现、集成测试、验收交付活动及相关的项目管理支持活动,不包括数据迁移和软件维护等非软件开发活动。因此,GB/T36964—2018标准中关于软件开发成本仅包括开发方在软件开发过程中的各项工作任务所花费的资源总和,并且可以按照上述划分的活动或阶段进行估算。
若软件开发项目按活动划分,则主要包括需求、设计、构建、测试、实施、项目管理、配置管理、质量保证、培训。
若软件开发项目按阶段划分,则主要包括计划、需求分析、设计、编码、测试、维护。
若软件开发项目按角色划分,则主要包括项目经理、需求分析人员、设计人员、开发人员、测试人员、部署人员、用户文档编写人员、质量保证人员、配置管理人员。
数据迁移是指旧系统升级为新系统时,将其使用期间积累的大量珍贵历史数据进行清洗、转换,并装载到新系统中的过程。
软件维护是指根据用户需求和服务级别协议的承诺,向对方提供纠正性维护、适应性维护、完善性维护或预防性维护等综合服务。
3.2.2 直接人力成本
【标准原文】
直接人力成本包括开发方项目组成员的工资、奖金、福利等人力资源费用。其中,项目成员包括参与该项目开发过程的所有开发或支持人员,如项目经理、需求分析人员、设计人员、开发人员、测试人员、部署人员、用户文档编写人员、质量保证人员和配置管理人员等。对于非全职投入该项目开发工作的人员,按照项目工作量所占其总工作量比例折算其人力资源费用。
【标准解读】
直接人力成本是指开发方项目组成员的人力资源费用,包括工资、奖金及福利等费用。例如,除了一般意义上的工资及奖金,项目成员的正常工作餐费也计入直接人力成本。
3.2.3 间接人力成本
【标准原文】
间接人力成本指开发方服务于开发管理整体需求的非项目组人员的人力资源费用分摊。包括开发部门经理、项目管理办公室人员、工程过程组人员、产品规划人员、组织级质量保证人员、组织级配置管理人员、商务采购人员和IT支持人员等的工资、奖金和福利等的分摊。
【标准解读】
间接人力成本是指服务于组织整体开发活动的非项目组人员的工资、奖金及福利等费用。这些人员一般是组织级的开发管理人员,包括开发部门经理、项目管理办公室人员、工程过程组人员、产品规划人员、组织级质量保证人员、组织级配置管理人员等,他们并不承担特定项目工作,他们的费用分摊后计入间接人力成本。
3.2.4 直接非人力成本
【标准原文】
直接非人力成本包括:
a)办公费,即开发方为开发此项目而产生的行政办公费用,如办公用品、通信、邮寄、印刷和会议等;
a)差旅费,即开发方为开发此项目而产生的差旅费用,如交通、住宿和差旅补贴等;
b)培训费,即开发方为开发此项目而安排的特别培训产生的费用;
c)业务费,即开发方为完成此项目开发工作所需辅助活动产生的费用,如招待费、评审费和验收费等;
d)采购费,即开发方为开发此项目而需特殊采购专用资产或服务的费用,如专用设备费、专用软件费、技术协作费和专利费等;
e)其他,即未在以上项目列出但确是开发方为开发此项目所需花费的费用。
【标准解读】
直接非人力成本通常是指为特定开发项目所支出的费用。例如:
(1)项目组因封闭开发而租用会议室所产生的费用计入直接非人力成本的办公费。
(2)为解决异地客户的问题,项目成员出差是在所难免的,因出差所产生的交通、住宿、补贴等费用计入直接非人力成本的差旅费。
(3)开发方为了完成特定项目,给项目成员提供了必要的培训。这种培训是为了提升项目成员的相关技能,使之更好地完成本项目工作。因此,这部分费用计入直接非人力成本的培训费。
(4)项目开发过程中产生的一些辅助开发活动费用,如招待费、团队建设活动经费、评审费、验收费等,这些费用计入直接非人力成本的业务费。
(5)在项目开发过程中,需要独立采购特定的设备或软件而产生费用,这部分费用的支出计入直接非人力成本的采购费。
3.2.5 间接非人力成本
【标准原文】
间接非人力成本指开发方不为开发某个特定项目而产生,但服务于整体开发活动的非人力成本分摊。包括:开发方开发场地房租、水电和物业,开发人员日常办公费用分摊,战略、市场宣传推广、品牌建设、知识产权专利等费用分摊,以及各种开发办公设备的租赁、维修和折旧分摊等。
注:在编制软件项目预算、报价或结算时,除软件开发成本外,考虑开发方合理的毛利润水平是必要的。对于需要提供其他支持服务的项目或产品,还需要考虑支持活动所需的各种成本,如数据迁移费和维护费等。
【标准解读】
间接非人力成本是指服务于组织整体开发活动的非人力成本,包括开发场地租金、水电费、物业费,开发人员日常办公费用分摊,以及各种办公设备的租赁费、维修费、折旧费等。例如,
(1)开发部门日常办公用的设备及软件成本,这部分费用可以按照间接非人力成本进行分摊。
(2)开发部门办公场地的会议室租用费,可以按照间接非人力成本进行分摊。