-4-完整的变更请求管理解决方案RationalClearQuestRationalSoftwareGreaterChinaJan.,2003-1-目录目录....................................................................................11.变更请求管理(CHANGEREQUESTMANAGEMENT:CRM)........................................2变更请求................................................................................2变更请求管理(CRM)的必要性.............................................................2如何有效地组织和管理变更请求............................................................3成立变更管理委员会........................................................................................................................................3制定合理的变更流程........................................................................................................................................32.完整的变更请求管理解决方案:RATIONALCLEARQUEST....................................4概要....................................................................................4CLEARQUEST的特点.........................................................................4有效的记录、管理和追踪变更请求........................................................4促进团队的沟通和协作..................................................................4随时随地了解项目状况..................................................................4灵活、客观的项目统计指标..............................................................5系统可定制能力强......................................................................5可以有效地控制各种变更请求之间关系....................................................5通过与ClearCase的集成可以实现项目活动和配置管理对象的统一............................5-2-1.变更请求管理(ChangeRequestManagement:CRM)变更请求变更伴随着软件开发的各个阶段。软件开发过程中的变更可以从两个侧面来描述,一个是对软件开发过程之中工件(如:需求设计文档、设计模型、代码及测试脚本等)的变更;另一方面是驱动工件变更的理由(如:缺陷修正、新功能添加等等)。这种驱动软件工件变更的理由就是变更请求。变更请求管理(CRM)的必要性伴随着现代化社会的高速发展,对软件开发的要求也越来越高,变更量之多、变更频率之快,使开发人员必须在相当的压力之下,迅速解决问题。另一方面,随着开发规模的不断扩大,加入开发的人数也在不断增加,处理错误的成本也相应成指数级增加。在这种状况下,是否能高效地跟踪并合理地管理变更请求对软件开发的成功与否,就起到了举足轻重的作用。所以,为了保证整个项目开发的成功,在项目管理方面必须克服如下挑战:难以有效地管理和追踪变更请求变更请求是指在软件开发生命周期内产生的所有需要改动项目相关内容的请求,如:缺陷、功能增强、需求变更等。它是推动项目向前发展的源动力,同时也是项目重要的过程资产。所以,能否有效地管理和追踪变更请求成为项目成功的关键要素之一。正是因为如此,目前有很多研发企业都已建立了自己的变更管理流程,但多数企业都是以书面变更单的形式来记录和管理变更请求,但此种方式很难对变更请求的发展状态进行追踪,导致变更管理流程难以贯彻实施,同时也很难对变更请求进行统计分析。缺少必要的团队沟通导致工作效率降低目前大多数项目的研发人员都在几十人甚至上百人,在如此大规模的项目中沟通成了一个至关重要的问题。例如某个开发人员对自己模块的接口进行改动后没有及时通知相关的开发人员,导致集成困难。又如某个核心模块的缺陷被修改后没有通知整个团队,导致开发团队多次修改同一个缺陷。诸如此类的沟通问题如果不能很好的解决将会导致团队效率的降低。难以及时准确地了解项目状态和发展趋势在软件开发生命周期中变更请求可以被视为项目的活动或任务,所以变更请求的信息和统计数据可以直接反映项目的状态和发展趋势,但由于我们多以书面变更单的形式来记录和管理变更请求,导致难以查询变更请求的状态或对现有变更请求进行统计分析,所以,项目经理通常是通过会议、电话或邮件的方式去了解项目状态,但这种方式不但耗时且很难及时准确地了解项目状态和发展趋势,致使项目经理对项目做出错误的判断或决策。难以进行量化的项目管理变更请求是项目管理的重要数据之一,通过对这些数据的统计分析可以进行量化的项目管理。例如我们可以统计项目组每个成员的任务分配情况;统计目前还有多少未被响应的变更请求;统计缺陷的平均修复时间;统计在一段时间范围内变更请求数量的变化等等!以上这些统计数据都是项目经理迫切-3-需要的,但如果在项目规模较大的情况下,仅以手工的方式对变更单进行管理,根本无法对其进行统计分析。难以将项目活动与配置管理对象的变更相关联项目活动的主要来源是变更请求,项目活动的最终结果是配置管理对象的变更(即文档或代码的修改)。通过传统的项目管理方式很难将项目活动与配置管理对象的变更相关联。从而使得开发人员不清楚自己对代码所作的修改是和那些任务相关,导致在集成时代码提交错误;同样集成人员和项目经理很难确定某一个特定的变更请求到底和那些代码的修改相关,导致集成过程出现的问题难以定位,以上这些问题都会直接导致集成时间的拖延。由此可见,如果没有变更管理,重要的变更就会被遗漏,项目的监视、检查能力就会丧失,项目管理人员及开发人员不能掌握工作重点及轻重缓急,测试及文档的编写均不能反映项目开发的实际状况。直接后果表现为:由于交货期推迟而造成的开发成本增加、生产率低下、产品质量低下。变更请求管理是软件开发的成本降低的最大因素之一。再优秀的软件开发团队也不能保证从一开始就100%地正确开发。在开发系统生命周期中,变更是永远不可避免的。部署高效的CRM系统,通过对项目开发整个生命周期中的变更请求进行管理及各种数据查询,可以使问题的解决时间大幅度降低,从而有效地降低开发成本。如何有效地组织和管理变更请求成立变更管理委员会变更请求管理决不是向大家所想象的仅仅是单一的跟踪,变更请求管理所强调的是对开发过程中成百上千的变更请求进行慎重的信息管理,“慎重”包含的是跟踪、分析、决策的完整过程。这种“慎重”的处理过程必须由一个变更管理委员会(CCB)进行控制和管理,CCB应该由开发团队中富有分析、决策能力的角色构成,CCB的主要职责是对递交进来的所有变更请求进行审查、分析,从而决定如何处理这些变更请求。制定合理的变更流程如前所述,变更管理的关键目的是通过建立合理的变更流程,来改进产品的质量和服务。而变更管理流程执行的有效性取决于团队之间的密切配合。单一的工具并不能保证变更请求管理的成功。以下是变更请求管理流程实施的基本步骤:1.确定变更请求管理流程执行的范围:你可以从一个项目、一个部门或多个组开始实施。但在制定变更管理流程前,你必须确定好实施范围,然后制定响应的变更流程;2.制定变更管理流程模型:这是整个变更管理流程的核心部分。你必须与团队人员合作,编制、审查和修改此模型,直到团队每一个人都能认可此流程;3.决定团队各个角色在流程实施中所起的作用:通常情况下,在团队中有变更请求提交者、CCB、请求解决方案实施者、测试人员及QA等;4.确定实施计划及开始实施日程:实施过程可以分阶段完成,但要注意跟踪各个阶段完成的质量,保证变更请求相关者对各个阶段完成的认可;5.部署变更请求管理系统:在完成了上述步骤后,你已具备了实施变更请求管理的条件;-4-6.不断强化变更管理流程:变更管理流程不是一成不变,它需要团队发展的不断变化及时作相应的调整,不断地被改进和强化。开发项目有关人员都有权利提交变更请求。如开发人员在编码过程中,会觉得某部分设计不合理,提出更改设计的请求,这种请求如不得到跟踪管理,我们就不能清晰地掌握产品是否真正满足了最终用户需求。所以,完整的变更管理系统,不应该仅仅是对缺陷的管理。它应是通过对缺陷及其各种他变更的登记、保管、跟踪、解析,达到团队之间的各种变化信息的共有、安全而可靠的高质量变更信息管理系统。这种信息管理系统通过以下特征的体现,有效地组织和管理变更请求。1.应可提供具有各种重要特征的变更请求信息,且对各种变更请求在处理完毕之前的内容能及时调整、并保证各种请求的信息绝对不能丢失。2.有效地跟踪各种变更,对管理人员提出各种变更状况的查询请求,做到快而准地提供信息。3.有能力对项目整体发展状况,提供宏观及定量的分析,从而能合理分配项目开发人员的工作、合理制定项目的计划、合理管理项目各种请求实施的优先级。有效的CRM系统,应具备从简单地列出问题清单对缺陷进行跟踪,到对项目开发的各种可能的变更流程进行定义、以及各种变更请求在适当时机采用适当方法进行访问等灵活多样的选择性,以适应开发过程中的各种变化。也就是说,有效的CRM系统应具备良好的系统适应性、扩展性及灵活定制性。典型的变更管理流程-4-2.完整的变更请求管理解决方案:IBMRationalClearQuest概要IBMRationalClearQuest是强有力的且灵活性很强的CRM系统。通过对开发整个生命周期中发生的各种类型变更请求的跟踪及管理,保证各种规模的开发团队按照预定计划按期交出高质量的软件产品。IBMRationalClearQuest是一个具有定制性高、跨越多种数据空间的CRM系统。适用于在任何平台上,任何类型的项目中,捕获各种类型的变更。ClearQuest使用行业标准数据库(MicrosoftAccess、SQLAnywhere、SQLServer、DB2、Oracle),因此支持的项目可大可小;并拥有可完全定制的界面和工作流程机制,能适用于任何开发过程。此外,通过提供各种各样的流程模,对于一般的开发环境和流程,可以做到“拿来就用”或“稍做修整,即可使用”的方便而灵活的部署。ClearQuest与IBMRational的其他解决问题方案(如配置管理工具、自动测试管理工具、需求管理工具)的集成,使团队开发的各个角色在开发的各个阶段都可以随时递交变更请求,成为支持软件开发整个生命周期的变更管理的有效工具。ClearQuest的特点有效的记录、管理和追踪变更请求ClearQuest通过多种易于使用的客户端(Window