统一变更管理(UCM)-- 一种基于活动的配置管理过程
二十多年来,Rational软件一直致力于提供全面可靠的软件开发管理解决方案,其中软件配置管理(software configuration management,SCM)解决方案集成了两个业界领先的工具:用于软件工件管理(software artifact management,SAM)的Rational ClearCase和用于缺陷及变更跟踪的Rational ClearQuest。这两个工具合在一起构成了一个市场领先的软件配置管理系统,提供了真正用于加速软件开发周期和流程的解决方案,这一方案已连续四年居市场第一位(摘自IDC报告:"Rational′s SCM solution continued to dominate the software configuration management market in 2001, with a 36.5 percent share. Rational′s SCM solution market share grew in 2001 despite a decline in revenue in the overall SCM market during the year.")。
在大量软件工程实践经验和用户反馈的基础上,Rational软件提出了第三代的配置管理解决方案- 统一变更管理(UCM)。这里,首先,让我们简单回顾一下软件配置管理的发展历程:软件配置管理在其不长的发展历史中不断进行演化,从七十年代基于文件(File Based)以版本控制、支持check-out/check-in模型和简单分支为主要特征的第一代软件配置管理,到基于项目库(Project Based)将元数据与配置项分开存储管理从而更好地支持并行开发、团队协作以及过程管理的第二代软件配置管理,发展到今天基于文件访问透明(File Transparency Based,即开发人员可以在不保留本地副本的情况下直接访问受控配置项)、全面结合变更请求管理(Software Change Management)、软件系统分析设计以及软件测试等等各个软件开发环节的完整的软件配置管理方案。而Rational配置管理解决方案UCM正是体现这一趋势的代表。
以前两代配置管理方法为基础上,Rational软件提出的统一变更管理(UCM)是用于管理软件开发过程(包括从需求到版本发布)中所有变更的"最佳实践"流程。UCM定义了一个可以立即用于软件开发项目的一致并基于活动的变更管理流程。通过Rational ClearCase和ClearQuest的支持,UCM已成为Rational用于软件开发最佳实践的全面框架--Rationial统一过程(RUP)的关键组成部分。根据软件开发团队的具体需要,可以使用相应的过程模型来加速软件开发进度,提高软件质量并优化开发过程。
UCM通过抽象层次的提升简化了软件开发,从而使得软件开发团队从更高的层次根据活动(activity)来管理变更。通过UCM,一个开发活动可以自动地同其变更集(封装了所有用于实现该活动的项目工件)相关联,这样避免了管理人员手动跟踪所有文件变更。使用UCM还可以获得以下好处:
本文第三代配置管理解决方案:一种基于活动的配置管理过程详细描述了统一变更管理(UCM)的概念、优点以及开发团队如何通过使用Rational ClearCase,Rational ClearQuest和Rational Suite来受益。
|
今天的软件开发团队面临着巨大的挑战:一方面Internet驱动下的市场要求以空前的速度来开发高质量的软件应用;另一方面,软件应用需求随着开发环境和结构的日趋复杂而变得更加复杂;加上分布式开发、高性能要求、多平台、更短和连续的发布周期--这些及其他一些因素加重了软件开发一直承受的压力,实际上现在许多软件开发团队经常在能否成功开发一个新型应用上"赌博"。
由于软件开发不同于传统意义的工程技术(如建筑、机械等),市场变化以及技术上的高速更新都注定了软件变更是非常频繁并且是不可避免的,可以说变更是软件开发的基石。一方面在软件开发环境下的内部活动以新特性、新功能增强以及缺陷修复等方式不停地制造着变更;另一方面外部因素--例如新操作环境,新工具的集成,工程技术和市场条件的改善等以另一种力量驱动着变更。
既然变更是不可避免的,那么如何管理、追踪和控制变更就显得尤为重要。尽管有多种方式可以帮助开发团队提高变更处理能力,但其中最重要的一点是整个团队的协作性,这是因为以一种可重复和可预测的方式进行高质量软件的开发需要一组开发人员相互协作。随着系统变得越来越大和越来越复杂,尽管个人生产率依然十分重要,但是决定项目成败更多的是作为一个整体的开发团队的生产率。
而软件开发团队的生产率很大程度上是由其相互协作和组织活动的能力决定的,并且开发团队的成功同其如何高效地响应不断变化的环境因素紧密相连。
对在竞争激烈的市场下想占有一席之地的开发团队而言拒绝变更无疑是行不通的,只有积极面对变更,采取有效的工具、方法和流程有机地管理、追踪和控制变更才是保证开发团队成功的关键。另外,由于各种因素的变更,原来采用的工具、方法和流程也会随着组织的成长和不停变化的需求而逐步演化,因此对软件开发团队来说另一个关键的成功因素是其扩展能力。
|
随着开发团队的成长、产品发布周期的加速以及对软件资产(包括代码、文档等)控制的加强,对基于第三代配置管理工具和过程的需要变得越来越大。Rational软件的统一变更管理(UCM)通过Rational ClearCase,Rational ClearQuest以及Rational Suite所提供的开发平台实现了贯穿整个软件开发周期的配置管理过程,即基于活动对软件构件和项目进行变更管理。
随着软件系统和开发团队在规模和复杂性上的不断增长,对开发团队来说如何围绕周期性的版本发布来合理地组织开发活动以及高效地管理用于实现这些活动的工件变得日益重要。活动(activity)可以是在现有产品中修复一个缺陷或者新加一个增强功能。工件(artifact)可以是在开发生命周期中涉及的任何东西,例如需求文档,源代码,设计模型或者测试脚本等。实际上软件开发过程就是软件开发团队执行活动并生产工件(图1)。UCM集成了由Rational ClearQuest提供的变更请求活动管理和Rational ClearCase提供的工件管理功能。
活动管理
UCM中的活动管理是由Rational ClearQuest提供的,Rational ClearQuest是一个高度灵活和可扩展的缺陷及变更跟踪系统,它可以捕获和跟踪所有类型的变更请求(例如产品缺陷、增强请求、文档变动等)。在UCM中这些变更均以活动出现。
Rational ClearQuest为活动的跟踪和管理提供了可定制的工作流,这使得开发团队可以更容易地:
根据开发团队或开发过程需求可以灵活地调整ClearQuest工作流引擎:如果开发团队需要快速部署,那么也可以不进行定制,直接使用ClearQuest预定义的变更过程、表单和相关规则(图2);当开发团队需要在预定义的过程上进行定制时,可以使用ClearQuest对他们的变更过程的各个方面--包括缺陷和变更请求的状态转移生命周期,数据库字段,用户界面(表单)布局,报告,图表和查询等进行定制。
贯穿整个开发过程用于管理和跟踪缺陷和其他变更的一个高效工作流对于满足当今高质量标准及紧迫的产品工期的需要是非常重要的。UCM提升了这些变更的抽象层次以便可以从活动的角度来观察变更,然后Rational ClearQuest工作流引擎将活动同相关的开发工件连接在一起。
工件管理
Rational ClearCase提供了一个软件工件管理(SAM)框架,开发团队可以使用这一框架来管理贯穿项目生命周期的所有工件。UCM将Rational ClearCase基础框架同Rational ClearQuest中的活动管理结合在一起,从而提供了对工件和活动的集成管理。Rational ClearCase提供了:
另外,Rational ClearCase提供了灵活的SCM的基础框架,通过使用灵活的元数据,如标签、分支、属性、触发器(trigger)和超级链接(hyperlinks)等,开发团队可以定制他们自己的SCM过程。
由此可见,不同开发团队和项目可以通过Rational ClearCase使用不同的策略,开发团队可以从这种灵活性中受益。而UCM是基于一个经过验证的、成功的开发过程,因此UCM为希望快速启动高效SCM的开发团队也可以直接使用这一过程来自动实现项目策略。UCM具体在以下六个方面提供了开发过程。