通过技术与行政手段对产品及其开发过程和生命周期进行控制、规范的一系列措施和过程。

核心概念 重点

配置项(SCI)

  • 产品生命周期各阶段产生的各种文档、程序、部件和数据的集合
  • 如:系统规格说明书、软件需求规格说明书、源代码等

基线(Baseline)

  • 提供了软件生存期中各开发阶段的一个特定点
  • 配置项形成并通过审核即形成基线
  • 标志开发过程一个阶段的结束和里程碑
  • 基线修改需按正式程序执行
  • 常见基线包括 需求管理 形成的需求基线、进度计划 形成的进度基线、成本计划 形成的成本基线和产品交付前的产品基线。

配置控制委员会(SCCB)

  • 评估变更、批准变更申请
  • 是决策机构,不是作业机构
  • 决定是否变更,不提出变更方案

基线类型 重点

基线说明
功能基线描述系统功能特性和证实功能已实现的文档
需求基线(指派基线)描述待开发软件所要实现功能的文档
开发配置设计、编码和测试任一阶段的配置
产品基线经批准的全部功能和物理特性的文档

配置管理过程

  1. 配置项标识、跟踪:建立唯一标识和跟踪机制
  2. 配置管理环境建立:建立配置管理库(开发库、受控库、产品库)
  3. 基线变更管理:变更请求(CR)→ 变更评价 → 变更处置 → 变更实施 → 变更验证
  4. 基线审核:确保基线化软件产品的完整性和一致性
  5. 配置状态统计:记录和报告配置项状况

变更控制过程 重点

  1. 提出变更请求(CR)
  2. 接受变更请求并确认
  3. 变更评价:技术影响、接口影响、成本影响、进度影响分析
  4. SCCB 评审并决策(批准/不批准/推迟决定)
  5. 变更实施:检出(check out)→ 实施变更 → 验证 → 检入(check in)
  6. 变更验证与结束:审查/评审/测试,必要时建立新基线

变更评价必须同时分析对 任务分解结构WBS进度计划成本计划质量计划风险计划 的影响,避免只批准技术变更而忽略管理后果。

配置管理工具

  • 面向文件:CVS、SVN、VSS、Git(以单个文件为处理对象)
  • 面向变更集:ClearCase 等(将代码修改任务与版本自动关联)
  • 面向开发流程:支持变更控制和项目管理

配置管理建议

  • 小项目:制定规则 + 版本管理
  • 中项目:制定规则 + 版本管理工具
  • 大项目/异地开发:制定规则 + 配置管理工具 + 专门配置管理人员

缺乏配置管理的影响

  • 不能准确界定项目需求
  • 不能有效管理源文件版本
  • 多版本并行开发困难
  • 无法有效管理和跟踪变更
  • 无法及时了解项目进展
  • 无法开展规范化测试
  • 软件复用率低下
  • 核心计划执行与控制 而言,缺乏配置管理会导致基线不清,进而使范围确认、挣值分析和质量控制失去可靠依据。