如何进行有效的需求调研

1、什么是需求调研?
需求调研对于一个应用软件开发来讲,是一个系统开发的开始阶段,它的输出“软件需求分析报告”是设计阶段的输入,需求调研的质量对于一个应用软件来讲,是一个极其重要的阶段,它的质量在必定程度上来讲决定了一个软件的交付结果。怎样从客户中听取用户需求、分析用户需求就成为调研人员最重要的任务。
需求调研是为需求说明书撰写作前期工做,需求说明书是从需求调研表中获得或抽取而出;是了解实际工做中真正须要什么样的程序的过程,再把这些需求细节整理由设计部开发,给用户使用。
需求调研,特别是合同额已经肯定的项目的需求调研,就像外交同样,其实是一种策略艺术,它是在和客户相互尊重、平等互利的基础上,不卑不亢的去交流沟通,守住我方底线,尽量的争取有利于我方条件,在完成任务的同时,还能赢得客户的理解和尊重。
需求调研,简而言之就是和客户进行谈话沟通,把客户的想法和要求记录下来,最后整理成为《用户需求说明》,以便进行下一步的需求分析、系统设计等,正由于后面的需求分析、系统设计,乃至开发等等都以需求调研的内容为依据,那么需求调研质量的好坏直接就决定了软件系统的好坏,也即项目的成败。

一般咱们一提到某个系统,感受上应该始终就是一个东西,但其实在不一样人眼里,多是不同的,好比按照通常软件开发过程来讲,就有以下几种:
1.客户实际须要的软件
2.客户头脑中想要的软件
3.调研人员调研后的软件
4.设计人员设计出来的软件
5.开发人员开发完成的软件
(这里特别注意客户实际要的软件和客户头脑中想要的软件可能并非一个东西)
若是上述中间各个过程都有理解误差,那么极可能就出现最终开发完成的软件和客户实际须要的软件差别较大,一个失败的或者作的很差的项目,每每缘由就在这里。
并且还有一点,上述过程当中,越日后,修改这些误差要付出的代价就越大,直到你没法承受。那么,保证你调研出来的需求和客户实际的需求以及客户头脑中想要的三者保持一致,而且这个需求在开发上是可以实现而且容易实现,就是每个需求调研人员努力要作到的。
 
2、项目类需求调研的特色
1.《需求规格说明书》的出具比较仓促,质量低
(1).不切实际的工期(需求调研成了走过场)
(2).用户方怕担责任的心态(模棱两可的说法)
(3).认知程度的限制(项目达到的预期是什么?调研人员错误的理解,怕引出额外诉求)
(4).迫于工期压力,各方妥协签字了(没有争取普遍的支持)
2.大部分需求是《需求规格说明书》出来之后出来的
(1).程序被迫使用,与切身利益相关,被迫重视(流程、易用性、工做量全来了)
(2).用户认知程度逐渐被引导,使用积极性提升,提出更多的功能诉求 
注意把握这些问题要点,在实际操做中注意规避相关错误要点,正确很好的引导客户,把需求调研向良性的方向发展。 

3、需求调研的前期准备
1.肯定调研工具
选取需求调研过程当中的一些辅助工具,选取要求是本身(本组)熟悉的工具, 工具最好也是要求是普通流行的,由于要考虑交流的问题。
如:原型、草绘图、WORD、EXCEL、PPT、POWERDESIGNER、STARTUML等。
这里只强调原型化方法,原型化方法就是尽量快地建造一个粗糙的系统,这系统实现了目标系统的某些或所有功能。建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性、技术的可行性或考察是否知足用户的需求等。如:为了考察是否知足用户的要求,能够用某些软件工具快速的建造一个原型系统,这个系统只是一个界面,而后听取用户的意见,改进这个原型。之后的目标系统就在原型系统的基础上开发。
原型主要有三种类型:探索型、实验型、进化型。
探索型:目的是要弄清楚对目标系统的要求,肯定所但愿的特性,并探讨多种方案的可行性;
实验型:用于大规模开发和实现前,考核方案是否合适,规格说明是否可靠。
进化型:目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程当中,逐步将原型进化成最终系统。

