简介配置管理(CM)的目的是通过执行版本控制、变更控制等过程并使用配置管理软件来确保所有配置项的一致性和可追溯性。配置管理有效保护您的工作成果。
配置管理过程域是SPP模型的重要组成部分。本规范描述了配置管理过程区域的四个主要区域:
创建配置管理计划[SPP-PROC-CM-PLANNING]
配置库管理[SPP-PROC-CM-LIB]
设置项目的版本控制[SPP-PROC-CM-VERSION]
设定项目变更控制[SPP-PROC-CM-CHANGE]
对于上述每个步骤,定义了目标、角色和职责、进入标准、输入、主要步骤、输出、完成标准和措施。
本规范适用于国内IT企业的软件研发项目。我们建议用户根据自身情况(业务目标、研发能力等)酌情修改这些规范并推广使用。
17.1 简介项目开发和管理的过程会产生许多工作产品,例如文档、程序和数据,所有这些工作产品都必须保存以供审查和修改。如果你的电脑里塞满了文件,它就会变得难以使用。毫无疑问,您需要按类别组织和存储您的文档。
纳入配置管理范围的所有工作成果统称为配置项(CI),配置项主要有两大类:(1)产品信息,如需求文档、设计文档、源代码等工作成果,测试用例是其中的一部分。 (2) 项目管理和组织支持过程领域产生的文件。这些文档不是产品的一部分,但值得保存。
每个配置项的主要属性包括名称、标识符、文件状态、版本、作者和日期。所有配置项都存储在配置库中,因此它们永远不会混淆或丢失。配置项及其历史反映了软件的演变。
基线由一组配置项组成,构成一个相对稳定的逻辑实体。基线配置项被“冻结”,任何人都不能随意更改(请参阅更改管理程序)。基线通常对应于开发过程中的里程碑,一个产品可以有多个基线或只有一个基线。基线的主要属性包括名称、标识符、版本和日期。提供给客户的基线通常称为“发布”,用于内部开发的基线称为“构建”。
所有项目成员都使用配置管理软件来保护他们的工作。组织需要实施集成配置管理软件。流行的配置管理软件包括Microsoft 的Visual SourceSafe 和Rational 的ClearCase。为了提高配置管理的效率和安全性,组织需要专门的配置管理员(角色)。配置管理员为每个项目开发《配置管理计划》,并创建和维护配置库。
鉴于配置管理的重要性和复杂性,组织还应该建立配置管理委员会(CCB)。 CCB 是一个虚拟组,拥有各种配置管理活动的决策权,例如批准计划和批准变更请求。对于配置管理,CCB是决策者,配置管理员是执行者。
如果您组织的各个项目密切相关(例如,一个产品线下有多个项目),我们建议您组织建立公共CCB。这个公共CCB拥有所有项目配置管理的决策权。如果一个组织的各个项目相对独立,每个项目都可以建立自己的CCB。建行的决策遵循“少数服从多数”的原则。
配置管理流程如图17-1所示。
图17-1 配置管理流程图
1. 创建配置管理计划
配置管理员主要开发配置管理软硬件资源,包括配置项计划、基线计划、分配计划、备份计划等《配置管理计划》。 CCB批准该计划。
2. 管理配置库
配置管理员为项目创建配置库,并为每个项目成员分配权限。每个项目成员根据他或她的权限与配置库交互。配置管理员定期维护配置数据库,包括清除垃圾文件、备份配置数据库。
3.版本控制
在项目开发过程中,大多数配置项必须经过多次更改才能最终完成。更改配置项会创建新版本。无法保证新版本会比旧版本“更好”,因此您不能放弃旧版本。版本控制的目的是按照一定的规则存储配置项的所有版本,避免版本丢失或混乱,并快速准确地定位配置项的任意版本。
配置项有“草稿”、“正式发布”、“修改中”三种状态,本流程定义了配置项状态和版本号的变更规则。
4. 变更管理
项目开发过程中,配置项发生变化几乎是不可避免的。变更管理的目的是防止配置项未经许可被更改而导致混乱。
修改处于“草稿”状态的配置项不视为“变更”,不需要CCB的批准。修改者只需要遵循版本控制规则即可。
如果某个配置项的状态变成“正式发布”或“冻结”,此时任何人都不能随意更改它,必须遵循以下规则:“申请批准进行更改重新审核关闭”惯于。
5. 配置审核
质量保证人员应定期审核配置管理工作,以确保所有人员(包括项目成员、配置经理和CCB)遵守配置管理规范。配置审核是“过程质量检查”活动,是质量保证专业人员的工作职责之一。请参阅质量保证规范SPP-PROC-QA。我这里就不解释了。配置管理过程域生成的主要文档是: 《配置管理计划》 《配置库管理报告》 《配置项变更控制报告》
17.2 创建配置管理计划17.2.1 目的创建配置管理计划,以便有计划地执行配置管理任务。
17.2.2 管理员《配置管理计划》 配置的角色和职责。
CCB批准《配置管理计划》。 CCB 的数量根据项目的规模而有所不同。 CCB 通常由项目经理、高级项目成员等组成。项目经理对CCB负责。建行的决策遵循“少数服从多数”的原则。
17.2.3 制定启动标准《项目计划》
配置管理器和CCB已经确定。
17.2.4 输入《项目计划》
17.2.5 主要步骤【步骤1】确定配置管理的软硬件资源配置管理员应确定配置管理软件和计算机资源(内存、外部存储(考虑CPU 等))。项目。常用的配置管理软件包括微软的Visual SourceSafe和Rational的ClearCase。
[Step2]制定配置项计划并进行设置,以便管理员能够识别项目的主要配置项。每个配置项都有一个唯一的标识符,标识符引用格式为Project-Type.Type-Number。
您可以在项目(或产品)前添加公司标识符。
Type…Type 表示配置项的类型,可以有多级缩写。
001999 中的数字为3,表示一个配置项有多个文件。如果配置项只有一个文件,则此项可以省略。
部件规划参考格式如下:
类型
主要设定项目
标识符
正式发布日期
【步骤3】建立基线计划配置管理员确定每个基线的名称(标识符)和主要配置项,并估算建立每个基线所需的时间。基线计划参考格式为:
基线名称/标识符
基线包含的主要配置项
预计构建时间
[步骤4] 创建配置数据库的备份计划配置管理员通过指定“谁”、“何时”(频率)和“何处”来备份配置数据库,创建配置数据库的备份计划。配置数据库。
[第五步]批准《配置管理计划》 CCB批准《配置管理计划》。一旦计划获得批准,CCB 代表将被要求签署批准书。否则,配置管理员将自行决定修改《配置管理计划》,直至计划获得批准。
17.2.6 输出《配置管理计划》
17.2.7 封闭标准《配置管理计划》 已制定并经CCB 批准。
17.2.8 测量配置管理统计的工作量和文件大小并向项目经理报告。
17.3 配置库管理17.3.1 目的所有人员应按照配置管理规范和《配置管理计划》 操作配置库。
17.3.2 角色和职责配置管理创建和维护配置库。
项目成员在其权限范围内使用配置库。
17.3.3 启动指南《配置管理计划》 已创建。
用于配置管理的软件和硬件已经存在。
17.3.4 输入《配置管理计划》
17.3.5 主要步骤【步骤1】创建配置库配置管理员创建配置库以及配置库的至少所有一级目录。
【步骤2】授予权限并配置设置,以便管理员可以为每个项目成员授予操作权限。项目成员通常拥有“添加”、“签入/签出”和“下载”等权限,但不能拥有“删除”权限。配置管理员拥有最高权限。确切的步骤取决于您使用的配置管理软件。
【步骤3】操作和管理配置库项目成员根据各自的权限对配置库进行操作,如添加、签入/签出、下载等。
配置管理员创建和维护基线、“冻结”配置项并根据“基线计划”控制更改。
配置管理员定期清理配置库中的垃圾文件。
配置管理员定期备份配置数据库。
交货管理。这里的“分发”是指从配置库中提取配置项,分发给客户或者项目外的人。所提供的配置项应有详细记录以避免混淆。流程如下: (一)“申请人”向CCB提出引渡申请。 (二)建设银行批准申请。如果请求格式错误(合法),则拒绝配置项的传送。如果同意交货,CCB 应提供详细的交货清单。 (3)配置管理员从配置库中提取配置项,并按照CCB的指示将其传送给请求者。 (4)“投诉人”受理后签字。
17.3.6 输出《配置库管理报告》(由配置管理员创建)
17.3.7 终止标准配置库的运行管理将持续到项目终止为止。
17.3.8 衡量配置管理员的工作量和文档大小。
17.3 版本控制17.3.1 目的按照特定规则存储配置项的所有版本,快速、准确地定位配置项的任意版本,避免版本丢失或混乱。
17.3.2 角色和职责所有项目成员都必须遵循版本控制程序来使用配置库。
17.3.3 更改配置项状态的规则配置项有三种状态:草稿、已发布、修改中。
设置项状态转换如图17-2所示。首次创建配置项时,其状态为“草稿”。配置项通过审核(或批准)后,其状态将变为“正式发布”。此后,如果您希望更改任何配置项,则必须按照更改控制程序进行更改,状态将更改为“正在更改”。如果配置项被修改并再次通过审核(或批准),其状态将再次变为“正式发布”。
图17-2 设置项状态转换图
17.3.4 配置项版本号规则配置项版本号与配置项的状态密切相关。 (1)“草稿”状态的配置项版本号格式为0.YZ。
YZ 数字范围为01-99。
随着选秀不断进步,YZ的价值应该会进一步增加。 “YZ”的初始值和增加量由用户自己控制。 (2)“正式发布”状态下设置项的版本号格式为X.Y。
X为主版本号,取值范围为1~9。 Y是次版本号,取值范围为1到9。
配置项首次“正式发布”时,其版本号为1.0。
如果配置项有较小的版本升级,通常只有Y 值增加,X 值保持不变。仅当配置项的版本升级较大时,才允许增大X值。 (3)“Changing”状态的配置项版本号格式为X.YZ。
改变设定项目时,通常只有Z值增加,X.Y值保持不变。
如果更改配置项,状态再次变为“正式发布”,请将Z 值设置为0,并增大X.Y 值。参见规则(2)。
17.3.4 配置项版本控制流程【步骤1】根据《配置管理计划》创建配置项项目成员,并在配置库中创建任务范围内的配置项。此时,设置项的状态为“草稿”,版本号格式为0.YZ。
【第二步】更改“草稿”状态的配置项项目成员可以通过配置管理软件的签出/签入功能,自由更改“草稿”状态的配置项(不受管理)版本号格式为0.YZ。
[步骤3]技术审查或领导批准如果配置项是技术文件,则必须经过技术审查(参见技术审查程序[SPP-PROC-TR])。如果配置项是Plan类型的文档,则必须经过项目经理(或上级领导)的批准。
如果配置项通过技术审核或领导批准,则执行【Step4】;否则,执行【Step2】。
[Step4]正式发布的配置项通过技术审核或领导审批后,该配置项的状态由“草稿”变为“正式发布”,版本号格式为X.Y。
【第五步】在“正式发布”状态下更改或修改设置项必须按照“变更管理流程手册”进行,主要步骤如下(具体参见变更管理流程手册)。
如果CCB同意变更,则该配置项的状态由“正式发布”变为“正在修复”。
项目成员可以使用检出/检入功能来更改处于“正在切割”状态的配置项。版本号格式为X.YZ。
修改完成后,配置项将再次进行技术审核或领导审批,进入【步骤3】。
17.4 配置项变更管理17.4.1 目的防止配置项未经许可被更改,造成混乱。
17.4.2 角色和职责CCB 批准变更请求。
17.4.3 启动条件您要更改的配置项的状态是“已正式发布”或该配置项是基线的一部分(即“冻结”)。
17.4.4 输入要更改的设置项目
17.4.5 主要步骤【步骤1】变更申请变更申请人向建行提出变更请求,重点说明“变更内容”和“变更原因”。
[步骤2]批准变更请求CCB 批准变更请求并分析变更对项目的影响。如果您同意更改,请继续【步骤3】;如果您不同意,请退出此步骤。注意:更改一项配置项也可能会更改其他配置项,因此CCB 在批准变更请求时必须考虑这些要点。
【第三步】变更工作安排建行将指定专人进行变更并安排变更工作。 CCB 必须与变更人就变更的性质达成一致。附加说明:变更执行者可能是也可能不是变更请求者。
[步骤4]执行变更任务执行变更者根据CCB安排的任务来变更设置项。
CCB 监督变更工作的执行,包括确保变更正确并按时完成工作。
[步骤5]对变更的配置项再次进行技术审查(或批准) 如果配置项是技术文件,则必须经过技术审查(参见技术审查程序[SPP-PROC-TR])。如果配置项是Plan类型的文档,则必须经过项目经理(或上级领导)的批准。
如果配置项通过技术审核或领导批准,则执行步骤6,否则执行步骤4(即重新修复)。
[Step6]完成变更一旦所有修改的配置项通过技术审核或领导审批,这些配置项的状态将由“进行中”变为“正式发布”。建行签署《配置项变更控制报告》结束变更。
17.4.6 输出此步骤的所有信息都记录到《配置项变更控制报告》。
17.4.7 完成标准CCB 签署变更。
17.4.8 衡量CCB统计变更工作量。
17.5 实施建议要求所有人员对其工作进行配置管理。
为所有员工提供配置管理培训。
由于配置库存储了项目工作的所有结果,因此配置管理员应该是一个“责任心强、可靠”的人。
通过使用正确的软件工具,最大限度地减少配置管理过程的工作量。附录一:《配置管理计划》
目录
1、人员及职责提示: (1)根据《项目计划》中的角色分配确定配置管理员和CCB(配置管理委员会)成员。 (2) CCB 的数量根据项目的规模而有所不同。项目经理通常对CCB 负责。
角色
人员
职责、工作范围
管理员设置
(1) 《配置管理计划》的制定(2) 配置库的创建和维护
建行负责人
(一)批准《配置管理计划》 (二)重大变更批准
建设银行会员
示例:批准对特定配置项或基线的更改
2. 配置管理所使用的软硬件资源提示: (1) 配置管理员确定本项目的配置管理软件。例如,使用Microsoft 的Visual SourceSafe 或Rationa 的ClearCase。 (2)配置管理员根据所使用的配置管理软件确定计算机资源(考虑内存、外部存储、CPU等)。
配置和管理软件和硬件资源
解释
计算机名称
内存、外部存储器、CPU等
3、配置项规划提示:配置管理员来识别配置项并预估每个配置项何时正式发布。标识符参考格式为项目-类型…类型-编号。例如:
类型
主要设定项目
标识符
正式发布日期
计划
《项目计划》
《质量保证计划》
《配置管理计划》
需要
《用户需求说明书》
《软件需求规格说明书》
《需求跟踪报告》
设计
《体系结构设计报告》
《数据库设计报告》
《模块设计报告》
《用户界面设计报告》
编程
源程序
二进制库
测试
《测试计划》
《测试用例》
《测试报告》
……
4. 基线计划的基线名称/标识符
基线包含的主要配置项
预计构建时间
5、备份配置库的技巧:配置管理员通过指定谁来备份配置库、何时(频率)以及备份配置库的位置来制定配置库的备份策略。
备份频率和时间
后备人
备份内容、存储位置、方式等
附件:本方案的批准意见建行批准意见:
建行代表签名
日期
附录2:《配置库管理报告》
目录
1.管理员基本信息设置
建行
负责人及成员
配置管理计算机
配置管理软件
配置库名称
……
2、项目成员的操作权限提示:配置管理员为每个项目成员分配操作权限。项目成员通常拥有“添加”、“签入/签出”和“下载”等权限,但不能拥有“删除”权限。配置管理员拥有最高权限。确切的步骤取决于您使用的配置管理软件。
项目成员
权限、描述
3. 记录配置项提示:配置管理员记录关键配置项的版本信息。
主要设定项目
正式发布日期
作者
版本变更历史
4. 基线记录基线名称、版本
创建日期
包含的配置项
状态
5、记录配置数据库备份提醒:配置管理员定期备份配置数据库。
批
备份日期
备份内容及步骤
在哪里备份
负责人
6. 配置项交付记录提示:配置管理员根据CCB的指示,从配置库中提取配置项并将其交付给接收方。
批
交货日期
交货内容及注意事项
建行指令
接收者
7、配置库重要操作日志提示:配置管理员记录自己和其他用户对配置库的重要操作,如删除文件等。
日期
人员
事件
附录3:《配置项变更控制报告》
1.申请变更
申请配置变更
输入名称、版本、日期和其他信息
变更详情
以及原因
配置项的变化预计会产生影响
项目影响
更改申请人签名
2.变更请求的批准
建行批准意见
批准意见建行代表签字日期
变更设定项目的批准
更换表演者
时限
3. 更改设置项目
更改的设置项目
重新评估结论
完成日期
负责人
4. 完成更改
建行签字
建行代表签字日期: