对于软件项目,无论采用何种生命周期模型和开发方法,都会涵盖需求、设计、开发、测试、配置管理等各项活动。而配置管理在整个软件项目建设中起着基础支撑的作用,其他几项活动都以配置管理为基础。

  软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。SCM活动的目标是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更,配置管理是协调软件开发以减少不理解性到小程度的技术,其目的是使错误降为小并有效地提高生产效率。

  配置管理是项目管理的支线,提供工作空间管理、并行开发支持、过程管理、权限控制、变更管理等一系列全面的管理能力。

  我们在十余年的软件项目质量保障服务过程中总结出:做好配置管理对提升软件项目的质量,提高工作效率起着重要的保障作用。探讨如下:

  一、做好配置管理工作,规范流程很重要

  要做好配置管理,工具必不可少,但规范流程也很重要。因为选用了好的工具并不意味着一定能做好配置管理,比如简单的一个check in操作,不同的人用起来可不一样。有人修改后,进行build,然后check in;有人修改后,进行build,并简单的测试再check in,也有人修改后马上check in,……可看出不同的人使用工具的同一操作有不同的后果。

  所以需要根据行业的业务特点,制订适用于项目的配置工作流程,明确项目组中的每位成员在配置管理方面的分工职责,并对项目组成员进行相应的职责和流程培训。

  规范流程方面需要注意:首先配置工作流程不宜过于复杂,应以简单、有效、适合行业应用为基本准则。其次配置管理需讲求实效,以结果为导向,抓住项目组或组织头疼的几个问题,努力想办法解决这些问题。

  另一方面,关于规范约束的范围:凡是与项目实施有关的文档、代码或数据均应纳入配置管理,这样可以实现对项目开发、实施过中的每一项工作进行追溯,并及时处理出现的各类问题。

  二、制定配置管理计划是进行配置管理的基础

  配置管理计划是进行配置管理活动的基础与参照,配置管理计划的内容应当包括确定配置管理工具与人员职责、软件硬件资源、配置项计划、基线计划、配置库备份计划、版本控制规则、变更控制规则以及审计等内容。

  配置管理计划应当由配置管理员与项目经理共同确定。配置管理计划完成后,应随项目管理计划一起提交评审,评审后建立基准并指导项目配置管理活动。项目进行过程中,配置管理员可根据项目情况调整配置管理计划。

  三、基准建立和基准变更控制是配置管理的核心工作

  配置管理员根据配置管理计划建立基准,基准的建立一般步骤如下:

  1、相应配置项负责人将经过评审、测试、核准的配置项提交给配置管理员

  2、配置管理员对配置项进行审计

  3、配置管理员将配置项提交给相应级别的CCB审批

  4、配置管理员将配置项放入受控库

  5、配置管理员维护配置状态记录

  6、配置管理员发布基准建立通知

  基准建立后的配置项将指导后续的开发、管理工作,并需对这些配置项进行监控以应对变更。

  当需要变更基准时,应由相应配置项负责人提出变更请求,配置管理员负责跟踪和管理变更的执行过程、跟踪变更请求状态直至变更结束,确保变更后的内容只有在经过评审、测试、核准后才生效。基准变更后后的配置项将指导后续的开发、管理工作,并需对这些配置项进行监控以应对变更。

  基准建立和基准变更都需要记录基准建立情况,基准变更需要额外记录变更请求跟踪情况。基准变更的本质是变更请求流程+基准建立流程,两者通过变更请求编号进行关联。