在开发项目过程中,用户随时会提出一些新的需求,要求开发人员解决,这些需求的提出,有时在开发阶段中有时在开发阶段后。这种在需求分析的两个相邻子阶段中,或者在迭代周期的需求分析中,后一段或周期的需求分析结果与前一次不一致, 我们把这种不一致称为需求变更。产生需求变更的原因主要有以下几个方面:
紫金网站建设公司创新互联,紫金网站设计制作,有大型网站制作公司丰富经验。已为紫金1000+提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的紫金做网站的公司定做!(1)在需求分析阶段,开发人员与用户的沟通不够。在需求分析阶段,开发方与用户没有很好的交流,开发方就根据用户提供的大概信息,自己推导出用户的需求。通过这种需求分析得出的需求往往会和用户的实际需求相差甚远,导致用户提出更改需求。
(2)项目的实施周期过长。随着时间的推移,用户对整个系统的了解也越来越深入。他们会对模块的界面、功能和性能方面提出更高更多的要求。
(3)技术更新过快。由于技术的快速更新, 企业可能引进一些新的设备, 而这些设备可能就会与我们的目标系统有直接的关系, 由于这一变化可能发生在解决用户原先问题之前或者之中, 那么开发人员不得不加入这一新的需求。
解决频繁变更的方法
1、不管商务情况如何,前期的技术协议一定要明确描述可以做到的功能;
2、凡是与客户沟通确认的变更要严格按照文档备案流程操作;
3、随时和技术协议核对,客户的变更是否在协议范围内;
4、有了资料,客户不合理变更提出或是次数过多时,可以就此和客户交涉,讨论追加费用还是不作如此变更还是引导此变更移至二期工程;
5、既然有商务因素导致频繁变更,也可以利用商务因素减少频繁的变更,就看项目经理如何利用资源;
6、实施中对客户的需求引导非常重要,要求现场实施人员发挥相应作用;
很多项目经理实在项目准备实施时参与进来,基本以技术性人员为主,应该对于项目的整体情况和相关资源尽量多了解,利用多方资源早早进行合理运用。
软件开发过程中如何避免需求变更
为了尽可能地避免发生需求变更,以及保证需求分析的高稳定性,可以采用以下方法:
(1)对开发人员进行专业培训。因为,开发人员对所开发系统的领域不一定了解,为了开发人员能更好理解用户的需求,在做需求分析的初始阶段对开发人员进行该领域相关知识的培训。
(2)开发方与用户进行协作和交流。在用户提出需求变更时开发人员应该认真听取用户的要求并加以整理和分析。分析需求变更的原因并提出可行的替代方案;同时向用户说明这些需求变更会对整个项目的开发带来的不良后果。
(3)合同约束。由于需求变更可能会对整个项目产生影响,所以,开发方和用户在签定项目合同时,可以对需求变更增加一些相关的合同条款。
(4)建立需求文档并进行版本控制。需求分析的最终成果是一份客户和开发人员对所开发的产品达成共识的文档。有了这份文档,即使开发人员的角色有所变动,也不会对需求分析的前期工作有所影响。对每次的需求变更都用一个新的版本来标识。
(5)需求评审和设立需求基线。为了让开发方详细了解用户的需求,让不同人员从不同的角度对需求进行验证,作为需求的提出者,在需求评审过程中,用户往往能提出许多有价值的意见。同时,也是用户对需求进行最后确认的机会,可以有效减少需求变更的发生。需求在通过正式评审和批准之后,应该确定需求基线,进一步的需求变更将在此基线的基础上,依照项目定义的变更过程进行。设置需求基线可以将变更引起的麻烦减至最小。