四、需求变更的控制

  需求变更的控制关键在于建立建立相应的控制组织、变更控制和跟踪系统以及规范变更流程,主要有:

  1、建立组织。项目启动时,我们会尽可能的与客户沟通,建立正式的对变更进行控制的组织,成员包括双方高层(挂名)、甲乙双方的项目负责人、相关的需求负责人等。如果客户认为无需单独设置这样的正式组织,我们也会要求客户指定项目的负责人,每个相关的业务科室指定一名需求负责人,这样做的目的是如出现变更可以很快的临时组建一个对变更负责的组织,并且可以找到相应的负责人;

  2、建立变更控制和跟踪系统。建立该系统的目的是统一管理需求变更和跟踪变更的状态,便于项目组测试人员、开发人员、系统分析员以及PM相互之间的沟通和交流;经比较和选型,我们选用了JIRA作为变更控制和跟踪系统;

  3、规范流程。甲乙双方的项目组成立后,根据角色定义,确定变更流程。

  1)变更申请。系统界面如按钮的位置、字段的位置的细微调整,不涉及到业务规则,对基线基本没有影响的变更,由测试人员直接在变更控制系统中提出;其他如操作风格的较大变化、业务规则的变化等,均要求客户提出电子和书面的需求变更单;

  2)变更评估。由项目组组织人员对变更进行变更的合理性分析,变更替换方案分析,工作量的估算以及涉及什么模块、影响什么模块等影响分析;

  3)变更决策。根据上节确定的沟通策略,与客户沟通交流,确定变更的处理方式;

  4)变更实施。由测试人员在变更控制系统中填写变更信息(状态:待处理),由系统分析员填写处理方法和影响分析后交由开发人员实施(状态:处理中);

  5)变更验证。测试人员根据变更控制系统的变更状态反馈(状态:已解决),待相应的版本发布后,对变更进行验证测试,这时候特别要注意的是记录该变更的修改是否引起了该模块或其他模块产生缺陷。通常,测试人员根据系统分析员在变更控制系统中标注的影响模块,逐一进行回归测试,以确保不影响原有模块的前提下变更已正确实施;内部测试完毕后,如系统已上线,则由客户相关负责人在模拟生产环境中进行验收测试;

  6)沟通归档。变更验证后,测试人员关闭变更(状态:已关闭),项目经理告知客户已测试完毕,沟通发布时间并说明那些模块可能有影响以及发现问题的反馈途径和方式。

  通过以上几种手段,如执行实施到位,基本可以有效的把变更置于控制之下。

  后,值得一提的是,变更实施或者系统缺陷修复涉及到多方面的人员,可能牵涉软件系统中的多个模块,处理和验证的流程复杂,沟通等管理成本高昂,如果变更和质量控制不好,会直接影响项目的进度和成本。