完整的变更请求管理解决方案

发表于:2009-09-23来源:作者:点击数: 标签:管理请求方案
变更伴随着软件 开发 的各个阶段。软件开发过程中的变更可以从两个侧面来描述,一个是对软件开发过程之中工件(如:需求设计文档、设计模型、代码及 测试 脚本等)的变更;另一方面是驱动工件变更的理由(如: 缺陷 修正、新功能添加等等)。这种驱动软件工件
变更伴随着软件开发的各个阶段。软件开发过程中的变更可以从两个侧面来描述,一个是对软件开发过程之中工件(如:需求设计文档、设计模型、代码及测试脚本等)的变更;另一方面是驱动工件变更的理由(如:缺陷修正、新功能添加等等)。这种驱动软件工件变更的理由就是变更请求。

变更请求管理(CRM)的必要性


    伴随着现代化社会的高速发展,对软件开发的要求也越来越高,变更量之多、变更频率之快,使开发人员必须在相当的压力之下,迅速解决问题。另一方面,随着开发规模的不断扩大,加入开发的人数也在不断增加,处理错误的成本也相应成指数级增加。在这种状况下,是否能高效地跟踪并合理地管理变更请求对软件开发的成功与否,就起到了举足轻重的作用。所以,为了保证整个项目开发的成功,在项目管理方面必须克服如下挑战:


难以有效地管理和追踪变更请求


    变更请求是指在软件开发生命周期内产生的所有需要改动项目相关内容的请求,如:缺陷、功能增
强、需求变更等。它是推动项目向前发展的源动力,同时也是项目重要的过程资产。所以,能否有效
地管理和追踪变更请求成为项目成功的关键要素之一。正是因为如此,目前有很多研发企业都已建立
了自己的变更管理流程,但多数企业都是以书面变更单的形式来记录和管理变更请求,但此种方式很
难对变更请求的发展状态进行追踪,导致变更管理流程难以贯彻实施,同时也很难对变更请求进行统
计分析。


缺少必要的团队沟通导致工作效率降低


    目前大多数项目的研发人员都在几十人甚至上百人,在如此大规模的项目中沟通成了一个至关重要的
问题。例如某个开发人员对自己模块的接口进行改动后没有及时通知相关的开发人员,导致集成困
难。又如某个核心模块的缺陷被修改后没有通知整个团队,导致开发团队多次修改同一个缺陷。诸如
此类的沟通问题如果不能很好的解决将会导致团队效率的降低。


难以及时准确地了解项目状态和发展趋势


    在软件开发生命周期中变更请求可以被视为项目的活动或任务,所以变更请求的信息和统计数据可以
直接反映项目的状态和发展趋势,但由于我们多以书面变更单的形式来记录和管理变更请求,导致难
以查询变更请求的状态或对现有变更请求进行统计分析,所以,项目经理通常是通过会议、电话或邮
件的方式去了解项目状态,但这种方式不但耗时且很难及时准确地了解项目状态和发展趋势,致使项
目经理对项目做出错误的判断或决策。


难以进行量化的项目管理


    变更请求是项目管理的重要数据之一,通过对这些数据的统计分析可以进行量化的项目管理。例如我
们可以统计项目组每个成员的任务分配情况;统计目前还有多少未被响应的变更请求;统计缺陷的平
均修复时间;统计在一段时间范围内变更请求数量的变化等等!以上这些统计数据都是项目经理迫切需要的,但如果在项目规模较大的情况下,仅以手工的方式对变更单进行管理,根本无法对其进行统
计分析。


难以将项目活动与配置管理对象的变更相关联


    项目活动的主要来源是变更请求,项目活动的最终结果是配置管理对象的变更(即文档或代码的修
改)。通过传统的项目管理方式很难将项目活动与配置管理对象的变更相关联。从而使得开发人员不
清楚自己对代码所作的修改是和那些任务相关,导致在集成时代码提交错误;同样集成人员和项目经
理很难确定某一个特定的变更请求到底和那些代码的修改相关,导致集成过程出现的问题难以定位,
以上这些问题都会直接导致集成时间的拖延。


    由此可见,如果没有变更管理,重要的变更就会被遗漏,项目的监视、检查能力就会丧失,项目管理人员及开发人员不能掌握工作重点及轻重缓急,测试及文档的编写均不能反映项目开发的实际状况。直接后果表现为:由于交货期推迟而造成的开发成本增加、生产率低下、产品质量低下。


    变更请求管理是软件开发的成本降低的最大因素之一。再优秀的软件开发团队也不能保证从一开始就
100%地正确开发。在开发系统生命周期中,变更是永远不可避免的。部署高效的CRM 系统,通过对项目开发整个生命周期中的变更请求进行管理及各种数据查询,可以使问题的解决时间大幅度降低,从而有效地降低开发成本。

原文转自:http://www.ltesting.net