2020年中国软件行业基准数据报告(建议收藏)
中国软件行业基准数据
(CSBMK-202010)
背景与目的
随着软件行业项目规模不断增长、项目复杂度不断提高,量化管理变得越来越重要。在项目管理中,预测、计划、控制和报告都是以数据为基础。因此,为成功实现项目量化管理,首先需要收集、分析度量数据,建立基准数据库。
国际上软件产业发展水平较好的国家(如美国、印度、芬兰、荷兰、日本、韩国等),已建立行业级软件过程基准数据库。与此同时,很多国际基准比对标准组织从上个世纪九十年代就开始收集软件历史项目数据。
中国软件行业基准数据库(以下简称“行业基准数据库”)是在国家有关政务部门的指导下,由中国电子技术标准化研究院、北京软件造价评估技术创新联盟、北京软件和信息服务交易所共同建设,由北京中基数联科技有限公司、北京科信深度科技有限公司提供数据统计与分析技术支持。
行业基准数据库主要服务于软件组织的生产及运维过程管理与改进、信息化工程造价估算、信息化工程监理和审计等。
数据描述
- 数据来源
截止 2020 年 9 月 1 日,基准数据库包含国内外开发及运维项目数据共计 17746 套。其中,从国际基准比对组织及数据分析机构获得高可信度数据 7261 套(包含运维项目数据740 套),国内行业级软件过程基准数据库成分单位提交高可信度项目数据 10485 套(包含运维项目数据 1873 套),同时使用国内企业咨询及第三方评估高可信度数据 36590 套(包含运维项目数据 3598 套),用于交叉验证及行业数据校正,覆盖了电子政务、金融、电信、制造、能源、交通等重点行业和领域。
- 数据范围及分布
本次发布的基准数据是基于数据库中所有可信度高于 C 的国内开发及运维项目数据。所有数据为项目全生存周期数据,即开发工作量数据包含了开发团队从立项到交付的所有工程活动(如需求分析、设计、编码、集成、测试、实施)及相关的项目管理和支持活动所耗费的工作量;运维工作量数据包含了运维团队在限定运维周期(一年)内所有运维活动(如优化完善、例行操作、响应支持、调研评估)及相关的管理和支持活动所耗费的工作量。对于基准数据库中的非全生存周期项目或者周期不足一年的运维项目,依据行业基准数据对工作量数据进行了规格化处理;对于基准数据库中采用非标准功能点方法进行计数的项目,由数据审核专家采用标准方法重新计数或者依据方法差异对规模数据进行了规格化处理。
每个项目数据主要包含如下五大特性:项目特征、规模、工作量及进度、质量、数据质量,每个特性又涵盖不同种类测量元共计347个。
- 数据处理流程
基准数据处理流程如图所示
- 数据分析方法
基准数据采用基准比对方法来分析数据。
基准比对(Benchmarking),即组织将自身的项目管理及研发数据与行业数据及最佳实践进行持续比较,通过数据分析比对,帮助组织了解现状、发现问题、实施改进并对未来建立预测。
基准比对描述了组织在发展中某一时刻的过程状态,类似于一张“体检表”,指明组织在发展中的优劣。实施基准比对的组织可以依据这张“体检表”进行针对性的改进,并通过持续的比对从客观上验证组织所选取的度量体系或过程改进方案是否有效。
基准比对的核心价值在于帮助相关组织找到“真正的问题”和“现实的方法”,并全面评价改进效果。
在基于基准比对方法,生成行业基准数据的过程中,我们主要遵循以下原则或要求:
- 对数据进行匿名化处理,以充分保护提交数据组织的商业秘密
- 对数据进行严格的审核、可信度评价,保证数据质量
- 对数据进行必要的规格化处理,保证数据的可比性
- 剔除低可信度数据,并计算最新统计周期内各主要指标的百分位分布
- 将主要指标最新的百分位分布与上一统计周期的数据进行加权平均,获得最新基准数据
- 利用企业咨询及第三方评估数据对行业基准数据主要指标进行验证和优化,剔除异常数据
- 质量保证措施
数据审核表:
数据审核表
可信度评价:
每个提交到数据库的项目都依据定义的质量标准进行了验证,并记录为可信度等级“A”、“B”、“C”或“D”。项目数据可信度等级定义如下:
- 等级 A(非常可信/ very confident):提交的项目数据非常健全,不存在任何影响其完整性和正确性的因素。
- 等级 B(可信/confident):总体上被评估为健全,但是存在某些因素或许会影响其提交数据的可信度。
- 等级 C(部分可信/ slightly confident):数据不完整或因为没有提供部分重要数据,不能充分评估其提交数据的可信度。
- 等级 D(不可信/not confident):因为某个要素或某个要素组合,其提交的数据不具有可信性。
规格化处理
若项目数据缺少某个阶段或活动的数据,或者关键测量元采用了非标准的测量方法(例如对功能点方法进行了深度定制),则需要基于行业数据进行规格化处理。
主要基准数据
- 软件开发生产率
1.全行业软件开发生产率基准数据
软件开发生产率基准数据明细表
软件开发生产率图
2.各业务领域软件开发生产率基准数据
各业务领域软件开发生产率基准数据明细
各业务领域软件开发生产率
3. 应用软件运维生产率
应用软件运维生产率基准数据明细
应用软件运维生产率
- 软件质量
1.缺陷密度基准数据
缺陷密度基准数据明细
说明:用于计算本基准数据的缺陷数为项目交付前各类测试活动(包括内部测试及用户验收测试,但不包括单元测试)发现的缺陷之和。
缺陷密度
2.交付质量基准数据
交付质量基准数据明细
说明:用于计算本基准数据的缺陷数为项目交付后 6 个月内发现的缺陷总数。
交付质量
- 软件开发工作量分布
各工程活动工作量分布基准数据明细
工作量分布
- 人月费率
1.软件开发基准人月费率
典型城市软件开发人月费率基准数据明细
说明:表中人月费率代表该地区统计数据中位数(P50),一人月以 21.75 天计。费用包含软件开发的直接人力成本、间接人力成本、间接非人力成本及合理利润,但不包括直接非人力成本。其中 A 类城市基准人月费率超过 2.7 万元,包括北京、上海、深圳,平均基准人月费率为 2.94 万元;B 类城市基准人月费率超过 2.4 万元,如广州、天津、南京、厦门等,平均基准人月费率为 2.57 万元;C 类城市基准人月费率超过 2.1 万元,如重庆、哈尔滨、济南、西安等,平均基准人月费率为 2.24 万元;其他为D 类城市,平均基准人月费率为 2.04 万元。
2. 应用软件运维基准人月费率
说明:表中人月费率代表该地区统计数据中位数(P50), 一人月以 21.75 天计。费用包含应用软件运维的直接人力成本、间接人力成本、间接非人力成本及合理利润,但不包括直接非人力成本。城市类别划分与软件开发人月费率中的城市类别划分(见表 3.7)保持一致。其中 A 类城市包括北京、上海、深圳,平均基准人月费率为 2.49 万元;B 类城市如广州、天津、南京、厦门等,平均基准人月费率为 2.14 万元;C 类城市如重庆、哈尔滨、济南、西安等,平均基准人月费率为 1.90 万元;其他为 D 类城市,平均基准人月费率为 1.68 万元。
- 功能点单价
1.软件开发规模单价
功能点单价基准为 1245.19 元/功能点(以北京地区统计数据中位数为基准,费用包含软件开发的直接人力成本、间接人力成本、间接非人力成本及合理利润,但不包括直接非人力成本。其他地区功能点单价基准可参照与北京地区人月费率对应关系进行折算)。
2.应用软件运维规模单价
功能点单价基准为 124.20 元/功能点(以北京地区统计数据中位数为基准,费用包含应用软件运维的直接人力成本、间接人力成本、间接非人力成本及合理利润,但不包括直接非人力成本。其他地区功能点单价基准可参照与北京地区人月费率对应关系进行折算)。
- 应用软件运维费用占比
在估算应用软件运维费用时,如果了解相关软件建设所需(或所花费)的费用,也可根据应用软件运维费用相对建设费用的占比,进行应用软件运维费用的快速估算。
应用软件运维费用占比基准数据明细
应用软件运维费用占比
- 规模调整因子
在规模估算的不同阶段,应考虑规模蔓延对项目范围的影响。
- 在估算早期(如概算、预算阶段),规模调整因子取值为 1.39;
- 在估算中期(如投标、项目计划阶段),规模调整因子取值为 1.21;
- 在估算晚期(如需求分析阶段),规模调整因子取值为 1.10;
- 在项目交付后及运维阶段,规模调整因子取值为 1.00。