需求、需求工程与需求工程师 — 5. 调研能力的要求

签订合同、组建项目组、进入客户现场,在接下来这个阶段中需求工程师主要的工作就是调研需求、分析需求、确定要开发的功能需求。与前面咨询工作的内容不同,这个阶段要求需求工程师具有详细沟通、记录、分析的能力,并最终编制出【需求规格说明书】。【需求规格说明书】不但是后续的软件设计和编码测试的依据,同时它也是客户最终验收系统的依据。这个阶段成果的优劣影响着客户的满意度,同时也极大地影响项目管理的进度、成本和质量的控制,可以说,调研阶段是需求工程师的主战场。
在这里插入图片描述
图1 调研工作的位置

第二篇介绍对需求工程师分析能力的要求

在调研过程中需求工程师要参与有听取、记录、分析等不同的工作,需求工程师要能够对收集到的信息进行甄别、分析,给出有价值的提案按,否则就容易被客户和程序员看成是“传声筒”。

1. 调研目的

需求调研的目的就是要搞清楚:客户对未来要导入的信息系统有什么具体的需要、要求。也就是搞清楚系统需要做什么的过程。
通过与客户进行直接的、面对面的沟通,采用包括问卷、访谈、绘图、收集原始资料等形式收集需求,并以图形、文字和表格的方式进行记录。“需求调研”与前面进行的“需求咨询”的两者的侧重点不同:
□ “需求咨询”是系统目标的前探、“需求调研”是系统具体内容的收集。
□需求咨询的对象是“客户”,包括企业决策层、信息化主管等,收集和确定的是关于战略、目的、未来等层面的指导性需求。
□需求调研的对象是“用户”,包括未来系统的全部使用者(不论其处于哪个层),收集和确定的是未来系统要开发的具体功能需求(为书写方便以下说明统称:客户,并定义客户包含用户)。
当然,小型的项目或是小型的软件公司对这两个阶段是不区分的,可在同一时间段内完成,大型项目一般是分开的,甚至咨询和调研交给不同公司来完成。

2. 调研作用

1)调研工作的作用
调研阶段的工作主要是对需求的收集和分析,一般来说,大部分对需求的收集和分析工作都是在客户现场进行的,需要对收集到的内容和分析结果与客户进行反复的讨论、确认,需求的分析结果是决定软件开发能否成功的基础,需求分析结果的质量对于软件的交付质量有着决定性的影响作用。
调研阶段的工作重点有两个:收集需求、分析需求,并根据需求分析的结果最终确认需要开发的系统功能,其中:
(1)收集需求:利用现状构成(图)、访谈记录(文)和既存表格(表)等三种形式进行具体的需求收集。
(2)分析需求:对收集到的需求按照进行目标需求、业务需求和功能需求进行拆分、归集、分析和确认。
需求调研阶段的工作有以下的几个特点:
□有了前期咨询的结果作为方向性的指导,不会出现找不到头绪的现象。
□调研对象为系统的全部客户,包括:经营层、管理层和执行层等。
□客户需求包括了目标需求、业务需求、功能需求等,是全层面、全方位的。
□需求内容涉及到企业战略、业务处理流程、具体的功能点、管控方式、系统硬件、部署环境等,既有业务方面的需求,也有技术方面的需求。
□调研内容非常具体,要给出流程分歧条件、界面上的字段、计算公式、预警通知等。
□前期咨询获得的目标需求等抽象内容,在这个阶段一定要落地,转换为具体的功能需求。
□这个阶段是软件公司与客户双方相互了解、对细节进行沟通的过程。

