统一变更管理(UCM)是IBM
Rational提出的用于管理软件开发过程(包括从需求到版本发布)中所有变更的“最佳实践”流程。通过集成ClearCase和ClearQuest,UCM实现了一个可以立即用于软件开发项目的一致并基于活动的变更管理流程。
UCM通过抽象层次的提升简化了软件开发,从而使得软件开发团队从更高的层次根据活动(activity)来管理变更。通过UCM,一个开发活动可以自动地同其变更集(封装了所有用于实现该活动的项目工件)相关联,这样避免了管理人员手动跟踪所有文件变更。
对比原来的方式(CVS/SVN+TestTrackPro),现在采用的UCM方式(ClearCase+ClearQuest),不仅解决了原有方式中记录和追踪需求、产品、文档、流程的变更过程困难,工作量大,以及无法追踪内部人员在项目任一阶段的信息的问题外,还可以获得如下好处:
在产品安装包安装后,已经有开箱即用的UCM工作流程。该预定义的UCM工作流程,符合日常配置管理活动需要。项目组可以直接使用该流程,快速提升开发团队的软件配置管理水平,减少实施成本。
某银行ATM跨平台项目作为ClearCase试用的第一个项目,完全采用Rational产品包自带的流程,作为第一个实施项目,从环境搭建、项目培训与指导到投入使用,仅投入了ClearCase管理员一个人日的工作量。
某过车数据抽取系统和某ATM业务监控系统作为ClearCase试点项目,同时也是CMMI4正式评估项目之一,其配置管理工作得到CMMI4主任评估师Paul
Iredale的高度认可,整个配置管理功能组的访谈工作在很短的时间内结束。这也间接说明,IBM提供的统一变更管理解决方案是业界配置管理工作的最佳实践。
在ClearQuest上可以开发各种记录类型的跟踪流程,如工作任务、需求变更、缺陷、项目管理问题、测试管理等。通过ClearQuest自动对各种记录类型数据分析得到的报表,项目管理人员可以实时掌握项目的最新动态,合理分配资源和调度开发活动。在TestTrackPro中,所有的记录都是以一种记录类型体现,项目管理人员很难快速、实时的掌握项目最新动态。
目前我们已经完成缺陷、工作任务流程的发布,需求变更以及测试管理流程很快也能开发完成供大家使用。
通过将许多耗时较多的任务自动化处理,UCM使得开发人员更多地将注意力集中在更高层次的开发活动上。在UCM中,每个开发人员可以快速准确的访问正确工件的正确版本,他们只需要关注个人工作空间。
目前我们项目一般分三个流:开发流、测试流和集成流。所有项目成员都在开发流上工作。当需要从私有工作区交付自己的工作成果到测试流或将已测试通过的成果交付到公共集成区,只需要通过交付(Deliver)操作实现,ClearCase会自动将提交的版本与公共集成区的版本进行合并。而在CVS或SVN中,开发人员无法通过一个简单的操作就能将个人工作空间中的修改由编辑区提交到基线区或测试区。
UCM将开发活动嵌入到各个基线中,这样测试人员确切地知道他们将测试什么,而开发人员则确切地知道其他开发人员做了什么。在CVS/SVN中,基线只是一个标识,并没有关联TestTrackPro中的缺陷活动。
在使用CVS/SVN+TestTrackPro时,大部分项目的变更都是使用手工方式进行管理,我们记录和追踪需求、产品、文档、流程的变更过程工作量大,造成的直接后果是难以控制项目和软件的发布。UCM通过ClearCase和ClearQuest实现了贯穿整个软件开发周期的配置管理过程,即基于活动对软件组件和项目进行变更管理。通过ClearQuest的工作流引擎,将活动同相关的开发工件连接在一起。
在下图中,我们可以看到该活动包括的变更集。在CCRC或ClearQuest界面中均可以查看到活动的变更集。
对于拥有相同功能的不同项目,如ATM软件中的ATMC,intelliFlow工作流引擎等,可以在项目中通过引用这部分公共组件来共享这部分的代码。对于这部分公共组件的修改,则由其开发团队完成。如果公共组件进行升级,其他项目只需在本地项目进行变基操作就可以获取到公共组件的最新版本。通过UCM中的组件管理,简化了多项目开发管理,增大了代码重用,降低项目成本,有利于企业软件资产库的建立。
目前,自助设备跨平台系统作为一个产品,已经在厦门兴业银行跨平台项目中引用。以后当需要开发其他地区的跨平台项目时,则可以引用该产品组件即可。
在ClearQuest7.0中,已经内嵌了Test Manager。通过使用ClearQuest,我们可以将测试计划、测试用例设计、测试执行以及测试分析整个测试过程在ClearQuest中实现。
结合ClearCase MultiSite和ClearQuest MultiSite,系统实现异地的配置库与厦门配置库的同步。它支持不同地域的项目组采用同一UCM流程进行开发。各个地域的团队分别在各自的配置库环境中进行工作,系统会定时自动的将各个地域的配置库进行双向同步,保证项目所有的配置库副本及ClearQuest数据库副本均保留当前项目最新的成果。
IBM统一变更管理流程
统一配置管理系统的管理流程包括ClearCase配置管理流程和ClearQuest变更管理流程两部分。整个变更管理流程图如下图所示:
IBM统一变更管理流程实例
下面,我们使用一个MultiSite项目在实际工作中的使用方式,来说明IBM统一变更管理解决方案的工作方式。
假设,该MultiSite项目的开发团队在上海,测试团队在厦门。
测试人员对厦门测试环境中对该项目的某个版本进行测试,并提交了多个缺陷。系统在指定的时间自动双向同步厦门和上海的ClearQuest数据库和ClearCase的VOB库。
当CQ数据库同步后,系统自动发送邮件给上海该项目的缺陷分配人,缺陷分配人收到邮件通知后,登录CQ并对待分配缺陷进行分配。当缺陷分配完后,缺陷对应的责任人会收到缺陷处理的邮件通知。
开发人员在收到邮件通知后,运行CCRC,在项目视图的“我的活动”界面中,可以看到所有分配给他的活动,包括缺陷、任务等。此时,开发人员可以在CCRC中对该缺陷执行“处理活动”操作,然后他就可以在CCRC中进行文件的检出、编辑和检入操作。在执行了“处理活动”操作后,开发人员在CCRC中所做的所有操作都将关联到这个缺陷。当开发人员处理完分配给他的缺陷后,在CQ中执行Resolve操作,并填写解决方案及所花的工时后,缺陷自动变成Resolved状态,等待测试人员验证。
当执行同步的时间到达后,系统自动将CQ数据库以及CC的VOB库进行双向同步。在同步完成后,测试人员会收到验证缺陷的邮件通知。
当软件到了提交测试的时间,在上海的项目成员或配置管理员将项目源码从开发流交付(Deliver)到测试流。当VOB库同步后,在厦门的测试人员更新上海测试流的资源,并在测试环境更新程序后,测试人员对开发人员已经处理好的缺陷进行验证。如果验证通过,则将缺陷关闭;否则,则将缺陷打开。待数据库同步后,在上海开发人员的CCRC中,就可以看到这条被驳回的缺陷。
如果该版本的程序验证通过,在上海的项目成员或配置管理员会在测试流发起一个将程序交付(Deliver)到集成流的请求。由Master
Site(即厦门)管理员进行审核,如果审核通过则完成交付(Deliver)请求的操作,并在集成流上打一条基线,这条基线标识的版本即测试通过的版本。
上面就是一个MultiSite项目的日常操作。对于普通项目成员,只需要在CCRC进行处理活动、检出文件、检入文件操作,在CQ上执行Resolve操作即可。至于MultiSite的双向同步,则由系统在后台自动运行的。MultiSite对于普通项目成员来说是透明的,它不会额外增加项目成员的工作量。
|