在使用原型化方法时有两种不一样的策略:废弃策略、追加策略。
废弃策略:先建造一个功能简单并且质量要求不高的模型系统,针对这个系统反复进行修改,造成比较好的思想,据此设计出较完整、准确、一致、可靠的最终系统。系统构造完成后,原来的模型系统就被废弃不用。探索型和实验型属于这种策略。
追加策略:先构造一个功能简单并且质量要求不高的模型系统,做为最终系统的核心,而后经过不断地扩充修改,逐步追加新要求,发展成为最终系统。进化型属于这种策略。
2.调研项目前期状况
对象:售前人员、商务人员、项目经理;
内容:招标书、答标书、合同、以及其余与用户交流的口头或书面材料(包括宣传、承诺等)
甲方行业状况的了解、最好看一些行业方面的书籍,学习业务领域知识。
了解客户、项目的背景,若是事先客户给过相似的《软件初步思路》之类原始需求文档,那么首先弄懂这个文档,了解客户的目的,为何要作这个软件,主要想解决什么问题,涉及的业务有哪些等等,这些调研准备的基础。
根据了解的初步用户需求,分析可能的难点在什么地方,列出这些难点。作到心中有数,而且记录前面了解需求的过程当中不明白的地方,便于到现场后及时和客户沟通。
3.创建需求调研规范
必定创建一个专门的设计环境(文档目录)来为本项目服务,进行必定的资源分配,进行必要的文件管理。
(1).统一项目所用工具
(2).统一项目文件模版
(3).其它资源列表(资料,相关网站,资询电话)
4.明确客户方组织结构
用户单位的组织机构是什么,哪些部门和人员岗位参与本系统的使用?上下级关系如何?为项目组创建起外部联系通信录。
了解客户的组织机构,涉及软件使用的部门,参与调研的部门和人员,客户关键人是谁等等,尽量得到客户上层的支持,自上而下的开展需求调研会使调研工做更容易推进。客户需求小组成员要尽量多的表明客户不一样的用户层次。
5.制定项目的调研计划
调研计划制定目的:对调研活动序列进行划分、评估、资源分配。
在制定计划时考虑到分析时间。计划在公司内部评审经过后,及时提交给客户,让客户对调研计划有充分的了解。
调研计划包含的内容:
(1).调查什么?经过什么方式调查?何人什么时候调查?
(2).明确项目组人员分工(培养咱们的专家)
(3).调研中你们遵循的约定(如:需不须要签字?什么时候召开例会等)
(4).针对需求中的功能模块,客户方有明确的惟一配合联系人
注意事项:
项目任务书下达给后,项目经理及调研人员应该对合同中软件范围认真审阅,虽然只大概写了需求范围,但这些信息及为重要,它是调研计划制定的一个依据。
计划制定后最好召开项目启动会议,相关领导和业务部门参与,肯定双方项目组成员,肯定客户方的配合人(惟一联系人)、领导(惟一协调人),介绍项目组的人员安排、总计划、需求调研计划将行程和计划通知客户. 

4、需求调研内容
1.需求调研要收集的内容
需求分析报告的读者有客户、设计人员、开发人员,在编写时必定要考虑到文档的可读性。需求调研造成的成果具体以下:
(1).收集用户须要产生的单据和报表 ;表单及报表的适用对象;
(2).画出业务流程图,并认真检查和核对每条路径中是否完备,异常状况怎样处理(系统的动态特性);
(3).依据流程图收集每一个步骤须要的使用和操做的数据,肯定数据的类型和范围(系统的静态特性);
(4).画出业务实体及其关系,并估计业务实体的产生频率和数据量;
(5).评估业务流程和实体中需求变化的可能性;
(6).用户权限;
(7).信息系统建设现状;
(8).收集用户对系统界面风格、版式、颜色的偏好和需求;
(9).对系统未来使用的硬件、操做系统、网络状况进行了解;
(10).收集系统初始化数据,或者要求客户进行收集和整理,明确期限时间;
(11).编制简单界面原型(该步骤也可放在需求分析以后完成,再次和用户进行沟通);
2.需求调研成果
(1).《需求规格说明书》
(2).系统详细原型
 
5、如何作好需求调研
1.要作什么就要先了解什么
若是对客户业务不熟悉,在调研前要先作好充分的准备。
若是作的项目是你所不了解的行业(专业),最好要有专家——最终用户作专家是最好的,调研要了解这个专业,不是要你成为专家,但最少要了解必定的专业知识(最少专来词汇你要知道),不然就不知道去问什么或如何去问他们,甚至于人家在说什么你也不知道。
相应的专业资料是必须的,最少要有专业入门书籍和对应的资料,也须要更深刻的一些资料。固然有专家的参与就另当别论。
若是行业的难度不是很大,能够经过分析人员的自我学习在短期内了解行业,也许能够不用专家,不然专家是必须的。
2.采用多种手段挖掘需求
重视调研资料的准备:调研资料(Rose图、Ppt、原型准备)通常客户图形化界面感兴趣,最好是采用图的方式把东西展现给用户,能够意思转换为用例图、用户界面、流程协做图、状态图等。
需求调研过程有选择的肯定调查方式,例如:
1).与客户交谈,向用户提问题;
2).参观用户工做流程,观察用户操做;
3).向用户发调查问卷;
用户一般没有耐心回答论述题,因此应当以选择题和是非题为主。
4).与同行、专家交谈,听取他们的意见;
5).分析已经存在的软件产品,提取需求;
6).从行业标准、规划中提取需求;
7).上网搜索相关资料
3.站在用户的立场上考虑系统功能
1).设身处地的成为用户,考虑适用型和用户体验;
2).用户的语言与用户交流;
3).总结以往的实施经验,提出建议;
4).总结以往的实施经验,引导需求;
*以上各条也是尽可能减小需求变动的手段之一;
4.5W + 1H方法
5W:why、what 、who、when、where
1H:How to accomplish(实现) the system?
WHY定律:WHY就是为何用户要引入系统,引入新的信息系统对用户有什么帮助,在整体工做效能上如何实现一个最终的结果?WHY定律是要求在需求开始时,项经理就应该明确的,这个项目是为了改进用户工做效率;提升部门间的协做机制;加快对客户反应的体系服务;提高企业的竞争力等等。有了这么一个WHY引入思想,项目经理就能够理清用户最终要的是能够提供给他们什么样的系统,在系统的定位和创建上,就有一个明确目标。
WHAT定律:有了一个整体的目标性,从各业务流程的要求入手,引入第二个W定律__-WHAT定律,WHAT则是这个系统要作什么?实现什么?提出各业务流程问题、流程局限性问题、系统要解决的问题等,在这个WHAT的基础上,把系统划分红各功能模块,逐步弄清模块流程需求、功能需求、结构需求。引入WHAT定律可让咱们了解到系统的初步需求。
WHO、WHEN、WHERE定律:这个阶段是需求细化阶段,在WHAT定律的基础上,细分系统的用户需求:分析什么人,在什么时间,什么阶段能够或必须操做这个功能,结合前面的WHAT定律,理清系统的流程阶段划分,记录并分析系统功能实现的细节,在这个阶段就能够产生系统需求的用例图(Use Case),做为下阶段设计的依据。
HOW定律:就是怎样实现系统了,在前面的WHY、WHAT、WHO、WHEN、WHERE基础上,已经搭建了一个很是好的系统需求基础框架,如何在这些用户需求的基础上,分析系统的需求,如何进行需求规格的分析与下阶段的设计、实现工做,就是How to accomplish(实现) the system?
引入这5W+1H的定律,在必定程度上保证了系统需求的准确性,使得项目经理或需求分析人员能够有序、有条理地开展需求挖掘和调研活动,这样的安排用户在配合上也很是清晰,知道如何与项目人员配合。
5.需求调研注意事项
(1).按照计划有步骤的调研
提早约定调研活动的计划,达到的目标,时间安排,参与的人员,并根据用户安排,适当调整计划。最忌参加会议时目标不明确、汇报人员不明确。
按照事先和客户商量好的调研计划稳步进行,若是现场临时出现变化,好比参与调研的客户临时有事,或者调研的内容出现变化,那么及时和客户肯定新的调研安排,列出总的调研顺序。切忌想到哪说到哪,调研内容杂乱无序,颇有可能就会出现遗漏而不能及时发现。
(2).掌控调研进程,推进调研工做顺利进行
由于调研工做实际就是和客户聊天谈话,极可能就会常常跑题,越扯越远,另外客户的精力通常也容易不集中,跑神,这时候,调研人员要可以掌控整个进程,何时及时把客户的思路拉回到正题上,何时适当的聊聊其余的话题调节气氛,都须要调研人员灵活掌握,总之一个目的,尽快的推进调研工做朝前进行。
(3). 认真仔细的倾听,及时的记录
仔细的倾听就是要明白客户的完整的表达,不要以为有些你已经懂了,常常打断客户来急切表达本身的见解,每次在客户完整的把话说完再表达本身的想法。及时记录涉及客户业务、实际工做、客户想法的内容,不能觉得当时听明白了就不去记录。必定要有记录的习惯,谈上几个小时,不少细节是记不住的。
(4).先了解宏观需求,再了解细节需求
听从由总到分、由粗到细、由简单到复杂的调研过程,不管是让客户介绍他们的业务仍是谈他们的想法,都要先从总的大的方面提及,而后再是细节。若是直接进入细节,每每并不能很好的抓住他的要点,不能把握整体的要求。
(5).挖掘客户最原始的需求,而不是仅仅只是记录
客户跟你说的内容只是他的一个理解,他的理解可能也有误差,并且如今有的客户由于对软件比较了解,每每告诉你的不是需求,而是他的设计思路,好比直接跟你说“你作个这样的功能,我一点就能出来什么什么”,对咱们来讲,就须要多问几个问什么,“你为何会这样作呢?”“你想看的结果是什么呢?目的是什么呢”等等,必定要想办法了解到客户没有通过转化的最原始的需求,由于每每不少时候客户告诉你的他的想法并不能实现他本来的目的,而他觉得能实现,因此就直接告诉你想法。需求调研人员若是没有了解到最原始的需求而只是把客户的想法记录下来,那么就会出现作出来的东西解决不了客户实际的问题。
这个过程每每同时也可以帮助咱们缩小需求范围,好比客户开始想的好好的一些功能,可是在咱们深刻分析思考后发现由于存在某些问题这些功能没法实现,或者即便实现也会大幅增长工做量比开始想象的复杂的多,那么在这样一个基础上说服客户放弃这个想法。这也是在合同额肯定的状况下砍功能的一种方式。
(6).引导客户的潜在需求
大部分客户对本身要作成一个什么样的软件并无一个完整的规划或者想法,不少时候都是在谈的过程当中逐步的清晰。调研的过程也不会是客户口若悬河的谈他的想法,而是靠你一点点的去问客户,那么到底问什么,就须要你掌握,除了不懂的业务之外,重要的是在已经了解的客户需求的基础上分析、扩展,带出其余潜在的客户没有说出来的需求。好比说客户想作一个领用办公用品的功能,开始想的很简单,填一个领用申请,一审批就好了,可是通过仔细分析后,就会衍生出“物品管理”“类别管理”“库存管理”等潜在需求。若是不考虑这些,那么不管是你仍是客户都会认为这个功能很简单,那么对完成时间和工做量的估计都会出现问题。防止出如今作系统设计甚至是开发时才发现“当时没想到这个地方没那么简单,还须要再跟客户沟通一下”这种状况。
这里面,潜在需求若是细化的话还分为两个部分:1)系统必须的;2)系统没必要须的。“必须的”就是像上面例子同样,若是不挖掘潜在需求,客户已经提出的需求就没法实现,就是把看上去简单的复杂问题,实际上他仍是个复杂问题。“没必要须的”,就是对已经提出的客户需求影响不大,相对独立,至关于再和客户沟通的过程当中又了解到的新的需求。对这部分,就须要根据调研时项目的合同额是否肯定,工做量大小,和客户的关系如何等等有需求调研人员灵活掌握,能够提也能够不提。可是提出就确定会增长工做量和系统的复杂度。
(7).规避客户不合理的要求和较难实现的要求
客户须要的不必定的是客户真正所须要想要的。客户永远没有错,错的只有咱们没有真正理解客户的须要。
调研时要把握主题的能力,分清有用功能、可选功能用、无用功能及不可实现功能,及时表达咱们的观点,让谈话接近主题。
调研的过程当中,不可避免的会出现客户提出一些咱们现有条件下根本没法实现或者即便实现也很是困难的要求。这种状况就须要需求调研人员的聪明的头脑和快速反应能力,同时也须要调研人员的良好的沟通技巧,要能巧妙地说服客户放弃这种方式而且还要客户可以理解,而不致认为你在逃避问题不想解决。通常能够采起这些方式:1)客户提出这些要求后能立刻了解客户提出这个要求的真实目的,而后快速思考出另外的简单的方式一样能实现客户的这个目的。这是最好的方式;
2)必要时直接告诉客户没法实现而且给出合理的理由,特别是在客户说某某系统已经实现了这个方式时,好比他们用的是什么什么平台支持,这个平台支持须要另外付费等等;
3)直接告诉客户虽然能实现,可是须要很大的精力和成本,而这个多是客户没法承受的,固然你必定要能说出客户听起来合理的理由。
这些都不是绝对的,须要调研人员丰富的软件开发经验和灵活的头脑较好的表达能力临场发挥。
(8).注意需求调研的覆盖面,防止需求不具表明性
需求调研开始时,客户明确的惟一配合联系人既是咱们每一个模块的一把手!咱们要作的就是“拿着鸡毛当令箭”!找对人才能办好事。
同时也要防止提供需求的客户方面只有一我的,使实际软件需求变成我的需求。受制于这我的的所处层次,以及掌握的业务知识,与领导意图的符合度等等限制,给咱们带来较大的需求风险,稍有不慎就会给后面软件需求变动埋下伏笔。避免这种风险,一方面调研人员依据以往的经验和业务知识本身判断客户提出的需求是否合适,有没有过于强烈的我的特征等等,另外一方面,在调研开展的最初想办法和客户的上层明确相似风险的存在,让客户领导在人员安排上避免这种状况,同时也是让他明白会存在这种状况,之后一旦真的出现,客户也不会说是咱们的责任。
(9).及时总结整理已经完成的调研内容
需求调研、相关会议纪要及时转发,及时总结成果,让客户听听你的理解是否他们提的需求一致。
每次调研回去后,及时把白天调研的内容及时整理出来,当时没来的急记的内容及时补记,同时再深刻的分析、过一遍,确保有没有遗漏的问题,列出全部的疑问待到次日调研时询问客户。
算法

按期汇总的成果:什么状况下?什么人?作了什么决定?产出了什么?
(1).警戒不明确因素
实现某一个功能的前提条件是什么?若是没有哪一个先决条件,哪些工做是没法开展的?责任划分清楚。
(2).成本,成本仍是成本
高水平的设计师高就高在设计出“刚好”知足客户需求的软件,而且在开发方和客户方获取最大的利益,而不是不惜代价设计出最早进的软件。
(3).避免片面听取了某些用户的需求而忽视其余用户的需求
 
6、什么是成功的需求调研
1.需求规格说明书具有的特性
正确、清楚、无二义性、一致(各个需求之间不产生矛盾)、必要(不多此一举增长开发成本)、完备(不遗漏必要的功能如权限配置)、可实现性、可验证性(提供交付依据)、明确优先级(不被细节拖死好比UI)、阐述“作什么”而不是“怎么作”。
2.覆盖合同中全部合理的需求
对待需求工程的态度能够分为“被动型”、“主动型”和“领先型”三种,只有后两种才有可能开发出成功的产品。
在实际工做中,能够创建合同与需求规格说明书对应章节对应表、合同与软件功能对应表。时刻提醒须要提供实现的业务范围。
3.成本风险在控制以内
4.挖掘潜在的需求
适当站在商务的立场上思考,为项目的寻找出路,申请更多的财力物力。

7、签字画押
咱们编写完的需求分析报告,最终要展现给客户,让他们对咱们的分析结果进行承认。其实这个过程很是重要,对于客户和咱们一样的重要。将业务需求与用户进行确认(采用会议讲解的方式),用户领导签字。 这个挺难的。 

8、需求调研人员能力
1.熟悉客户业务
对于客户主要想让软件来解决他哪一部分的业务,事先最好能经过一些手段尽量多的了解。即便事先并不能很是深刻,那么也要利用调研的机会尽量多的了解,调研完成后,没有理由你不是个半个业务专家。
2.熟悉软件开发
调研的过程当中一方面你要随时对客户提出的要求的合理性、难易性做出判断,同时你还要在客户想法不成熟时提供给客户好的实现方式,这一切都需求你对软件开发很是熟悉,不少时候,需求调研人员至少曾经是一个优秀的软件开发人员。由于随着用户使用电脑的增多,对各类软件有必定的了解,每每会直接提出一些功能要求,好比在任务发起时提出须要给多人发送,那么对这样的一个功能会对咱们的设计和开发有什么样的影响,那就须要现场需求调研人员根据本身的经验做出判断,而后思考出有利于本身的方式并巧妙的说服客户接受。
3.头脑聪明,反应敏捷
对客户表达的内容要能很快的、充分的理解,而且能迅速的思考及时应对。同时由于客户的水平也有高低,特别是对那些不善表达的客户,更须要你从不清楚的表达中分析出实质。
好比对于税务系统预警的调研,客户自己事先并无完善的预警规则,不少都是调研现场临时思考出来的,那么这样的一个规则敲定后,你敢拿这样的内容去设计开发吗?那么就须要调研人员根据掌握的业务知识,在现场时及时根据客户提出规则迅速的在脑子里发散、扩展、分析、思考,找出规则是否还有漏洞,和客户继续深刻探讨下去。
4.善于表达,思路清晰
可以把你的想法清晰的传达给客户,特别在一些难以理解的地方,可以灵活的用各类可能的方式让客户明白你的意图。当你在解释半天客户都没有明白的时候,必定要想一想你在什么地方没有解释清楚了。
5.善于观察,精于总结
和客户打交道的过程当中,善于观察每一个细节,分析这些细节是否对你的工做有影响,每次阶段性调研完成后及时总结,来帮助更好的进行下一次的调研。好比在调研间隙观察客户的实际工做内容和工做流程,攀谈了解相关状况,观察客户是否还在使用其余系统,了解其余系统的状况;观察客户群体中的关键人物;观察客户各有什么爱好、特色等等。当天调研完成后,及时回顾整理一天的调研内容,筛选出疑问,便于次日调研时向客户了解清楚。
6.善于记录,文笔流畅
一直强调,在客户现场,把你听到的看到的能记多少就记多少,尽量的多记,,特别是客户在讲述本身实际的工做业务工做内容和方法等时,不要管他回去之后有没有用,千万不能由于当时听明白了就不记了,即便一时没有时间,那么过后也要及时补记下来。这些一手材料里有不少都是可以帮助你和没有参加调研的人理解业务需求的内容。防止出现,1)当时听明白了但没记录的内容,回来后某些细节又忘了;2)当时虽然记了,但写的内容太简单,回来后看当时记得内容已经想不起来是怎么回事了。
网络

相关文章
相关标签/搜索