2)需求工程师的作用
需求调研的结果是后续设计和开发的输入、是客户项目合同验收的依据,因此,如果需求分析有了偏差或是遗漏,其结果就有可能导致后续的设计和开发工作都出现问题。反之,如果需求分析给出了非常全面、严谨、逻辑清晰的结果,就会让设计与开发工作可以非常顺利地推进。
需求调研的作用清楚了,那么从事这个阶段工作的需求工程师就应该认识到:
□需求工程师的行为代表着软件企业的专业水准。
□要精准地收集客户各层级对系统的需求、要求、痛点、期望等信息。
□需求工程师的能力越强,获取的需求真实性就越高、系统返工的风险就越小。
□调研分析成果将会极大地影响软件项目管理的三要素(质量、进度和成本),其中,
○质量:毫无疑问,需求分析成果奠定了系统的质量基础,需求的方向、逻辑以及细节发生了错误,再好的软件设计和高超的编码技术都没有意义。
○进度:除去工作效率以外,需求控制、需求调研的质量等都极大地影响着项目的进度,特别是要保证不发生或少发生需求失真的问题。
○成本:通过调研确认的功能数量多少、技术难度大小、以及项目质量和进度等都会影响到项目的成本。
■可以说,需求工程师的工作成果是决定质量、进度和成本的重要因素。

3. 调研能力

搞清楚了调研的目的和作用后,下面就要谈谈在这个阶段对需求工程师的能力要求。对需求工程师的能力要求与他的成果【需求规格说明书】有关,【需求规格说明书】是需求调研阶段最重要的交付物,需求工程师要熟练地掌握与客户交流的方法,完成听取需求、记录需求、分析需求和确认需求的一系列工作。下面主要从两个方面谈一下:必备能力、专业知识。

1) 必备能力
需求调研的主要目的是获取功能需求,调研对象主要是客户的中间管理层和执行层,决策层和高级管理层为辅,因此对需求工程师的沟通能力要求有所变化。下面从几个方面来看看必备能力。

(1)沟通能力
作为需求调研者,毫无疑问同样被要求具有较强的沟通能力。与咨询解答的沟通能力不同,除去要求听、说的要求外,优秀的需求工程师还需要具有比较强的“控场能力”,因为他的调研对象主体为中间管理层以下,与企业高层不同,这个层面的客户说话多用专业用语(因为是业务的执行者)、内容具体,且由于专业能力强有时会显得比较主观、略显强势,如果不具有控场能力,在调研现场常常会发生议题跑偏、沟通效率低下、沟通无结果的现象。
有一些有经验的企业信息化主管可能会非常坚持自己的要求(有时甚至是不容分说),要求必须按照他的指示去做,而需求工程师认为这样做会有问题,怎么办?如果你不能改变他的意见就要向信息化主管明确地说明这样做可能带来的风险,并要求他给出详细的需求、约束条件、期待的结果等,同时完整地记录留档作为将来发生问题时的凭证,在最大限度地为成功做好详细分析设计的同时保护好自己。
这里要记住:沟通,不等于只是去理解或迎合客户,沟通要包括说明、协调、争论、妥协等,不要担心与客户争论,如果客户清楚:按照他的要求做错了他要负责时,他也可能会改变做法。
在调研现场,可能一名需求工程师要面对数个或更多的客户,这对需求工程师来说可能是艰难的时刻,但也是你展现价值的最佳时刻。越争论就成长的越快。
与客户搞好关系非常重要,搞好关系则工作效率高、压力小。反之,搞不好客户关系的调研工作将会是一个“痛苦”的过程,但搞好关系不等于“就和客户”,经过争论得出最佳结果,避免了可能出现的风险客户会更加佩服你的专业和职业能力。

(2)动手能力
与咨询阶段相比较,调研阶段对需求工程师的动手能力要求会更强,如
□要会做速记,俗话说“好脑筋不如烂笔头”,这是基本功,速记的内容不但要写字、而且还要会快速地画草图等。特别是在现场能否抓住关键领导的关键语、关键逻辑,有时是决定需求方向的。
□要能在调研时,利用白板、PPT的手段现场做分析、确认工作,这个不但考验动手能力,而且还要考验勇气(站在众人的面前讲话、画图)。
□要能绘制各种的逻辑图,用图形分析问题、收集业务逻辑等(对需求工程师来说,确认业务逻辑和收集功能需求同等重要)

