当前位置:首页 >> 正文

需求变更时,项目管理人员应该分析新需求对项目的风险

[ 日期:2019-2-21 ]

恒佳PMP培训中心

  一般来讲,需求的变更通常意味着需求的增加,需求的减少相对很少,而且处理也比较容易。当客户提出新需求的时候,项目开发人员应该分析这些新需求对项目现阶段带来的风险,得出双方实现变更需求的需要的成本,包括时间、人力、资源等等方面,再与客户商讨是否有必要进行变更和如何在最小代价下实现变更。
  当客户确实希望进行需求变更时,可以让开发人员开发一个快速原型,让用户体验一下,以确保客户确确实实的希望添加这些需求。在客户和项目开发人员共同确定了需求变更后,项目开发人员应该与客户签订一份新的合同。
  当客户提出需求变更并且签订了合同后或是开发人员根据市场和国家政策作出的需求变更得到确证后,项目开发人员应该决定何时实施这些变更。对于那些对系统影响不大和一些优先权十分高的需求变更可以立即在项目中实施,而对于那些对于整个系统现阶段的开发影响很大,而且又不是十分紧急的需求可以放在下一个版本中进行。无论是立即实施还是放在下一个版本中,都应该给新的需求一个充足的开发和测试时间,保证产品质量。 

网友观点一:

  需求变更的控制关键在于建立建立相应的控制组织、变更控制和跟踪系统以及规范变更流程,主要有:
  1、建立组织。项目启动时,需要尽可能的与客户沟通,建立正式的对变更进行控制的组织,成员包括双方高层(挂名)、甲乙双方的项目负责人、相关的需求负责人等。如果客户认为无需单独设置这样的正式组织,也会要求客户指定项目的负责人,每个相关的业务科室指定一名需求负责人,这样做的目的是如出现变更可以很快的临时组建一个对变更负责的组织,并且可以找到相应的负责人;
  2、建立变更控制和跟踪系统。建立该系统的目的是统一管理需求变更和跟踪变更的状态,便于项目组测试人员、开发人员、系统分析员以及PM相互之间的沟通和交流;经比较和选型,可以选用了JIRA作为变更控制和跟踪系统;
  3、规范流程。甲乙双方的项目组成立后,根据角色定义,确定变更流程。
  1)变更申请。系统界面如按钮的位置、字段的位置的细微调整,不涉及到业务规则,对基线基本没有影响的变更,由测试人员直接在变更控制系统中提出;其他如操作风格的较大变化、业务规则的变化等,均要求客户提出电子和书面的需求变更单;
  2)变更评估。由项目组组织人员对变更进行变更的合理性分析,变更替换方案分析,工作量的估算以及涉及什么模块、影响什么模块等影响分析;
  3)变更决策。根据上节确定的沟通策略,与客户沟通交流,确定变更的处理方式;
  4)变更实施。由测试人员在变更控制系统中填写变更信息(状态:待处理),由系统分析员填写处理方法和影响分析后交由开发人员实施(状态:处理中);
  5)变更验证。测试人员根据变更控制系统的变更状态反馈(状态:已解决),待相应的版本发布后,对变更进行验证测试,这时候特别要注意的是记录该变更的修改是否引起了该模块或其他模块产生缺陷。通常,测试人员根据系统分析员在变更控制系统中标注的影响模块,逐一进行回归测试,以确保不影响原有模块的前提下变更已正确实施;内部测试完毕后,如系统已上线,则由客户相关负责人在模拟生产环境中进行验收测试;
  6)沟通归档。变更验证后,测试人员关闭变更(状态:已关闭),项目经理告知客户已测试完毕,沟通发布时间并说明那些模块可能有影响以及发现问题的反馈途径和方式。
  通过以上几种手段,如执行实施到位,基本可以有效的把变更置于控制之下。
  最后,值得一提的是,变更实施或者系统缺陷修复涉及到多方面的人员,可能牵涉软件系统中的多个模块,处理和验证的流程复杂,沟通等管理成本高昂,如果变更和质量控制不好,会直接影响项目的进度和成本。


网友观点二:

  (1)项目启动阶段的变更预防
  对于任何项目,变更都无可避免,也无从逃避,只能积极应对,这个应对应该是从项目启动的需求分析阶段就开始了。对一个需求分析做得很好的项目来说,基准文件定义的范围越详细清晰,用户跟项目经理扯皮的幌子就越少。如果需求没做好,基准文件里的范围含糊不清,被客户抓住空子,往往要付出许多无谓的牺牲。如果需求做得好,文档清晰且又有客户签字,那么后期客户提出的变更就超出了合同范围,需要另外收费。这个时候千万不能手软,这并非要刻意赚取客户的钱财,而是不能让客户养成经常变更的习惯,否则后患无穷。相对于需求来说,什么WBS、风险管理、计划进度都是次要的,只要需求做好了就会一帆风顺。
  (2)项目实施阶段的需求变更
  成功项目和失败项目的区别就在于项目的整个过程是否是可控的。项目经理应该树立一个理念——“需求变更是必然的、可控的、有益的”。项目实施阶段的变更控制需要做的是分析变更请求,评估变更可能带来的风险和修改基准文件。控制需求渐变需要注意以下几点:
  需求一定要与投入有联系,如果需求变更的成本由开发方来承担,则项目需求的变更就成为必然了。所以,在项目的开始,无论是开发方还是出资方都要明确这一条:需求变,软件开发的投人也要变。
  需求的变更要经过出资者的认可,这样才会对需求的变更有成本的概念,能够慎重地对待需求的变更。
  小的需求变更也要经过正规的需求管理流程,否则会积少成多。在实践中,人们往往不愿意为小的需求变更去执行正规的需求管理过程,认为降低了开发效率,浪费了时间。但正是由于这种观念才使需求逐渐变为不可控,最终导致项目的失败。
  精确的需求与范围定义并不会阻止需求的变更。并非对需求定义得越细,就越能避免需求的渐变,这是两个层面的问题。太细的需求定义对需求渐变没有任何效果。因为需求的变化是永恒的,并非需求写细了,它就不会变化了。
  注意沟通的技巧。实际情况是用户、开发者都认识到了上面的几点间题,但是由于需求的变更可能来自客户方,也可能来自开发方,因此,作为需求管理者,项目经理需要采用各种沟通技巧来使项目的各方各得其所。


