UML软件工程组织

基于PRINCE2的工程项目配置管理
作者:杨秋波

摘要:配置管理经常应用于IT项目开发之中,却极少见到工程项目的配置管理。本文基于PRINCE2中配置管理的思想,探讨了工程项目配置管理的概念与内涵、基本职能与实施途径,并对缺乏工程项目配置管理造成的问题进行了研究。

关键词:PRINCE2;工程项目;配置管理

一、配置管理是PRINCE2重要管理组件之一

PRINCE(PRojects IN Controlled Environments,受控环境中的项目)是一种对项目进行有效管理的结构化方法,是一套科学完整的项目管理知识体系,该方法最初是由英国CCTA(Central Computer and Telecommunications Agency,中央计算机与电信局)于1989年建立起来的。为适应对所有的项目而不单纯是信息系统项目管理进行管理的要求,CCTA(现为英国商务办公室)基于众多项目成功的经验和失败的教训进一步开发了PRINCE2,于1996年发布。Prince2是基于过程(process-based)的结构化的项目管理方法,适合于所有类型项目(不管项目的大小和领域,不再局限于IT项目)的易于剪裁和灵活使用的管理方法。

目前,PRINCE2已成为了英国政府、公共部门、私有部分广泛接受的项目管理事实上的标准,PRINCE 2 已风行欧洲与北美等国家。Sun、Oracle等将PRINCE2作为实施项目的标准管理方法;香港特别行政区政府资讯科技署将PRINCE2作为政府项目管理的标准指南;“大中华客户关系管理咨询公司”的合伙人及Tri Dynamics的创办人David Childs建议所有的CRM项目都使用Prince 2作为标准方法。
PRINCE2中涵盖了8类管理组件(component)、8个管理过程(process)以及3种管理技术(technology),配置管理(Configuration Management)是8个管理组件之一,具有识别、跟踪和保护项目产品的重要作用。

二、工程项目配置管理的概念与内涵

配置管理的概念随着技术与经济的发展不断丰富和完善。早在七十年代初期加利福利亚大学的Leon Presser教授就撰写了一篇论文,提出控制变更和配置的概念。之后,随着软件开发规模的逐渐增大,越来越多的公司和团队意识到了软件配置管理的重要性,而相应的软件配置管理工具也如雨后春笋一般,纷纷涌现,比较有代表性的有:Marc Rochkind的SCCS(Source Code Control System)和Walter Tichy的RCS(Revision Control System),这两种工具对日后的配置管理工具的发展做出了重大的贡献,目前绝大多数广泛使用的配置管理工具基本上都是基于这两者的设计思想和体系架构。尽管配置管理的概念提出已有几十年的历史,但业内仍无全面而又权威的定义。

一般认为,配置指项目开发成果的组合。项目最终成果的配置就是项目产品的总和。配置管理在PMBOK和PRINCE2中都得到了应有的重视,PMBOK将配置管理作为集成变更控制的工具之一,是“一些成文的程序,用于对一些技术和行政管理进行指导和监督”,并认为在许多应用领域中,配置管理是变更控制系统的一个子集,用于确保项目产品说明的正确性与完整性。PRINCE2定义配置管理“一门对产品进行准确控制的学科,能够使管理层确定现行或现有的产品版本、维护或更新记录、控制产品变更和审查记录等。”二者在很多过程中都对配置管理作了讲解。
工程项目配置管理指识别、控制、维护和检验现有的及将来的工程项目资产,向管理层提供管理、跟踪与控制项目产品的机制,保护工程项目产品的方式,记录、跟踪项目中问题并将其归档。配置管理流程的实施有助于通过一种有节制而高效的方式进行变更。配置管理是每个项目都要面对的一项工作,它的价值不仅在于完整的信息记录本身,更在于为所有的管理流程提供基础支持与建议,配置管理水平的高低在很大程度上决定了整体管理的水平。但在实际操作中,很多管理者把资产管理、设备管理的理念、做法与配置管理混淆起来,从而难以真正发挥配置管理应有的作用。

三、工程项目配置管理的基本职能

一般项目的特点是:一次性;唯一性;项目目标的明确性;实施条件的约束性。而工程项目比一般项目复杂,其特点是:复杂程度高;整体性强;建设周期长;工程项目的不可逆转性;工程产品的固定性;生产者的流动性;当地政府的管理和干预。工程项目配置管理一般具备以下五项基本职能:

  1. 配置管理计划编制。即作为项目质量计划的一部分,确定项目需要使用何种层次的配置管理,同时为如何实现某一层级配置管理编制计划。工程项目配置管理计划主要用于:
    • 确定如何保护在建的或已建的单位工程或单项工程;
    • 如何识别设计文件的变更及其不同版本;
    • 如何设置项目文件的存档与检索;
    • 确定那个部门负责配置管理。
  2. 配置识别。即确定工程最终产品的所有组成部分。
  3. 配置控制。即对项目产品的检验与移交的实际控制,同时跟踪产品状态、保护最终产品以及控制产品变更。对于设计文件的变更,必须经过设计方和业主方的同时批准才可进行。对于已建工程的占有与使用也必须得到有关方的授权。
  4. 产品状态报告。即配置管理员就产品状态所做的汇报,此报告可用于所有的项目产品或某阶段的产品。工程项目竣工验收阶段,将需要产品状态报告,以确保所有产品都处于“被批准”状态,符合双方所签订合同条件等内容的要求。
  5. 配置审计。即确保工程的实际状况与配置管理记录中所记录的被批准的产品状态相匹配的一系列审查与审计工作。配置审计也要检查配置管理是否按照相应的标准进行。一般在项目各阶段结束时进行配置审计。

