论文部分内容阅读
在软件项目的需求变更管理方面,国外已经有大量的研究,但是目前的变更管理工具都存在工具模式与实际项目开发流程脱节,变更环节定义不精确,变更风险难以控制,变更预计困难和应用比较复杂的普遍问题。而且这些工具都主要侧重配置管理,对具体的变更请求与处理流程没有精确细致的管理方法,更加没有把变更管理放到从软件过程和项目管理的整体角度来综合处理的高度。变更流程管理模型(CPMM)是以Rational的统一变更管理(UCM)和全面流程管理模型(TPMM)等为基础,在内容和范围上丰富、扩充了以往的软件需求变更管理方法,着重强调了对整个开发流程的各个环节的全面控制,如变更预估、变更请求、变更控制和处理、变更文档管理、变更评估等等。它是一个综合性的软件开发变更流程管理方法,在变更预估、申请、审批、软件过程和结果评估等方面为软件项目小组提供了一整套的方法界定和支持。
按照UCM的方法,我们也将CPMM的组成部分抽象为不同的工作流,其中最重要的工作流程包括:
1、变更预估流程 (Change Forecast Process,CFP);
2、变更请求与处理流程 (Change Apply and Manage Process,CAMP);
3、变更评估流程(Change Evaluation Process,CEP)。
CFP在软件工程项目的初期对工程中可能产生的变更进行预估。这是在软件工程项目中经常被忽略的流程。通过这个流程,可以在软件的时间和经费预算中提前考虑变更所带来的影响,同时在软件项目的设计和规划中预留接纳变更的空间。保证在产生变更的情况下软件工程项目仍然能有序地进行和正常地完成。
变更预估是软件工程中比较难以把握的方面,目前的预估都是依靠个人经验的主观判断。这样的预估存在准确性低和不能量化的缺点,这对软件工程本身并不能提供有用的帮助。CPMM中的CFP流程对软件工程中的变更评估采用定量的计算方式。在进行项目的需求分析时,通过对影响项目变更的因素,如评估项目的创新程度 T(1)、客户对项目的把握程度 T(2)、我方对项目的把握程度 T(3)和需求调研的详细程度 T(4)等方面的数值,计算出软件项目的各个过程中可能发生的变更概率。由此对软件工程项目的预算、项目规划提供有力支持。
软件工程步骤i可能产生的变更概率如下面“变更预估公式”所示:
其中:V (i)为软件项目过程i完成时可能发生的变更概率。
C (ij)为各项因素对变更比率产生影响的系数,这个系数需要根据不同的开发小组情况和项目类型有所不同。系数的产生和修改则需要根据变更评估流程产生和修改。
D (i)为修正因子。
CAMP是在项目中接纳变更的处理流程,包括变更的提交、审批、实施及完成。CAMP主要强调通过规范的方式接纳变更,并且通过各种有效的手段严格控制变更被引入的方式和时间,确保系统开发的有序进行。CAMP主要通过图1所示的流程处理变更:
CEP是对变更进行统一综合评估的流程。按照CPMM的定义,当项目开发的变更积累到一定程度,一般是在开发生命周期的里程碑或整个开发完成阶段,应该进行针对所有变更的变更评估工作。通过CEP流程,在项目进行中可以提高对项目的整体认识程度。更为重要的是通过CEP流程,可以校正CFP中“变更预估公式”的参数和完善CAMP中的处理流程。在实际评估过程中,CPMM推荐的变更评估问卷如表1:
CPMM强调的是过程而非方法,它没有与其他的变更管理工具和方法那样只针对变更环节处理变更。CPMM从需求变更的源头、变更发生后的流程处理上强调对流程的全面控制和改进,进一步把变更管理的内涵扩展到了整个软件过程和项目管理中。
按照UCM的方法,我们也将CPMM的组成部分抽象为不同的工作流,其中最重要的工作流程包括:
1、变更预估流程 (Change Forecast Process,CFP);
2、变更请求与处理流程 (Change Apply and Manage Process,CAMP);
3、变更评估流程(Change Evaluation Process,CEP)。
CFP在软件工程项目的初期对工程中可能产生的变更进行预估。这是在软件工程项目中经常被忽略的流程。通过这个流程,可以在软件的时间和经费预算中提前考虑变更所带来的影响,同时在软件项目的设计和规划中预留接纳变更的空间。保证在产生变更的情况下软件工程项目仍然能有序地进行和正常地完成。
变更预估是软件工程中比较难以把握的方面,目前的预估都是依靠个人经验的主观判断。这样的预估存在准确性低和不能量化的缺点,这对软件工程本身并不能提供有用的帮助。CPMM中的CFP流程对软件工程中的变更评估采用定量的计算方式。在进行项目的需求分析时,通过对影响项目变更的因素,如评估项目的创新程度 T(1)、客户对项目的把握程度 T(2)、我方对项目的把握程度 T(3)和需求调研的详细程度 T(4)等方面的数值,计算出软件项目的各个过程中可能发生的变更概率。由此对软件工程项目的预算、项目规划提供有力支持。
软件工程步骤i可能产生的变更概率如下面“变更预估公式”所示:
其中:V (i)为软件项目过程i完成时可能发生的变更概率。
C (ij)为各项因素对变更比率产生影响的系数,这个系数需要根据不同的开发小组情况和项目类型有所不同。系数的产生和修改则需要根据变更评估流程产生和修改。
D (i)为修正因子。
CAMP是在项目中接纳变更的处理流程,包括变更的提交、审批、实施及完成。CAMP主要强调通过规范的方式接纳变更,并且通过各种有效的手段严格控制变更被引入的方式和时间,确保系统开发的有序进行。CAMP主要通过图1所示的流程处理变更:
CEP是对变更进行统一综合评估的流程。按照CPMM的定义,当项目开发的变更积累到一定程度,一般是在开发生命周期的里程碑或整个开发完成阶段,应该进行针对所有变更的变更评估工作。通过CEP流程,在项目进行中可以提高对项目的整体认识程度。更为重要的是通过CEP流程,可以校正CFP中“变更预估公式”的参数和完善CAMP中的处理流程。在实际评估过程中,CPMM推荐的变更评估问卷如表1:
CPMM强调的是过程而非方法,它没有与其他的变更管理工具和方法那样只针对变更环节处理变更。CPMM从需求变更的源头、变更发生后的流程处理上强调对流程的全面控制和改进,进一步把变更管理的内涵扩展到了整个软件过程和项目管理中。