如何构造软件企业的配置管理方案blueski推荐 [2006-5-4] 出处:来自网上 作者:贝尔实验室 刘江华 1 引言 1.1 什么是配置管理 配置管理(Configuration Management)是通过技术或行政手段对软件产品及 其开发过程和生命周期进行控制、规范的一系列措施。配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的产品配置。 配置管理过程是对处于不断演化、完善过程中的软件产品的管理过程。其最终目标是实现软件产品的完整性、一致性、可控性,使产品极大程度地与用户需求相吻合。它通过控制、记录、追踪对软件的修改和每个修改生成的软件组成部件来实现对软件产品的管理功能。 1.2 配置管理在软件开发过程和项目管理过程中的作用 随着软件系统的日益复杂化和用户需求、软件更新的频繁化,配置管理逐渐成为软件生命周期中的重要控制过程,在软件开发过程中扮演着越来越来重要的角色。一个好的配置管理过程能覆盖软件开发和维护的各个方面,同时对软件开过程的宏观管理,即项目管理,也有重要的支持作用。良好的配置管理能使软件开发过程有更好的可预测性,使软件系统具有可重复性,使用户和主管部门用软件质量和开发小组有更强的信心。 软件配置管理的最终目标是管理软件产品。由于软件产品是在用户不断变化的需求驱动下不断变化,为了保证对产品有效地进行控制和追踪,配置管理过程不能仅仅对静态的、成形的产品进行管理,而必须对动态的、成长的产品进行管理。由此可见,配置管理同软件开发过程紧芟喙亍E渲霉芾肀匦虢艨廴砑⒐痰母鞲龌方冢汗芾碛没岢龅男枨螅嗫仄涫凳繁S没枨笞钪章涫档讲返母鞲霭姹局腥ィ⒃诓贩⑿泻陀没еС值确矫嫣峁┌镏煊τ没碌男枨螅贫碌目⒅芷凇Mü渲霉芾砉痰目刂疲没Ф匀砑返男枨笕缤胀ú返亩┑ヒ谎裱桓鲅细竦牧鞒蹋惶跏芸氐纳魉撸詈笮纬刹罚⑹鄹嘤τ没А4恿硪桓鼋嵌瓤矗诓房⒌牟煌锥瓮ǔS胁煌娜挝瘢刹煌慕巧5保鞲鼋巧霸鹈魅罚挤置鳎庇智昂笙谓樱嗷バ鳌:玫呐渲霉芾砉逃兄诠娣陡鞲鼋巧男形庇治巧涞娜挝翊萏峁┪薹斓慕雍希拐隹⑼哦酉笠桓鼋幌炖侄右谎托扯执碓拥匦薪?lt;/P> 正因为配置管理过程直接连接产品开发过程、开发人员和最终产品,这些都是项目主管人员所关注的重点,因此配置管理系统在软件项目管理中也起着重要。配置管理过程演化出的控制、报告功能可帮助项目经理更好地了解项目的进度、开发人员的负荷、工作效率和产品质量状况、交付日期等信息。同时配置管理过程所规范的工作流程和明确的分工有利于管理者应付开发人员流动的困境,使新的成员可以快速实现任务交接,尽量减少因人员流动而造成的损失。 1.3 配置管理方案的构成 配置管理过程对软件开发有如此重要的影响,它的构造、实施过程也必定相当复杂。不借助工具,纯粹靠手工方式或只利用简单的工具来实现配置管理是很难做到满意程度的,而且其中的繁琐庞杂最终必定让管理者一愁莫展。因此,实现配置管理过程的通常做法是借助于专业化的配置管理工具,结合开发组织的实际情况制订出相应的配置管理规范,由开发人员在工作过程中依据规范,通过配置管理工具来实现。在这整个过程中,由配置管理工具负责那些非智能的、可自动化的管理过程,如身份角色验证、修改轨迹记录、版本控制等;由配置管理规范来控制那些需要开发人员用智力去判断的因素,如需求合理性和优先级判定、任务分工、产品的结构定义、版本发行方案确定等等。配置管理工具的采用和配置管理规范的制订是紧密联系的,二者构成了一个软件开发机构的整体配置管理方案。这种方案是因组织的差异和配置管理工具的差异而变化的。构造一个配置管理方案涉及到软件开发组织和开发过程的各个方面,是一个复杂的工程应该当作一个项目来做。本文试图给出一个构造配置管理方案的基本策略和主要步骤。 2 组建配置管理方案构造小组 构造或完善一个软件开发组织的配置管理过程需要在构造初期花费较大的人力物力。这种工作一般是由一个临时组成的软件配置管理过程构造小组来完成。这个小组负责构造配置管理过程中的所有工作,包括了解本组织的现有开发、管理现状,选择配置管理工具,制订配置管理规范,安排试验项目的实施,沟通部门间关系,获得管理者支持和开发人员的认同。 配置管理过程构造小组的成员应该包括: 小组负责人 技术支持专家 配置管理技术专家 配置管理系统用户代表 该项目小组成立后,将按后述步骤开展配置管理过程的构造工作。 3 对目标机构进行了解、评估 “知已知彼,百战不殆”。配置管理过程的构造过程也是如此,必须对相互作用的双方都有较透彻的了解才能达到预期的效果。因此首先要做的事情是调查了解,既要了解目标机构(即将要采用该配置管理过程的软件开发组织)的情况,又要了解配置管理工具的情况。 目标机构的调查评估工作由配置管理技术专家领导,配置管理系统用户代表参与,提供基本信息,并由小组负责人协调,对相关部门人员进行深入调查获得较全面的数据。 对目标机构的了解、评估应从这几个方面入手:人员、技术、工作流程、现有项目和期望值。 3.1 人员评估 人员评估的目的是了解目标机构的员工对现有配置管理过程的评价和对采用新工具、制订新规范的态度,预测新的配置管理过程构造中的工作难点和可能遇到的阻力。调查的方面包括: 该组织员工对引入新工具的反应,以前是否有过类似的偿试。 3.2 技术评估 对目标机构技术方面的的调查、评估将直接导致对工具的选择。要了解的信息有: 目标机构有哪些可用的计算资源。 3.3 现有流程评估 对目标组织现有工作流程的评估直接影响新的配置管理流程和规章的制订。调查的方面是: 现有流程的成熟性、适用性和执行情况。 3.4 项目评估 配置管理系统对正在开发的产品、正在进行的项目有直接的影响,因此对即将纳入管理的项目应有充分的了解。了解的方面有: 项目的平均工期(人月)。 3.5 期望值评估 对目标机构的开发、管理人员对新系统的期望值的了解有利于对症下药,解决其当前紧要问题,提高对新系统的信心。调查的方面包括: 对当前本组织的生产率和产品质量的满意程度,期望有怎样的提高。 4 配置管理工具及其提供商评估 通过对目标组织的评估,了解该组织的现状和需求后,就需要选择适合该组织的配置管理工具。市场上现有的配置管理工具不下数十种,它们各有所长,在功能,性能等方面有较大的差别,只有经过仔细地对产品及其提供商进行分析评估,核对目标机构的需求,才能挑选出合适的工具,实现一个理想的配置管理过程。 这种评估可从三个方面进行:配置管理工具的评估、供应商评估和其它用户使用经验的评估。 4.1 配置管理工具评估 对工具的评估应侧重于功能的适用性,而不应一味强调功能的全面性。产品评估应了解如下问题: 该产品的哪一方面功能可解决目标组织的当前问题满足该组织在配置管理上的需求。 4.2 供应商评估 供应商的实力和它所能提供的服务和支持对配置管理系统的实施至关重要。因为配置管理工具不象其它的工具那样,只要安装完成后按照使用手册和在线帮助就能使用,而是必须在系统之外有一系列的操作、管理规范,有一套完整的方案。这些些必须在系统提供者或顾问机构的帮助下才能制订、实施。因此,系统提供商对配置管理过程的实现有重要影响。对供应商的评估包括: 供应商在相应行业的从业时长。 另外,通过了解同一产品的其它用户对该产品的评价可以对该产品和供应商有较为客观、综合的认识。这种评价可从所知的用户组、专业会议、配置管理工具公告板等途径获得。 5 制订实施计划 经过对目标机构和选用工具的评估,工作小组可以制订出一份完整的工作计划作为下一阶段的行动纲要,同时也是向上级主管汇报,取得支持的有力佐证。 工作计划由如下部分组成: 必要性和影响因素 配置管理目标和配置管理过程的构造成功标准 另外,对构造配置管理过程的工作本身,如前所述应当作一个项目来做,因此也必须制订一个明确的完成标准。该标准应该在本小组内部统一并获得上级主管认可。 人员组织和分工 进度计划 风险管理 6 定义配置管理流程 配置管理流程是软件开发机构进行配置管理的依据,也是配置管理构造工作小组的最重要的工作成果。配置管理流程规定开发过程中需要做哪些配置管理方面的工作,由谁做、如何做。前两个问题有较为通用的答案,在后文将会涉及,第三个问题则必须根据目标机构的具体情况解决。 制订配置管理流程的方法是:通过对目标机构的调查、评估,定义现有的配置管理流程,由配置管理技术专家对它进一步分析,结合常规的配置管理方法制订出新的流程。之后,依据选定的配置管理工具的功能,将新流程中可自动化的环节交由配置管理工具处理,其它环节由新制订的配置管理规范控制。 除了制订配置管理规范外,该小组还应制订出适合目标机构的配置管理基本章程。该章程应包括配置管理部门的设立、该部门的责能(通常是负责监督配置管理规范的执行情况,对配置规范进行完善,并担当日常的内部配置管理过程支持任务),定义配置管理过程与开发过程的协调关系,以及各开发阶段的开发人员构成、在配置管理流程中的责任划分等等。 一般说来,配置管理包括四个方面的活动:配置项标志,配置项控制(修改控制),配置状态报告和配置审核。配置管理规范的制订也应按这四个方面内容进行。每一个方面要考虑的问题是: 配置项标志 配置项控制 配置状态报告 配置审核 7 试验项目的实施 这一阶段的任务是选取目标机构中的一个现有项目,按既定的配置管理流程去进行开发和配置管理工作。这种试验的目的是在一定风险范围内,通过实地运作来确定所选配置管理工具、所制订的配置管理规范是否能满足目标机构的需要。要做的工作有: 选定试验项目 选定试验组成员 定义试验成功的标准和试验时间表 人员培训 配置管理工具的安装和项目环境的搭建 开发过程 调整配置管理流程 8 全面实施 经过试验项目证实、校正后的配置管理流程就可以在目标机构的各个项目、各个相关工作环节中去应用、实施,最终使配置管理过程日常化、规范化。全面实施过程主要由配置管理部门根据新的配置管理流程来指导。配置管理过程构造小组的作用趋于淡化,主要起监督和支持作用。该小组在全面实施过程中逐步解散,小组中部分成员可转移到配置管理部门中去。 全面实施阶段的任务有: 组建或完善配置管理部门,并完成配置管理流程的移交。 10 结语 配置管理过程的建立是一个复杂而漫长的过程,因为它受软件开发机构的许多方面的影响,包括技术、设备、项目、制度、人员、文化等因素。就象其它任何新事物的出现一样,在一个机构内刚刚建立的配置管理过程必然会受到各方面的挑战和考验,因此需要有一个适应、融合的过程。另外,配置管理过程的建立也不是一件一劳永逸的事情,不同机构、同一机构在不同的发展阶段或不同的项目中会有不同的配置管理细节,这些都需要配置管理部门在长期工作过程中对配置管理过程不断调节、充实、完善。 |
|