(3)文案能力
□要具有很强的抽提、归集、总结、提升的能力。
□要能编写解决方案、【需求规格说明书】、调研周报、执行计划等。
□要能够熟练地使用PPT、Word、Excel以及其他相关的软件。

(4)逻辑能力
和咨询工作一样,调研阶段的工作也都是以逻辑能力为基础支撑的。包括需求分析、逻辑图绘制、功能记录、数据收集、编写文档等一系列的工作都要求需求工程师具有很强的逻辑思维、逻辑表达能力。

2)专业知识
专业知识是需求工程师不可或缺的,专业知识要包括以下几个方面(不限于此)
□客户业务:具有很强的客户业务知识甚至是实践经验,这是取得客户信任的基础,比如:调研财务系统的需求,要有财务知识;调研项目管理需求要有PM相关的知识等,没有这个基础会被客户认为没有“共同语言”,是外行。
□调研方法:熟悉需求调研的内容、方法、路径,会编制里程碑机会与执行计划,以及需求的记录模板和调研交付物的标准等。
□分析方法:收集到的需求有虚有实,要能够甄别需求、并将目标需求转为业务需求、再将业务需求转为功能需求。
□其他知识:最好也有一定系统基础知识(不需要会编码),调研时可能会涉及到诸如:新系统与既有系统的关系、信息孤岛问题如何解决,需求成果与设计、开发和测试之间的关系等。
■能力,来源于将学习到的知识在实践中进行反复的应用、总结、积累。

4. 调研成果

需求调研完成后,要给出两个重要资料:【需求调研资料汇总】、【需求规格说明书】。
1)【需求调研资料汇总】
这是对收集到的原始资料进行的梳理、汇总,是需求分析的依据。从客户现场通过面对面的调研收集到的第一手需求资料,包括了用图形、文字和表格等方式记录的原始资料。这是需求发生误解时重要的溯源依据,一定要完整保留。

2)【需求规格说明书】
基于前述的调研资料进行分析,识别出了最终需要进行开发的全部内容,并且通过了客户确认,这个资料具有如下的意义。
(1)对客户:确定了系统需要开发/交付的全部内容,是双方签订/验收合同的依据。
(2)对软件商:是规划系统范围、目标、原则等的依据,是具体设计的输入、指导。
需求分析的结果,不但影响着需要实际开发的功能数量,而且也直接影响着软件项目的开发成本,甚至是对软件商技术的能力要求等。

■调研小结

对于在客户现场进行调研的需求工程师们来说,一个非常头疼的事情就是:如何做到可以与客户平等工作,往往因为对方是客户(出资者),所以总会让需求工程师有一些压力,这个现象是比较普遍的。造成这个现象的主要原因有两个。
1)软件商方面的问题
在软件行业、软件企业,甚至程序员中都普遍存在着“重编码、轻需求”的问题,对需求工程师的作用缺乏正确认识,从事需求调研工作的人往往也存在着能力比较低、不专业的问题,同时在学校、社会培训上也缺乏专业培训需求工程师的地方。

2)客户方面的问题
客户普遍对信息系统的构建过程不熟悉,认为需求工程师就是给开发工程师(程序员)“传话”的、是小工,不理解需求调研、分析是软件设计开发的重要前期工作(但他们完全知道在建筑业、制造业中设计师的地位是绝对第一的),所以常常会出现对需求工程师不尊重的现象。
解决上述问题的最佳方法,就是提升需求工程师的能力水平。

■关于需求调研和分析说明请参看李鸿君的“需求获取的三阶段:需求背景、需求调研、需求分析”、“分析方法的基础”等系列博文。

■本博文系列的下一篇:需求、需求工程与需求工程师 — 6. 设计的能力要求

关于调研阶段的能力的详细说明,请参考《大话软件工程—需求分析与软件设计》一书。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值