变更管理 变更管理工具的选择

laofo · 2009年07月31日 · 0 次阅读

变更的作用: 变更 (CR,Change request) 管理是项目管理中的最重要过程之一。 一个项目,从开始就处于不停的变化中。用户需求变了需要调整计划或者设计;测试发现了问题需要对错误代码进行变更;甚至人员流失了,也需要项目进行一定的调整以适应这种情况。Bug 管理,需求管理,风险控制等本质上都是项目变更的一种。它们都是为了保证项目在变化过程中始终处于可控状态,并随时可跟踪回溯到某个历史状态。 孤立的看单个变更(CR)的生命周期,那么它是比较简单的,大致就是提出-审核-修改这么一个过程。但变更管理并不是单纯的一个数据库记录,做个备忘而已。在这么一个简单的流程中,变更管理要能体现出它的两个重要用途,一个是控制变更,保证项目可控;一个是变更度量分析,帮助组织提供自己的开发能力。 为了保证项目可控,项目管理者要充分了解变更的信息,衡量变更实施对项目的冲击,才能决定是否要修改。比如问题是否严重必须马上得到修改,问题的修改是否很复杂,是否会牵扯到很多方面。这些信息,大致可以归为俩类,一类是变更的自身信息,比如复现步骤等;一类是关联信息,比如某个功能变更实施后,对项目其它模块的影响分析,这类信息通常不可能由变更提出人来提供,而需要变更审核者结合多方面信息进行分析。 实施变更管理的一个更重要且更有意义的作用就是对变更进行度量分析。 在项目进行过程中,对变更进行分析,可以很好的了解项目当前质量状态(如果你承认统计学有它的科学性,那么你就会承认,项目各阶段的合理变更发展情况是有确定的分布形态的);定时进行项目复盘,分析组织中变更的产生原因和解决方法,及时了解组织中常见错误并有针对性的改正,才能促使组织的开发能力不断得到提高。在 CMM 五级中,缺陷预防就是一个最重要的过程域,而要进行预防缺陷,离不开对历史项目的变更分析。如何分析变更数据是一个比较大的课题,它甚至和项目特点相关。我将在以后的文章中继续探讨这个问题。

变更的流程: 我们看下变更生命周期中的几个主要过程和这些过程的要求 提出:记录变更的详细信息,相当于一个备忘。需要记录的信息可能根据不同组织和不同项目的规定而不同。要点在于变更提出者能简明扼要的记录下有价值的信息,比如缺陷发生时的环境,要变更的功能……。 变更管理工具不仅要能方便的记录信息,而且要给记录者一些记录的提示信息,帮助记录者准确的记录变更。 审核:审核者首先要确认变更意义,确认是否要修改;其次审核者要确认变更可能产生的影响,根据影响分析决定是否要修改下变更的内容以及对项目其它方面做同步改变;最后就是指派项目成员实施该变更。 在这里,关键是审核者要能对变更的相关影响有清楚的认识,这认识并不是说如何修改变更,而是如果修改了该变更,有可能带来什么影响,是否值得修改。很显然,这些信息不是变更提出者在记录时会给出的,而应该是审核者自己辅助其它系统或者工具进行判断。 实施修改:根据变更要求进行修改。 首先要保证修改实施是完全而彻底的,比如提了一个需求变更,不能只改了需求文档而不改代码或者用户文档。在组织分工情况下,如何协调多个小组的同步变更保证工作产品一致性正成为一个很严峻的问题。 实现变更的一个初始目的就是为了项目的跟踪回溯,那么,针对变更而做的修改也应该被记录下来并被和变更关联起来,实现 why<->what 的双向跟踪。 确认:确认验证变更确实得到了确实实施(或者拒绝变更的理由是合理的)。 查询和度量分析: 项目管理者需要了解项目中各个变更的当前状态,根据变更状态做出各种管理决定;度量分析变更数据,了解项目质量状况;定期进行复盘,寻找变更根源,进行有针对性,甚至是制度化的改进。 这儿的关键是要确定要分析哪些数据,如何分析。

对变更管理工具的要求: 通过对变更流程的观察,为了实现变更的目的,我们认为一个良好的变更管理工具至少应该具备如下技术特征。 1.对变更管理工具的最基本要求是一个信息记录功能,起到备忘以及交流的功能。 2.考虑到度量的复杂性,尤其是要适应不同项目特征、度量目的和度量统计理论,那么工具需要提供一个灵活,且方便使用的的查询统计机制,方便针对各种度量数据进行报表定制。 3.变更管理是项目管理中的一个重要过程,但也只是一个过程。一个良好运作的项目,并不只有变更管理。那么变更管理系统应该要能和其它过程管理部分相配合,实现整个项目的有机管理和系统使用,而不至于造成信息孤岛。

