需求一定要与投入有必然的联系,否则如果需求变更的成本由开发方来承担,则项目需求的变更就成为必然了。人们常说世上没有免费的午餐,同样也不应该有免费的需求变更。但是,接受需求变更目前却是软件开发商不得不咽下的苦果。所以,在项目的开始无论是开发方还是出资方都要明确这一条:需求变,软件开发的投入也要变。
2、需求的变更要经过出资者的认可。
需求的变更引起投入的变化,所以要通过出资者的认可,这样才会对需求的变更有成本的概念,能够慎重地对待需求的变更。笔者曾经经历过一个项目,为了避免项目的风险,我们请了用户代表全程参与了开发过程,结果此用户代表在开发过程提出了大量“小的需求变更,当开发人员按此需求变更修改了软件时,在项目进入现场实施阶段时,却有大量的这些变更需要改回去,问题就是出在我们的项目组成员视该用户代表的需求为圣旨,却忽略了需求是否经过了客户方真正有决策权的人员的认可。
3、精确的需求与范围定义并不会阻止需求的变更。
并非对需求定义的越细,越能避免需求的渐变,这是2个层面的问题。太细的需求定义对需求渐变没有任何效果。因为需求的变化是永恒的,并非由于需求写细了,它就不会变化了。注意沟通的技巧。实际情况是用户、开发者都认识了到了上面的几点问题,但是由于需求的变更可能来自客户方、也可能来自开发方,作为客户他们可能不愿意为需求的变更付出更多的投资,开发方有可能是主动的变更了需求,他们的目的可能是使软件做的更精致,于是作为需求管理者、项目经理需要采用各种沟通技巧来使项目的各方各得其所。
4、小的需求变更也要经过正规的需求管理流程。
小的需求变更也要经过正规的需求管理流程,否则会积少成多。在实践中,人们往往不愿意为小的需求变更去执行正规的需求管理过程,认为降低了开发效率,浪费了时间。正式由于这种观念才使需求的渐变不可控,最终导致项目的失败。
在软件项目的开发过程中,需求变更贯穿了软件项目的整个生命周期,从软件的项目立项,研发,维护,用户的经验在增加,对使用软件的感受有变化,以及整个行业的新动态,都为软件带来不断完善功能,优化性能,提高用户友好性的要求。因此,必须对需求进行管理,使需求能够真正成为软件工程和管理的基线,使软件计划、活动和工作产品同软件需求保持一致,使需求可以复用。