需求获取的三阶段:需求背景、需求调研、需求分析(1)

软件需求的获取是软件开发过程的第一步,需求质量是决定软件成功与否的重要前提,如果获取的需求有了偏差或是遗漏,其结果可能导致后续的分析、设计与开发都出现问题;反之,如果获得了全面、严谨、逻辑表达清晰的需求,就会让设计师与程序员可以非常顺利地进行后续的工作。
如何做好需求获取的工作呢?需求获取的过程分为三个阶段,每个阶段有不同的目标、内容及相应的方法、交付物和标准。这三个阶段分别是:需求背景、需求调研、需求分析。
在对客户进行正式的需求调研前,要事前做好对客户的背景资料的收集和整理,这是需求调研成功的基本保障。

这是需求工程的第一阶段,介绍:需求背景的作用和方法。


“知己知彼、百战不殆”,要想做好需求调研工作,事前就要做足功课。调研前的准备工作是否充分决定了调研初期的沟通成本(时间、资源)。

1.背景资料的来源

事前了解客户的背景是十分重要的准备工作,了解客户背景就是调研工作的第一步,这些资料可以帮助事前做好准备,资料中的信息影响着与客户确定开发合同的内容、规模、金额、时间、技术复杂度等,了解客户背景可以有以下几个途径(不限于此)。

□互联网:从各类网站上可以快速地获得一些公开的企业基本信息;
□宣传资料:企业的各类宣传资料,会涉及到企业的基本信息、产品、服务等;
□人员沟通:网站、宣传册中获得是“过去时”的信息,人员沟通获得的是“现在时”的企业信息;

2. 背景资料的汇总

汇总已经获得的背景信息,梳理出一份背景分析报告,让后续的需求工程师在调研开始前就掌握客户和项目的基本背景,这样做带来的好处是:

□勾勒出客户的“形象”,了解了这个形象后可以让需求工程师做到心中有数;
□让初次见面的客户感受到需求工程师的“专业性”,增强信任感,提升沟通效率;
□背景资料是判断客户需求的重要参考,也为需求分析师增加了交流时的话题、切入点;

汇总资料内容以及作用(不限于此)

1)企业基本信息
□企业发展愿景:了解企业的长远目标。帮助进行信息化的顶层规划设计;
□主要领导发言:判断进行信息化建设的目的、期望等,影响到投入资金、资源及支持力度等;
□客户企业规章:理解企业的管理水平,能够系统管理设计的复杂度、深度等;
□企业组织形式:掌握组织结构、地域分布、部分的划分层级,这些会影响系统的部署;
□企业人员构成:了解员工人数、能力结构等,这些会影响到系统上线培训、运行的难易度等;

2)企业业务情况*
□企业业务构成:主营业务(行业、领域、产品),辅营业务(财务、人资等),帮助理解系统所需的功能;
□企业业务数据:近三年的年产值、收益情况。判断客户可以承受的开发费用、以及系统完成后可能带来的经济效果;
□有无管理问题:包括产值、成本、资金、收益、内控、质量、安全等诸方面的问题,导入信息化管理后可能改善这些问题;

3)既存IT现状
□既有系统现状:了解既有系统覆盖的业务、系统构成、数据标准等,判断是否有异构系统集成等需求;
□IT现状与问题:既有系统的使用状况、是否数据标准不统一、信息孤岛、系统是否已落后等问题等,用以判断新建系统的需求等;
□其它问题:运行环境等问题等;

3. 表达形式的统一

有经验的读者都经知道,调研初期最为头疼的事就是针对一个双方都知道的问题,需求分析师与客户往往谈了很久都说不到一起,而经过一段时间的沟通后就会变得比较流畅了,造成这个现象的原因就是双方来自于不同的行业,有着各自的习惯,因此对同一个问题就缺乏统一的定义,而相互熟悉之后,尽管用语还不明确但也知道对方指的是什么,这种现象造成了调研初期的沟通效率不高,而且进行信息系统的详细需求讨论时,用语的定义必须是精确的、不含糊的。所以,调研开始前要对所用专业表述进行统一,统一的内容包括二个方面:用语表达的统一、逻辑表达的统一。

1)用语表达的统一
从两个方面进行用语的确定,一是客户的业务专业用语、二是软件商的软件专业用语。

□业务专业用语(客户)
用文字的形式,将系统涉及到的各类客户专业用语进行统一定义。方法是从预先收集到的资料中,将频繁出现的专业用语、固定表达方式等抽提出来列成表,做好定义后交与客户进行确认。业务用语根据不同的业务领域不同,比如企业管理经常会用到的:产值、利润、成本、成本管理、收支平衡、业务财务一体化等;
□软件专业用语(软件商)
由于客户要引入信息系统,所以客户也必须要引入和掌握系统相关的基础用语。方法也是同样,预先将本系统可能用到的专业用语列表,进行定义。比如:企业管理系统常用到的:需求、功能、流程、界面、流程分歧条件、管控规则等,软件专业用语也就是设计用语。

2) 逻辑表达的统一
仅仅用语言还不足以保证双方的沟通顺畅,因为企业有很多复杂的业务逻辑是用语言无法描述清楚的,所以必须采用图形的形式进行表达和沟通,需要教会客户方相关人能够看懂与他们业务直接相关的、并且需要他们确认的业务架构图、原型界面图。预先准备好用于不同业务的标准用图,比如:

□分解图(静态):将组织结构、产品结构、客商分类等关系表达出来;
□流程图(动态):将客户的业务运行顺序、管控点布置等关系表达出来;

相对于用语表达的统一,逻辑表达的统一是一个更高层次的统一,因为即使是用语统一了,但在具体业务内容的描述上可能还是不一致的,只有在逻辑表达层面也统一了,才可以说是真正地对某个事物的理解是一致了(注:理解一致≠做法一致)。
用图形表达业务逻辑的方式,是提升需求调研的效率、质量、价值等的最高效方法之一,当遇到的问题越复杂时,图形表达的沟通方式就越有效。

4. 调研问卷的准备

通常在大型、或是复杂的软件项目进入现场调研前,会对客户的相关部门进行问卷调研,将需求分析师想要知道的、容易回答的问题提前发给客户,在进入调研前回收,研究。问卷的作用很多
□给与对方思考的时间,让客户可以根据问卷内容提前梳理思路;
□可以让客户事前了解“需求调研”的工作内容等,做好心理准备;
□问卷法节省时间、经费和人力,这是为什么经常采用问卷法的原因;
(以下省略)

5. 原型法调研的准备

原型法是指在获取一组基本的需求定义后,利用高级软件工具可视化的开发环境,快速地建立一个目标系统的最初版本,并把它交给用户验证、补充和修改,再进行新的版本开发。反复进行这个过程,直到得出系统的“精确解”,即用户满意为止。(以下省略)

6. 项目启动会的准备

通常软件项目的合同确定之后,在需求调研之前都会召开一次有相关各方参加的项目启动会,可能有的读者会认为就是双方相关人员相互介绍认识一下,走个形式,其实不然。对于软件商方面而言,项目启动会的作用是非常重要的,用“机不可失”来强调它的重要性也一点不为过,它是需求调研开始前的最后一个重要工作,可以说是进入调研前的最重要工作,这个会的重要性就在于,双方的领导,特别是客户的高层领导会参加,下一步调研相关的组织、管理、计划等主要事项一定要在这个会议上的“当面落实、决定”,也就是说,软件商一侧要在会议前,将所有需要双方领导当面确定的事项全部准备好(可以是提纲,也可以包含尚未敲定的事项)。(以下省略)

7. 调研路线图的规划

将前述的内容整理成调研的路线图,路线图包括
□流程:作为路线图的载体,给出开始、中间步骤、结束;
□节点:路线图上的每个节点包含的内容、对应的活动和模板(问卷、图形)
(以下省略)

8. 调研物品

作为最后一项,调研中要准备好以下的一些物品,这些物品的作用很重要
□投影仪:准备好的资料要用投影仪仅展示;
□白板/多色白板笔:临时发生的问题在白板上画张图会带来意想不到的效果;

无论什么样的软件项目,调研前的准备越充分调研的效果就会越好,调研前准备的目的就在于:全部的调研过程一定要按照预先制定的内容规划、节点计划推进,也就是说整个的调研过程要在需求分析师的“掌控”之下推进,而准备不足时在调研现场就容易出现“失控”的局面,有经验的读者应该对此有体会。

其他

□需求调研对象的区别
□需求调研的顺序
□需求真实性的识别
□需求资料的收集方法
□需求的记录格式&模板等

■本系列的下一篇博文:需求获取的三阶段,介绍:需求调研

原文地址:https://www.cnblogs.com/BAload/p/14224244.html