网友观点三:

  1. 对于需求和需求变更的理解
  软件需求是整个软件项目的最关键的一个输入,和传统的生产企业相比较,软件的需求具有模糊性、不确定性、变化性和主观性的特点,它不像生产汽车、电脑等硬件的需求,是有形的、客观的、可描述的、可检测的。软件需求是软件项目最难把握的问题,同时又是关系项目成败的关键因素,因此对于需求分析和需求变更的处理十分重要。
  软件需求变更会给项目带来巨大的风险,会导致项目的成本费用增加、开发周期延长、产品质量下降及团队工作效率下降等不良后果,因而需求变更在软件开发项目中应该尽量避免。然而由于政府对特定软件的相关要求、用户部门市场战略的调整、工业界的发展等因素都可能带来需求的变更,而这些因素往往不可避免。在软件开发过程中如果只有一条真理的话,那一定是:需求的变化是永恒的,需求不可能是完备的。因而,对于需求变更应该正确的对待,尽量将其负面影响降低到最低。
  2.减少需求变更
  正如前文所说,需求变更往往是不可避免的。通常是项目负责人员花费了大量的气力避免需求变更,可最后需求变更总是会出现。但是这并不意味着项目开发人员不应该做这方面的工作,项目开发人员对于需求变更的正确态度应该和软件测试的态度一样,在需求并更发生之前尽量减少需求变更,以将需求变更带来的风险降低到最低。项目开发人员切忌在项目设计之前试图消除需求变更,这样做往往费力不讨好。
  相比于需求开发人员而言,客户可能对需求变更认识不足,认为他们出钱,程序员或软件开发公司就要为它服务,因此客户对需求变更往往将需求变更视为儿戏,随个人喜好随意变更需求。因此,在需求人员同用户代表或用户部门主管人员接触时,就应该向他们挑明态度,和他们协商好,特别是应该让他们清楚软件的定价应该与软件的功能相关,以及需求随意变更所带来的风险的承担者应该由客户和项目开发者共同承担。通过这样做,让客户在需求分析之前就尽量对他们所需要的功能有个整体的了解和确定的思路,而不是等到程序员开始编码了,才提出以前原本在需求分析时就可以提出的需求。
  让客户明白减少需求变更的重要性后,需求分析人员应该采取合适的方法同客户交流,帮助他们明确他们的需求。需求分析人员和客户的关系不应该仅仅是记录人员和需求提供者,他们的关系应该更多的是战略合作伙伴关系。虽然需求分析人员和客户存在着服务商和顾客的关系,但是他们有着一个共同的目标:开发出适合客户需求的软件,因此需求分析人员除了记录客户提出的需求以外,还应和用户讨论,提出一些建议,使用合适的工具帮助客户提出需求。在需求分析时,尽量多的召集需求研讨会,邀请开发人员和客户共同协商探讨,在研讨会上允许任意的提出需求,并将这些需求整理成档后由客户代表和需求分析人员共同商议可选的功能,这样能够尽量使得需求完备。在需求开发时,开发人员采用原型的方法启发客户思考功能需求也不失为一个好办法。
  虽然需求不可能是完备的,但是在项目开始设计时尽量使得需求完备还是应该的,也是值得的。
  3. 规范文档
  需求文档作为客户和开发人员的接口在整个项目开发过程中起着举足轻重的作用。需求文档应该按照一定的格式和规范书写,而且应该具备完整性、一致性、基线控制、历史记录等特性。文档书写完毕以后应该交给客户审阅,在客户满意的基础上确定基线。一个完整规范的需求文档不仅能够有助于设计人员和编码人员完成项目开发,更重要的是它作为一个阶段性的成果可以供软件需求变更时参考。
  需求变更发生后,也应该生成相应的文档,并且这些文档的书写也应该采用规范的形式书写。需求变更文档也应该包含基线以供下一次修改参考,还应包含历史记录以供开发人员和客户清楚当前的文档内容的新旧以及历史文档的情况,以备以后查看。
  4. 设计良好的体系结构
  开发软件就如同建造一座房屋,软件体系结构则如同建房屋时的规划。两层高的家庭住宅和几十层高的商业大厦建造时的规划必然不同,同样,大型软件和小软件采用的体系结构也必然有所区别。因此,设计一个合理的体系结构对于项目的成败也是十分关键的。
  体系结构的建立一般位于需求分析结束之后,软件设计之前。软件体系结构的设计是从结构的角度对整个系统进行分析,选择合适的构件,安排构件间的相互作用以及他们之间的约束,形成一个系统框架以满足用户需求。在设计软件体系结构时,不仅应该想到如何完成满足现在已经提出的用户需求,同时也应适当地考虑到需求的变更。

PMP(Project Management Professional)指项目管理专业人士(人事)资格认证。美国项目管理协会(PMI)举办的项目管理专业人员(PMP)认证考试在全球190多个国家和地区推广,是目前项目管理领域含金量最高的认证。获取PMP证书,不仅提升项目经理的项目管理水平,也直接体现项目经理的个人竞争力,是项目管理专业人士身份的象征。

2019年PMP考试时间安排
3月30日
6月22日
9月7日
12月7日

分享到: