4招搞定项目需求分析

需求范围不明确

合同中规定的内容往往都是模糊不清的,需求不明确,或者只有几行说明,而且还可能有大断的套话、官话。对于项目参与者往往对客户业务不一定了解,如果对客户真正想要的需求没有真正了解,往往会导致后期无何止的修改。

需求理解不一致

我们经常会遇到,按照客户书面上记录的需求进行开发后,客户却并不认可,而实际情况,客户对自己写的书面内容也并无异议。原因是对同样的内容客户的理解与我们的理解不同。例如,需求中写道:购物后付款,开发人员开发出来的是用户选择好商品进入购物车直接付款。而客户实际想要的是到购物车付款前先向客户发送一条短信验证码,让购买人二次确认无误后再付款。同样的文字,对细节的理解可能就是不同的,但实现的细节客户提供的需求里可能根本就没有提。

有些需求并没有直接写出来

中国人喜欢儒家思想,话多为隐晦而不直白的说出,客户提的多是自己期望解决的需求,而对于最基本需求往往不说,因为他认为你就应该有。如做一款手机,手机打电话的功能客户是不用说的;再如,智通面包机,做面包的功能也是不需要说的,他只会说如何智能法。

项目结束前客户总有提不完的需求

客户总是会在结项前提出各种需求,前期没有讨论过的各种需求都会在这个时候冒出来,让项目被动受制。这种情况原因一般有两种,一种是在项目开发过程中没有与客户充分的沟通。另一种就是客户生怕项目一结束付款,你们就不会再很好的支持我们了。那么所有需求不论重要与否,你都要在结束前给我做完。

项目经理无条件的迁就客户

虽然项目成功的标志是客户满意度,但无条件的迁就客户最终可能导致项目预算超期或时间超期,反而会导致项目失败。客户在提一条新需求时可能自己都没有想清楚,也可能只是他的灵光一现,许多需求可能只是冗余需求。客户往往不懂程序,随便说出的需求,可能让我们付出很大的代价。

上面我们已经提到了可能导致需求的不可控原因,哪我们来说下具体可操作的解决办法。

1、确定项目范围

项目一定要有清晰的目标、准确的方向,大海航行靠舵手,项目经理要有把撑好项目范围的能力,尽量把项目需求让所有项目干系人(范围相关的所有人)知晓,尤其要得到客户的认可,必要时要让用户确认。以前经常听有的项目经理说:需求最后一定要让客户领导签字,老吴本人认为这有点难度,以前我做政府类项目时哪个领导愿意签字的,谁愿意背这个责任,还有真要有必要需求增加时,签了字如何增加,客户会有一百个不愿意。如果你真有这能力,能弄到客户签字哪对项目是极大的帮助。

2、多问为什么

对于客户每提出的新需求,我们尽量多了解他的目的是什么,多问、多想,当我们知道客户的终极目标时,我们就可以主导客户需求了。同时,我们了解了客户提此需求的目的后也有利于我们对需求的更好把握,不至于项目需求出现偏差。

3、需求与理解一致

项目经理要对项目进行跟进和监控,需求要很好的贯彻到每个人,不要出现理解偏差。记得看过一篇图文的短文,大致意思是客户想要的产品、项目经理理解的产品、设计人员设计的产品、开发人员要做成的产品、开发人员最后做出来的产品、测试人员看到的产品都不一致。每个人在信息传递过程中让需求不断出现损耗和变形。需求理解的一致性是项目成功的基础,在项目管理的各个阶段,要让所有相关人正确的了解和把握需求。

4、让客户参与到项目各个阶段

项目经理要拉着客户参与到项目的各个阶段,需求分析、总体设计、详细设计、编码、测试,要让客户参与到项目的每个阶段,并随时让客户了解和提出自己的真实想法。

这样就不会导致项目在最后时客户提出各种需求,变被动为主动。尤其是在需求分析和设计阶段,当整理完需求文档和设计文档时,一定要请客户一起参与评估,以避免需求理解不一致,需求范围不确定等问题。我们以前常提敏捷软件开发方法,敏捷开发又不至于项目出现更大问题的办法就是让客户随时参与项目的各个阶段,让客户与我们的项目管理人员一起把关。

要让客户对需求进行确认。当多次与客户确认需求后,尽量让客户签字认可,如不能签字也尽量让客户方领导在正式场合当面确认。

项目分析,项目管理