2.5 CMMI2级——配置管理(Configuration Management)

时间:2024-04-16 14:34:08

我们先需要回答,什么是 配置管理

这个问题好难回答,我们可以找到很多解释,但真正理解配置管理的人可能不多。
配置管理的概念非常多,我们可不愿意做理论家,我们是非常务实的,我们先看看,如果没有有效的配置管理,可能会出现什么问题:
1) 软件在开发环境没有问题,测试的时候也没有问题,但发布给客户的时候就有问题。
2)修改一个缺陷后,以前已经解决的缺陷又再次出现。
3)以前已经搞定的问题,无缘无故再次出现。
4) 需求变更后,必须问最熟悉的人才知道需要修改那部分的文档、代码来实现新的需求。
5)找不回之前某个版本的设计、代码。

配置管理无非就是解决这些问题嘛,于是有人便用了一些什么工具,建立了什么 基线,成立了什么变更控制委员会,对所有的变更进行严格的控制。这时有出现了以下问题:
项目组苦不堪言,调整一下计划都需要提什么变更申请,修改什么设计文档也要经过一番审批,天啊,配置管理就是这样的吗?

配置管理是对软件生产过程中的各类工作产品进行管理的办法,要做这个工作之前,应该先理清楚到底会有什么工作产品,这些工作产品的依赖关系是怎样的,哪些是重要的工作产品,不同的工作产品需要什么层次的管理。


大概有以下的管理层次:
1)不需要管理的。
2)需要保存起来便可。
3)要保存起来,并且要对访问权限进行控制,可能某些人只能读,某些人能读写。
4)需要进行版本管理。
5)需要进行基线级别的管理,即需要进行变更申请。

大家可以看到,配置管理其实很讲学问的,要做好配置管理工作,先要把工作产品的依赖关系画出来,找出关键的工作产品,然后决定每个工作产品需要的管理层次。这些考虑好后,才考虑用什么工具对工作产品进行管理。

下面我们开始来谈谈配置管理这个PA。

SG1: Baselines of identified work products are established. 建立已识别的工作产品的基线。
配置项与基线的区别:
配置项是需要进行配置管理的最小单位,如:一份文档、一片段代码等。
基线是配置项的一种,基线需要进行更加严格的管理。
一般配置项的管理等级是:权限控制、版本控制。而基线的管理等级除了具备以上管理外,还需要非常严格的变更控制办法。

SP1.1: Identify the configuration items,components,and related work products that will be placed under configuration management.
识别需要放于配置管理系统中的配置项、组件和相关工作产品。

SP1.2: Establish and maintain a configuration management and change management system for controling work products.
中文大意是:建立和维护一个配置管理系统,用于控制工作产品。

SP1.3: Create or release baselines for internal use and for delivery to the customer.
建立和释放基线,用于内部使用或者交付给客户。
做好配置管理工作,首先做好两步:
1)识别需要进行配置管理的东西。
2)建立一个配置管理系统来管理需要进行配置管理的东西。
然后做好两个事情:
1)对一般的配置项进行管理。
2)对基线级别的配置项进行基线级别的管理。

SG2: Changes to work products under configration management and tracked and controlled.
跟踪和控制置于配置管理系统下的工作产品的变更。

SP2.1: Track change requests for the configuration items.
跟踪配置项的变更需求。例如:记录变更的原因、时间、提出人等。

SP2.2: Control changes to the configuration items.
控制配置项的变更。一个配置项发生了变化,与它相关的配置项也会可能需要相应改变,需要跟踪和控制整个过程,直到全部变化结束。

SP2.1 SP2.2 并没有明确指出是针对配置项还是针对基线的,其实两者都使用,不过是针对配置项还是基线,都需要记录变更需求,另外要跟踪和控制变化,只是针对配置项和针对基线,做的程度不太一样而已。

SG3: Integrity of baselines is established and maintained.
建立和维护基线的完整性。什么意思呢?我们看看下面两个SP就知道了。

SP3.1: Establish and maintain records describing configuration items.
建立和维护描述配置项的记录。简单的说,所有的配置管理活动,如变更需求、控制变化的过程、配置项状态等都需要进行必要的记录。

SP3.2: Perform configuration audits to maintain integrity of the configuration baselines.
执行配置审计来维护配置基线的完整性。
什么叫配置审计呢?配置审计分为功能审计和物理审计。
功能审计:指工作产品是否满足一定的功能要求,这个工作一般不由配置管理员负责,而是通过文档的评审、软件的测试进行。
物理审计:就是检查工作产品是否符合格式、版本号等方面的要求,一般有配置管理元负责。

配置项要进入配置库前,都应该经历审计,保证其符合要求,保证后续工作产品的正确性。如果是基线级别的工作产品要进入配置库,需要接受更加严格的审计。



 

请看下一文……

 

 

 

 

 

 

 

 

 

作者:张传波

创新工场创业课堂(敏捷课程)讲师

软件研发管理资深顾问

CMMI首席专家

《火球——UML大战需求分析》作者

www.umlonline.org创办人