软件开发成本计价及相关问题
一般来说,软件开发成本的估算主要在于软件规模估算和工作量的估算。
不同开发过程和成本构成,适用于不同的估算方法。
软件开发成本仅包括软件开发过程中的人力成本和非人力成本之和,
不包括数据迁移和软件维护等成本。人力成本包括直接人力成本和间接
人力成本,非人力成本包括直接非人力成本和间接非人力成本。
直接人力成本包括开发方项目组成员的工资、奖金和福利等人力资源费用。
其中,项目成员包括参与该项目开发过程的开发或支持人员,如项目经理、需
求分析人员、设计人员、开发人员、测试人员、部署人员、用户文档编写人
员、质量保障人员和配置管理人员等。对于非全职投入该项目开发工作的
人员,按照项目工作量所占其总工作量比例折算其人力资源费用。
间接人力成本指开发方服务于开发管理整体需求的非项目组人员的人力资源费
用分摊。包括开发部门经理、项目管理办公室人员、工程过程组人员、产品规
划人员、组织级质量保障人员、组织级配置管理人员、商务采购人员和IT支持
人员等的工资、奖金和福利等的分摊。
直接非人力成本包括:
办公费-即开发方为开发此项目而产生的行政办公费用,如办公用品、通讯、邮寄、
印刷和会议等;
差旅费-即开发方为开发此项目而产生的差旅费用,如交通住宿和差旅补贴等;
培训费-即开发方为开发此项目而安排得特别培训产生的费用;
业务费-即开发方为完成此项目开发工作所需辅助活动产生的费用,如招待费、
评审费和验收费等;
采购费-即开发方为开发此项目而需特殊采购专用资产或服务的费用,如专用设备费、
专用软件费、技术协作费和专利费等;
其他-即未在以上项目列出但却是开发方为开发此项目所需花费的费用。
间接非人力成本指开发方不为开发某个特定项目而产生,但服务于整体开发活
动的非人力成本分摊。
包括:开发方开发场地房租、水电和物业,开发人员日常办公费用分摊,战略、市场
宣传推广、品牌建设、知识产权专利等费用分摊,以及各种开发办公设备的租赁、
维修和折旧分摊等。
如何估算?软件规模,也即“软件大小”,如同建筑规模中的平方米一样。软件规模
估算是软件估算的基础。软件开发工作量与软件规模密切相关,因而,估算软件规模
是进行有效项目范围和成本管理的基础。
由于缺乏标准,当前不少企业不估算规模,而是使用不科学的经验估算工作量,这种
做法的弊端是:
不能在项目前期界定范围,明确需求;
项目开发中,无法进行生产率改进,也就无法走上通过改进生产率、降低成本的企业
发展正规。软件当前纳入国际及国内行业标准的软件规模度量方法共有5种,均为功能
点方法。《规范》中
的规模估算可依据其中任一方法识别功能点计数项,并根据其对应的权值计算出功能规模。
所谓软件因素调整因子,指由于软件自身特点对生产率产生的影响所需考虑的因子
(例如,要解决的问题复杂或质量要求高的软件通常生产率就会低一些),通常包括
业务领域、应用类型、完整性级别、质量要求等。
即:与甲方要开发什么软件、以及软件本身的特性和质量要求相关。
所谓开发因素调整因子,指对于同一软件,由于采用的技术或团队人员差异而导致的
生产率变化所需考虑的因子(例如,更先进的开发技术或更有经验的人员通常生产率会
更高),通常包括采用技术、过程、团队经验、重用程度等。
即:与开发组织(团队)的技能、经验、以及使用的开发工具等相关。
在估算软件开发工作量时,主要的两个决定因素是:软件规模、生产率。
不同的项目,由于面临问题、团队能力等方面的差异,会导致生产率有较大差异。
需要根据软件情况、开发情况对生产率进行调整。
具体调整因子的选择和取值,可通过对历史数据进行统计分析获得,也可参照相关的
行业数据及相关模型参数。