变更是指在项目的实施过程中,由于项目环境或者其他各种原因对项目的部分或者项目的全部功能、性能、体系结构、技术、指标、集成方法和项目进度等方面做出改变。变更不一定是对已上线的产品再进行更改,其可以发生在需求获取之后的任意阶段,如设计、开发、测试阶段等,变更越早,损失越小,约迟约大。
一般来说,变更应该遵循如下基本流程
变更申请。应记录变更的提出人、日期、申请变更的内容等信息。
变更评估。对变更的影响范围、严重程度、经济和技术可行性进行系统分析。
变更决策。有变更控制委员会决定是否实施。
变更实施。有管理者指定的工作人员在受控状态下实施变更。
变更验证。有配置管理人员或受到变更影响的人对变更进行评价,确定是否符合预期要求。
沟通存档。将变更后的内容通知可能会受到影响的人员,并将变更记录汇总归档。如提出的变更在决策时被否决,其初始记录也应予以保存。
关注的问题(来自百度经验--软件项目的需求变更管理)
有必要强调的是,在项目实施过程中,变更处理越早,难度越小,损失越小变更处理越迟,难度越大,损失也越大。而且,任何变更都必须经过项目建设全部相关方(建设单位、承建单位和监理单位)多方确认后才能计划实施,严禁任何一方擅自变更。对项目变更的范围要有明确的界定,而且项目建设全部相关方对变更范围的理解上都没有任何异议。
最后,变更对项目质量、成本、进度都会产生影响,需要对变更过程加强监控,实施变更风险管理,不能因为变更而引发新的风险。项目管理人员在做出变更决策时,应及时将变更信息、变更计划方案公布于众,这样才能及时调整项目团队的工作,朝着新的方向努力。
需求变更的控制关键在于建立建立相应的控制组织、变更控制和跟踪系统以及规范变更流程,主要有:1、建立组织。项目启动时,需要尽可能的与客户沟通,建立正式的对变更进行控制的组织,成员包括双方高层(挂名)、甲乙双方的项目负责人、相关的需求负责人等。如果客户认为无需单独设置这样的正式组织,也会要求客户指定项目的负责人,每个相关的业务科室指定一名需求负责人,这样做的目的是如出现变更可以很快的临时组建一个对变更负责的组织,并且可以找到相应的负责人;
2、建立变更控制和跟踪系统。建立该系统的目的是统一管理需求变更和跟踪变更的状态,便于项目组测试人员、开发人员、系统分析员以及PM相互之间的沟通和交流;经比较和选型,可以选用了JIRA作为变更控制和跟踪系统;
3、规范流程。甲乙双方的项目组成立后,根据角色定义,确定变更流程。
1)变更申请。系统界面如按钮的位置、字段的位置的细微调整,不涉及到业务规则,对基线基本没有影响的变更,由测试人员直接在变更控制系统中提出;其他如 *** 作风格的较大变化、业务规则的变化等,均要求客户提出电子和书面的需求变更单;
2)变更评估。由项目组组织人员对变更进行变更的合理性分析,变更替换方案分析,工作量的估算以及涉及什么模块、影响什么模块等影响分析;
3)变更决策。根据上节确定的沟通策略,与客户沟通交流,确定变更的处理方式;
4)变更实施。由测试人员在变更控制系统中填写变更信息(状态:待处理),由系统分析员填写处理方法和影响分析后交由开发人员实施(状态:处理中);
5)变更验证。测试人员根据变更控制系统的变更状态反馈(状态:已解决),待相应的版本发布后,对变更进行验证测试,这时候特别要注意的是记录该变更的修改是否引起了该模块或其他模块产生缺陷。通常,测试人员根据系统分析员在变更控制系统中标注的影响模块,逐一进行回归测试,以确保不影响原有模块的前提下变更已正确实施;内部测试完毕后,如系统已上线,则由客户相关负责人在模拟生产环境中进行验收测试;
6)沟通归档。变更验证后,测试人员关闭变更(状态:已关闭),项目经理告知客户已测试完毕,沟通发布时间并说明那些模块可能有影响以及发现问题的反馈途径和方式。
通过以上几种手段,如执行实施到位,基本可以有效的把变更置于控制之下。
最后,值得一提的是,变更实施或者系统缺陷修复涉及到多方面的人员,可能牵涉软件系统中的多个模块,处理和验证的流程复杂,沟通等管理成本高昂,如果变更和质量控制不好,会直接影响项目的进度和成本。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)