几种变更管理工具介绍: 现在能见的变更管理工具有无数,我们重点查看其中几个主要的:ClearQuest,DSTP,Mantis,Bugfree ClearQuest; CQ 是变更管理工具的一个标竿,没有人怀疑过 CQ 的功能。 CQ 提供了强大的定制功能,一个 CQ,就是一个开发平台。 强大的查询和报表定制功能,为变更度量分析提供。 和 ClearCase 无缝集成,实现了变更的完全跟踪。 除了支持 WEB 访问,还提供桌面客户端。 CQ 的缺点除了昂贵的收费,还有一个秉承 IBM 广为人诟病的毛病,庞大且使用维护困难! 网址:http://www.ibm.com

DSTP: DSTP 是一个集成的项目协作平台,其中变更管理功能有如下优点: 1. 可自定义变更属性内容,通过变更属性不同,来统一管理多种变更,如 Bug 管理,需求变更,风险管理等。 2. 就像 CQ 和 CC 的集成一样,DSTP 和 SVN 紧密集成。用户在 SVN 上提交修改时,自动关联 DSTP 中的变更 (任务) 做为修改说明。查看变更时,能直接查看该变更关联修改了哪些文件,以及修改内容! 3. 提供了完善的变更同步功能,提出了系统变更踪阶段概念,使得所有工作产品的一致性得到流程保障!所谓的系统变更跟踪是指这么一个情况:当用户提出一个需求变更后,系统工程师修改完需求文档后,该变更并没真正结束。系统自动转入到变更跟踪阶段,只有和该需求有关联的代码,用户文档等都被修改完成后,该变更才会结束跟踪阶段,走入确认关闭阶段。 4. 和 DSTP 的工作产品管理配合:为变更影响分析提供有力支持;变更和需求,测试计划等直接关联,方便多向跟踪追溯。 5. 和任务,邮件配合:保证变更在流程上得到及时通知和处理。 6. 流程过程的权限控制强;同项目的变更对项目成员都是公开的。 7. 强大的查询和分析功能。能自由组合任意条件进行查询;查询支持格式信息,如 today+5,% 提交人% = %修改人%;可以以图形化方式为用户展示数据,趋势图,统计图,对比图,供用户从多方面进行分析研究。从而及时发现问题并采取进行项目计划调整等应对措施。 DSTP 的授权方式比较独特,并不单纯以商业或非商业来区分,而是考虑了支付能力。它对个人,非赢利组织和小型商业机构是免费的,对一定规模的商业组织则进行适当收费,营造共赢的生态。 不足之处,DSTP 刚发展起来,各方面资料还不足;页面不是特别美观,但操作性还不错。 网址:http://www.we-done.com

Mantis: Mantis 是开源世界里最有名的变更管理工具。 Mantis 能和 SVN 集成,但 SVN 提交时的关联操作,不如 CQ、DSTP 和版本管理工具的集成那样方便。 可以定制报表输出。 缺陷关联功能,除了重复缺陷,每个缺陷都可以链接到其它缺陷。 不足之处,Mantis 是一个单纯的变更管理工具,它和其它过程管理工具的结合比较麻烦;很多定制并不方便,甚至经常需要自己改代码。 Mantis 是免费的。 网址:http://www.mantis.org

Bugfree: Bugfree 最近在国内宣传很多。但坦率的说,Bugfree 还只是一个简单的数据库记录。如果要当作一个变更管理工具来看,它远远还没法达到它自己所宣传的目标 “取代 Bugzilla 和 Mantis”。 Bugfree 一个优点就是界面看起来不错。 Bugfree 是免费的。 网址:http://www.bugfree.org.cn

转载自:http://hi.baidu.com/wyyhzc/blog/item/ea26b43dee066b05bba167a5.html

刚 baidu 了一下 emForge,不知道用起来怎么样啊?和 SVN 集成的紧密不?

EmForge 是一个基于 J2EE 用于管理软件开发过程的综合解决方案。它提供基于 wiki 的文档管理,基于工作流的任务管理和基于 subversion 的版本控制管理。EmForge 易于与其它系统和技术相集成。它能够让管理员和管理者针对不同项目灵活创建各种不同的流程。

对的. 与 SVN 的集成还是比较好做的. 用起来嘛还是可以的, 本人感觉比现在的 Mantis 和 Bugzilla 要好用. 关键是这个东东目前还处于开发不太成熟阶段, 文档比较少. 相关资料也很难找到.

需要 登录 后方可回复。