4. 历史项目数据收集:数据来源、清洗、标准化与质量评估

历史项目数据是参数化估算模型的“燃料”。数据质量直接决定估算精度。本节系统梳理数据收集的四大环节:来源识别、清洗去噪、标准化对齐、质量评估,确保进入模型的数据可靠、一致、可用。

4.1 数据来源:ERP 与项目管理软件

企业内历史项目数据通常分散在多个系统中。主要来源包括:

来源系统 典型数据内容 关键字段示例 常见问题
ERP 系统 工时、材料成本、设备费用、采购订单 工单号、资源ID、实际工时、物料单价 成本归集口径不一致,间接费用分摊规则模糊
项目管理软件 WBS、计划工期、里程碑、资源分配 任务ID、计划开始/结束、实际完成日期 任务拆分粒度差异大,进度更新不及时
工时管理系统 人员工时填报、加班、请假 员工ID、项目ID、填报日期、工时数 填报随意、跨项目工时拆分不准确
财务系统 项目预算、实际成本、应付账款 预算科目、实际支出、发票日期 预算科目与WBS映射关系缺失
配置管理/DevOps 代码提交、构建次数、缺陷数量 提交ID、模块、缺陷等级、修复时间 数据量大但噪声高,需关联项目版本
实践建议:优先从ERP和项目管理软件中提取“已完成项目”的数据。对于仍在进行中的项目,仅作为参考,不纳入参数化估算的训练集,避免因未完工导致的成本截断偏差。

4.2 数据清洗:去除噪声与异常

原始数据通常包含缺失值、重复记录、异常值和不一致格式。清洗流程分为四个步骤:

  1. 缺失值处理:关键字段(如实际工时、实际成本)缺失超过30%的项目整条剔除;非关键字段可用中位数或同类项目均值填充。
  2. 重复记录去重:按项目ID+任务ID+资源ID组合键去重,保留最新一条记录。
  3. 异常值检测:使用IQR(四分位距)或Z-score方法,识别并标记工时、成本等连续字段中的极端值。例如,某项目单位功能点成本超过同类项目3倍标准差时,需人工复核。
  4. 逻辑一致性校验:检查“实际完成日期 < 计划开始日期”、“工时填报 > 项目总工期×资源数”等矛盾记录,标记为待修正。
常见陷阱:不要直接删除所有异常值。部分异常值可能代表真实的高复杂度项目,盲目删除会损失模型对极端场景的泛化能力。建议先标记,在建模阶段通过分位数回归或稳健估计处理。

4.3 数据标准化:统一度量与口径

不同项目在规模度量、成本科目、工期单位上存在差异。标准化是参数化估算的前提。

标准化维度 原始数据问题 标准化方法 输出示例
规模度量 部分项目用FP,部分用LOC,部分用故事点 建立转换系数表(如1 FP ≈ 50 Java LOC) 统一为“调整后功能点(AFP)”
成本科目 人力成本、外包成本、差旅费混在一起 按标准成本科目表重新归类 人力成本、软件许可、硬件、管理费
时间单位 工期有的按天,有的按人月 统一转换为“人天”或“人时” 1人月 = 22人天(标准工作日)
货币单位 跨国项目涉及多币种 按项目立项时的汇率统一转换为基准币种 所有成本以人民币(CNY)计价
项目类型 新开发、升级、维护混在一起 增加“项目类型”分类字段 类型编码:01-新开发,02-增强,03-维护
标准化原则:“可追溯”优于“完美转换”。每次转换都保留原始值、转换系数、转换日期,便于后续审计和模型调优时回退验证。

4.4 数据质量评估:量化可信度

数据质量评估为每个历史项目生成一个“质量分数”,用于后续建模时的样本加权或筛选。

评估维度与权重建议:

维度 权重 评估标准 评分(0-100)
完整性 30% 关键字段缺失率 < 5% 得满分;每增加5%扣10分 85
准确性 25% 与财务系统对账差异 < 2% 得满分;差异每增1%扣5分 90
一致性 20% 逻辑校验通过率 > 95% 得满分;每降1%扣4分 80
时效性 15% 数据采集时间距项目结束 < 3个月得满分;每超1个月扣5分 75
可追溯性 10% 原始凭证可定位到具体工单或发票得满分;否则扣50% 100

最终质量分数 = 各维度得分 × 权重之和。建议:

  • 质量分数 ≥ 80:直接纳入训练集
  • 60 ≤ 质量分数 < 80:纳入训练集,但模型训练时降低样本权重
  • 质量分数 < 60:仅作为验证集或人工复核后决定是否剔除

4.5 数据收集与处理流程总览

历史项目数据收集与处理流程 历史项目数据收集与处理流程 数据来源 ERP系统 项目管理 工时系统 数据清洗 缺失处理 去重 异常检测 数据标准化 规模统一 科目归类 时间/币种 评估 质量分数输出 ≥80: 训练集 | 60-80: 降权 | <60: 复核

4.6 数据收集清单与交付物

每个历史项目完成数据收集后,应输出以下标准化数据包:

  • 项目元数据:项目ID、名称、类型、行业、开发语言、团队规模、开始/结束日期
  • 规模数据:调整后功能点数(AFP)、代码行数(可选)、用例数
  • 成本数据:总实际成本、人力成本、非人力成本、各阶段成本分布
  • 工期数据:总工期(人天)、各阶段实际工期、关键路径偏差
  • 质量数据:缺陷密度、返工率、测试通过率
  • 质量评估报告:各维度评分、总质量分数、数据可信度等级
关键交付物:建议建立“历史项目数据仓库”,每季度增量更新。数据仓库中每个项目记录附带质量分数标签,便于参数化估算模型在训练时自动筛选高置信度样本。