还记得刚
学习计算机时,书上将计算机系统定义为硬件系统(计算机),软件系统(
操作系统)和操作者(人)。这样的定义与多数人认为的”系统=机器”的理解完全不同。在和
配置管理打交道的过程中,我也有过类似的经历。最开始以为SVN系统就是配置管理系统,到逐渐地对“一套配置管理系统应该是什么样子”有了自己的认识。
在笔者看来,一套能够满足企业需求的配置管理系统应该包括三方面:
硬件: 服务器+应用系统
软件: 规程、规范、文档、流程
人: 项目配置管理员、组织级配置工程师,构建工程师等
搭载应用系统(如SVN, CC, git,maven, bugfree, hudson等)的服务器(群)是配置管理的硬件基础。毕竟基本的版本控制、自动构建、缺陷跟踪还得靠软件应用系统来实现。
规程(配置、变更),规范和文档,以及基于这些规程规范建立的审批流程,是这个系统的软件部分。
最后,系统都需要有人来管理、使用,按项目和产品线来安排配置管理员,将相关的责任分配到个人,是保重规程规范能够落实的基本条件。组织级的配置管理工程师负责配置系统的管理,不参与项目的具体操作(评审和审计除外)。其它参与配置管理的角色还有: 构建工程师,项目经理(主要是审批),QA(主要是审计)等。
三者缺一不可,紧密配合,才能构成一套支持企业正常运转的配置管理系统。