CMMI配置管理 (CM)实践域概述

CMMI配置管理实践域必需的实践域信息
意图
使用配置识别、版本控制、变更控制和审计来管理工作产品的完整性。
价值
减少工作损失,并增强向客户提供正确版本解决方案的能力。
其他必需的实践域信息
本部分留作空白,以待未来加入内容。
CMMI配置管理实践域解释性实践域信息
CMMI配置管理实践总结
第 1 级
CM 1.1 执行版本控制。
第 2 级
CM 2.1 识别要放置到配置管理下的项。
CM 2.2 开发、使用并持续更新配置和变更管理系统。
CM 2.3 开发或发布供内部使用或交付给客户的基线。
CM 2.4 对配置管理下的项变更进行管理。
CM 2.5 开发、使用并持续更新描述配置管理下的项的记录。
CM 2.6 执行配置审计以保持配置基线、变更和配置管理系统内容的完整性。
CMMI配置管理其他实践域解释性信息
策划配置管理活动包括控制项目开发或修改的工作产品。
放置在配置管理下的工作产品包括:
•给客户的交付物
•由客户提供的工作产品
•指定的内部工作产品,包括:
o解决方案相关的组件
o支持组件(如程序)
•获得的解决方案
•系统或工具
基线指那些已批准的工作产品的版本,它为后续使用此工作产品提供清晰和准确的理解。向配置管理系统添加新的基线。系统地监视与控制对基线和工作产品的变更,其中使用:
• 配置识别
• 配置控制
• 变更管理
• 配置管理的配置审计功能
外部参考资料
U.S. Department of Commerce, National Institute of Standards and Technology (NIST), Software Security in Supply Chains
https://www.nist.gov/itl/executive-order-14028-improving-nations-cybersecurity/software-security-supply-chains-software-1
U.S. Department of Commerce, National Telecommunications and Information Administration (NTIA), Software Bill of Materials (SBOM)
https://www.ntia.gov/sbom
U.S. Department of Commerce, NTIA, Survey of Existing SBOM Formats and Standards
https://www.ntia.gov/files/ntia/publications/ntia_sbom_formats_and_standards_whitepaper_-_version_20191025.pdf
与CMMI配置管理相关的实践域
验证和确认 (VV)
CMMI配置管理实践域的特定背景应用
敏捷开发
背景标签:敏捷开发
背景:将敏捷技术和实践与其他过程整合在一起。
在整个敏捷开发项目中执行配置管理。图 CM-1:敏捷配置控制项示例显示了用于敏捷开发的配置项示例,这些配置项将置于选定的配置控制等级之下。使用配置管理过程来跟踪各种待办列表版本,以及对设计信息、代码、测试用例和测试结果产生的涟漪效应。
将配置管理过程与敏捷开发工作相结合,以保持工作产品和交付物的完整性。在敏捷开发项目中,“完成”这一定义也是团队通常会在进行冲刺策划、评审和回顾时讨论和决定的一个术语,以使整个团队就工作产品或解决方案何时完成的标准达成一致。理解“完成”这一定义对于能够验证和确认每次冲刺生成并交付正确的版本非常重要。
图 CM-1:敏捷配置控制项示例

开发
背景标签:CMMI-DEV
背景:使用过程来开发高质量的产品和服务以满足客户和最终用户的需求。
在配置管理下可放置的工作产品示例可能包括:
•硬件和设备
•图纸、图表和模型
•产品规范
•工具配置
•代码和库
•编译器
•测试工具和测试脚本
•安装日志
•产品数据文件
•产品技术出版物
•计划
•用户故事
•迭代待办列表
•过程描述
•需求
•架构文档和设计数据
•产品线计划、过程和核心资产
一个基线示例是经过批准的产品描述,其中包括内部一致的需求版本、需求可追溯性矩阵、设计、特定于学科的项以及安装、最终用户和操作文档。
对于产品线,将配置管理应用于产品线中的各个产品以及核心资产和产品的各个版本。(请参阅术语表中的“产品线”定义。)
DevSecOps
背景标签:DevSecOps
背景:DevSecOps 是一种思维方式、一种文化和一套实践,可促进开发、运营和安保部门之间的密切合作,从而规划、开发、测试、部署、发布和保持更新安全的解决方案。
DevSecOps 配置管理高度依赖工具,这是由于自动化常规任务的驱动原则,以及整合开发和运营活动以缩短上市时间的需要所致。DevSecOps 中使用的很多工具和环境并非自己拥有、内部开发或在本地部署。配置管理实践可能因工具和环境是本地部署、位于云端还是采用混合模式而异,应将其纳入到配置管理计划中。DevSecOps 团队通常使用一个源码库来存储软件代码。将一个包含代码、二进制文件和其他工件的库与一个配置管理数据库结合使用,以跟踪所有配置项的状态。配置项可能包括:
•需求文档
•操作概念
•设计文档
•接口描述
•数据模型描述
•系统描述
•安保技术实施指南 (STIG)
•工作流程图
鉴于 DevSecOps 部署过程和相关变更的性质,通常需要更频繁地以迭代方式执行配置审计。基线审计评审对象应当包括软件源代码和库,还应根据需要包括项目文档、DevSecOps 系统、过程、自动化步骤和环境。