四、工程项目缺乏配置管理造成的常见问题

由于历史和现实的原因,配置管理流程和工具在我国工程行业中的应用并不普及,由于缺乏必要的配置管理流程和工具,很多建设企业在日常的工作中都会或多或少的遇到如下的问题:

  1. 不能及时了解项目的进展状况。现代风险管理思想认为越早发现缺陷和风险,采取相应措施的代价越小。工程项目配置管理的一个重要作用就是要提高项目开发过程中的可观察性,使得问题能够被及时的发现。然而由于缺乏配置管理的流程和工具的支持,部门主管无法确切得知项目的进展情况,项目进展随意性很大。所有的问题往往都会集中到项目里程碑时一起出现,这必然会造成巨大的开销,其结果往往是容忍部分缺陷存在或者延误开发周期。
  2. 企业的知识和经验的流失。现代的社会竞争激烈,人员流动频繁,如果由于没有必要的配置管理流程和工具,大量的涵盖工作经验的文档等知识财富必然缺乏统一的管理,可能随意地保存在项目人员各自的机器里,往往会因为硬盘的故障或人员的离职而永远的消失。
  3. 对设计文件的变更缺乏有效的管理。因为缺乏有效的管理手段,往往会在设计文件发布时却无法确定该版本所有的组件,或者遗漏设计文件的某一部分。由于项目环境的复杂性与人员组织的流动性等特点,设计变更的发生是不可避免的,配置管理的实施可以更加有效的进行设计文件的变更管理。

国内很多建设企业已经逐渐认识到配置管理的重要性,都希望通过实施配置管理来提高项目开发管理的水平,增强企业自身的竞争力,应对市场的压力。通过实施配置管理,有利于建立企业知识库,开展知识管理;有利于提高合同管理水平,有效应对索赔或反索赔;有利于规范管理,提升项目管理水平。

五、工程项目配置管理的实施途径

实施配置管理系统,一般的步骤和需要考虑的问题如下:

  1. 设计配置管理库。根据工程项目开发的要求,设计项目产品等括硬件与设计文件、操作维护手册等软件的存储模式,良好的存储模式有利于减轻管理上的负担,同时便于控制使用与查阅权限,保护项目资产。
  2. 定义配置管理系统的角色。在此阶段,需要确定与配置管理相关的所有角色,包括他们的相应的活动。在开发过程中,一个开发人员可能兼任多种角色,但一项任务在同一时刻只能由一个角色来执行。 一般配置管理中的角色主要包括:
    • 项目经理:项目经理在配置管理方面的职责是依靠配置管理员、系统管理员和系统体系结构设计人员的帮助,制定项目的组织结构和配置管理策略。这些工作包括:定制开发子系统,定制访问控制,制定常用策略,制定集成里程碑,以及进行系统集成
    • 配置管理员:配置管理员的职责是根据项目经理制定的开发组织结构和策略,实施、维护配置管理的环境。其主要职责如下:创建配置管理库,对存储库进行日常备份和恢复,维护配置管理环境,及管理配置管理相关的用户
    • QA人员:需要对软件配置管理有较深的认识,其主要工作是跟踪当前项目的状态,测试,报告错误,并验证其修复结果
  3. 制定配置管理流程。这是配置管理实施的一个重要阶段,其主要目的是根据项目开发的需要,制定相应的配置管理流程,以更好地支持开发。
  4. 相关人员的培训。一般来讲,实施配置管理系统,相关人员需要接受一下培训:
    • 管理员培训:针对配置管理员,主要学习配置管理工具管理相关内容
    • 管理流程培训:针对全体人员,目的是了解配置管理策略和流程,以及如何与开发管理、项目管理相结合

实施配置管理方法及工具是一项系统工程,同时也是一项领导工程,因为任何新的工具和方法的引进,必将在初期导致团队生产力的短期下降,在此过程中,需要团队的领导的魄力和决心,以及团队成员的理解和配合,大家共同努力,同时可以借助一些外来的帮助,例如专家的顾问咨询等,以尽可能减小负面影响的程度,缩短负面影响的时间。在度过这段下降区后,就能体验到配置管理系统所带来的一系列好处。


版权所有:UML软件工程组织