对需求工程师的能力要求是什么?在回答这个问题前要先定义他的工作范围和岗位。在软件行业中,“需求工程师”的工作范围不太确定,如:在大型软件公司或是大型软件项目中,他的工作是“需求调研”,仅负责将收集到的客户需求转达给软件设计师;但在小型软件公司或小型软件项目中,他的工作范围可能从售前咨询到软件设计,同时扮演了“咨询、调研、设计” 三个角色,此时他的工作决定了系统的内容、形式,甚至系统价值的大小、客户满意度的高低。
因此,判断需求工程师必须具备的能力需要根据他所在的公司、岗位定义而定。

这里不考虑软件公司和软件项目的规模影响,从“广义的需求工程师”定义入手,对需求工程师可能涉及到的三种不同工作(咨询、调研、设计)所需要的能力做个说明供参考。由于这三个工作的内容不同,需要的能力有不同,所以先对需求工程师的工作范围进行一个定义。将软件开发的全过程分为两个阶段,从接触客户咨询开始到完成全部设计为止,称为一阶段,从编码到测试为止称为二阶段,参见图1。

图1 需求工程师的工作范围示意图

在一阶段中需求工程师承担了大部分的工作,包括:
1)咨询(售前咨询、提方案等)
2)调研(需求的调研、分析等)
3)设计(规划、架构、设计等)

由于软件行业没有统一的标准,因此你可以认为这是三个不同的独立岗位(咨询师、分析师、设计师),也可以理解为就是一名需求工程师所必备的三种能力。从图1中可以看出,一般来说大多数软件企业需求工程师的工作重心都在“2.调研”位置的前后,需求工程师向前方多努力一下,就可以接近咨询师的岗位,向后方多学习一下,就可以接近设计师的位置,可以说需求工程师的职业发展空间是非常大的。下面以一名需求工程师要具备三种能力的视角对内容展开说明。

下面用三篇博文分别说明对这三个部分工作能力的参考要求,对每个工作都从4个维度来描述:工作目的、产生作用、必备能力、交付成果。

第一篇介绍对咨询和咨询能力的要求。

对需求工程师的第一个要求是“咨询能力”,在软件工程中咨询阶段是排在第一位的,如图2所示。因为咨询需要有比较全面的知识、经验做基础,通常需要有十年以上的实践积累才能具备自如应对的工作能力,因此咨询能力是三个能力中要求最高的。

图2 咨询工作的位置

1. 咨询目的

咨询,严格地说它也是需求调研的一部分,通常将签订软件开发合同前对系统导入背景的了解、客户高端访谈以及软件公司能力介绍等方面的交流称之为咨询(或称:前期咨询、售前咨询、高端咨询等)。通过这个咨询,软件商与客户之间可以进行初步的沟通、交流,相互探明目的和意图。通过这个咨询双方可以确定如下的内容(不限于此)

  1. 软件商对客户:企业的业务范围、行业地位、未来发展方向等初步的概况了解。
  2. 客户对软件商:软件商的规模、实力、经验、行业地位、信任度等。
  3. 客户提出系统的目的:要解决什么问题、系统的构建内容、大概的预算与时间等。
  4. 软件商回应客户目的:提出自己的基本理念、思路、设想、方案等响应客户的目的。
    咨询的目的可以用一句话来概况:相互了解、确定信任,为签订合同做准备。

2. 咨询作用

1)咨询工作的作用
在进入到软件的开发工作之前的阶段,与客户所有沟通和交流的目的都是在获取需求,特别是对大型项目来说,在签订合同之前的高端咨询阶段,软件商会派出“专家型”的人来担当这个阶段的客户交流,这个阶段的咨询工作有几个特点:
□合同尚未签订,具体信息系统做什么内容尚未确定,能否签约取决于咨询的结果。
□此时客户参与的多为系统导入的决策者,如:经营者、高级管理者以及信息化主管等。
□客户的需求多为系统的目标需求、业务需求等内容,较少谈及系统的功能需求。
□需求会涉及到企业的发展战略、现存的主要问题及公司对信息化的期待等内容。
□交流中谈到的内容可能会比较抽象,需求也多为隐性需求,如企业管理理念、发展方向、经营者的战略目标等,需求工程师要去引导、发掘、判别、确认这些抽象内容背后的真实需求。
□双方相互摸底、试探,确认对方的底线:需求范围、系统效果、开发能力、成本效益、工期资源、以及与潜在竞争对手的对比等。
■可以说:咨询交流基本上决定了这个系统对双方的价值。

2)需求工程师的作用
咨询工作的作用清楚了,那么从事咨询工作的需求工程师就应该认识到:
□你代表的是软件企业的最高专业水准,你应该是“软件商的名片”。
□你是全面阐释、宣传软件商对该项目的理念与主张的“传道士”。
□通过咨询建立的起点高,则整个项目的起点高、总价值也会高(对软件商与客户双方)。
□利用自己的知识和经验为客户决策者充当参谋、顾问,对客户决策有导向作用。
□重点是要与客户项目的决策人进行沟通、获取客户的目的、期望等目标需求;
■可以说,咨询工作的担当者是决定项目能否成交、成交价值大小的关键人物。

3. 咨询能力

搞清楚了咨询的目的和作用后,下面就要谈谈对这个阶段需求工程师“作为咨询能力”要求。作为咨询者具有的能力当然越多越好。在第一次与客户高层交流时,往往时间是限定的,如何在短时间内留下好印象,抓住机会为下一次的接触打下基础至关重要。下面主要从两个方面谈一下:必备能力、专业知识。

1) 必备能力
下面从听、说、看、读、做、思几个方面来看看必备能力。

(1)理解能力(听)
咨询工作的第一位能力就是沟通能力,而沟通的第一步是先要能够听得懂。能否理解客户高层的谈话要旨、隐性需求?能否从高层的视角看问题?。一般企业的经营层、高管层的水平很高,他们的需求往往是通过理念、思想、主张、期望、战略等层面的内容、用语表达出来的,言简意赅,很多的关键信息就隐藏在其中,此时需求工程师要能够瞬间听出要点做出反应、给出响应,所以“会听”非常重要。

(2)语言能力(说)
能否展示出软件商的理念、优势、提案以及在服务方面的能力?不能展示就无法表示软件商的主张。这里要特别注意的是,你能够和客户的一般员工沟通,不等于有能力和企业高管沟通,两者需要的能力是不同的,后者是作为“咨询师”所必须特别具备的能力。与一般客户员工沟通可以使用“大白话”,表明你接地气,但是与客户领导沟通就不能使用“大白话”,这会显得你的水平低、层次地、能力低,这就需要需求工程师有一定的语言修养。

(3)观察能力(看)
交流时,特别是在发言时要时刻观察听者的表情、环境的变化,要会“察言观色”,通过观察来判断沟通的效果、内容是否合适,快速决定后面讲述的内容是否需要改变,以期你的发言始终能够吸引听者的注意力、保持兴趣。切记不要按照你自己的预设思路不顾一切地说完自己主张,听者对你的发言没有兴趣了交流就可能失败。

(4)阅读能力(读)
读,主要指的是能够从收集到的客户背景资料中“读出有效信息”来,在进行第一次咨询前一定要详细地阅读所有的背景资料,通过阅读资料找出关键点,这是在面对面交流时有底气、能够抓住客户兴趣的保证。所谓的“不打无准备之仗”的“准备”,相当一部分就指的是阅读背景资料。
注1:阅读与观察都是“用眼看”,但是需要的能力不同:
○观察:看的是动态的对象,不知道下一步有什么变化,要快速反应、丝毫不能有怠慢。
○阅读:看的是静态的对象,可仔细揣摩、反复考虑,建立交流主线、逻辑架构、关键节点。

5)文案能力(做)
交流的手段不仅仅限于听、说和读的能力,还需要制作可视资料,比如纸质资料、PPT等进行演示交流,这种方式既可以做到定性,还可以做到定量,这就牵涉到文字表达和图形表达的能力。
□文字表达能力:通过写字的方式,可以将你的主张、逻辑等“写出来”。
□图形表达能力:通过画图的方式,可以将你的主张、逻辑等“画出来”。

(6)逻辑能力(思)
最后谈一下逻辑能力,逻辑能力是前面所说能力(听、说、看、读、做)的基础支撑!向他人表达的所有内容其背后支撑都是思维的结果。在咨询前必须要建立好自己所要讲述内容的逻辑框架,咨询时根据对象的反应可以有调整,但是逻辑不能乱。
短时间内是否能够达成咨询目的,清晰的逻辑框架起着重要的影响。为什么要强调“短时间内”呢?因为如果有充分的时间进行反复沟通,听者最终是可以理解需求工程师所讲的内容的,但现实是第一次交流给需求工程师的时间往往很短,必须在有限的时间内表达出你的想法,否则可能没有第二次机会了!思维能力的提升需要长时间、反复的训练才能达到。

2) 专业知识
专业知识,是前述需求工程师作为咨询者所有能力的支撑、基础。对咨询阶段的专业知识要求是比较综合的,而且越广泛越好,可以从三个方面考虑要具有的专业知识。
(1)咨询知识
是否具有丰富的咨询知识以及相应的方法论,包括听、问、说、写、综合提案等方面的知识。

(2)业务知识
是否具有与系统相关的客户业务知识,这里包括该客户所从事的业务领域知识、通用的管理知识等。

(3)IT知识
是否清楚软件行业的最新技术、企业信息化的发展方向、懂得需求调研分析和软件设计的知识、以及有与客户系统类似的案例经验等。
当然,能力是由知识和经验共同构成的,除了掌握上述的知识外,还要有与上述知识相对应的实践经验。

■能力,来源于将学习到的知识在实践中进行反复的应用、总结、积累。

注2:软件行业与非软件行业的咨询师是有区别的。
两者虽然在客户业务知识方面都是非常的专业,但是软件行业的咨询师必须要给出在信息化环境下(使用信息系统)的业务优化效果;而非软件行业的咨询师给出的是不考虑信息化效应的业务优化效果。由于咨询结果必须是以信息化环境中运行为前提的,所以软件行业咨询师除去专业的业务知识外,要必须要具有信息化建设相关的知识和经验。

注3:作为咨询师的着装
这是个题外话,与一般的需求工程师不同,作为咨询师出场时,得体的着装可以给客户留下职业、可信、博识的感觉,穿得太随意会显得你对别人不够尊重。参考(男性):必须穿有领子的上衣(四季)、稍微高档一点的记录本和笔、深色电脑包、最好佩戴手表(表明你注重时间)等。
除了专业知识外,作为咨询师还需要有相当的实践经验,因为知识和经验是支撑能力的两个支柱,经验需要时间的积累,这里就不多谈了。

4.咨询成果

咨询阶段有两个比较重要的交付资料:现场展示型资料(如:建议提案)、文书型资料(规划书)。编制两类资料都要求如下的表达能力
□展示型资料:用于介绍软件商的产品、提案、解决思路等,常用PPT软件制作。
□文书型资料:用于文章体的形式,体系化地介绍方案、案例等,常用Word软件制作。
切记:谨慎使用夸张、炫酷、拉大旗作虎皮式的宣传方式,这会影响有经验的高端客户对你的专业性、可信性的感受。
请参考李鸿君的“如何用PPT编制方案”系列博文

■咨询阶段小结
需求工程师在作为咨询师出场时要注意以下的内容
1)咨询是签订开发合同前提,也是正式展开需求调研与分析的工作输入,它收集了客户导入系统的目标和方向、企业经营管理的原则和理念、系统涉及到的范围和主线等。
2)咨询师是咨询工作的主角,他的咨询结果极大地影响后续的项目的定义、合同、范围、规模、复杂度、成本、效果等。
3)咨询师的专业程度、咨询效果,对后续调研、设计、开发过程中,双方是否能够进行“相对平等”工作也有着至关重要的影响,做得好,客户会将软件商看成是“专家、老师”,效果不好,则被看成是“小工、码农”,有可能工作得比较憋屈。

■本博文系列的下一篇:需求、需求工程与需求工程师 — 5. 调研能力的要求

如果需要进一步了解需求工程师在咨询时的方法,请参考《大话软件工程—需求分析与软件设计》一书。

需求、需求工程与需求工程师 — 4. 咨询能力的要求相关推荐

  1. 需求、需求工程与需求工程师 — 3. 需求工程的构成

    需求的概念有了,但是如何系统地.高效地获取需求?获取需求的流程是什么.有哪些步骤.每个步骤对应的方法.标准是什么?等,解决这些问题就需要建立一套标准的需求获取方法.需求工程就是用来解决上述问题的方法, ...

  2. 需求、需求工程与需求工程师 — 6. 设计能力的要求

    在软件行业中,"设计"一词既熟悉又陌生,理论上大家都知道软件开发前需要做设计,但是具体要说明什么是设计.设计包括的内容.方法.交付物.标准以及由谁来设计时,却又说不太清楚(除去一些 ...

  3. 需求、需求工程与需求工程师 — 2.需求的来源

    软件的需求是从哪里来的?可能你会毫不犹豫的回答:从客户那里调研来的.这只回答对了一部分.简单的.小规模的.技术含量不高的软件功能基本上是依据客户提出的需求完成的,而复杂的.大规模的.技术含量高的的软件 ...

  4. 需求、需求工程与需求工程师 — 1.定义、作用

    在软件实现的过程中,需求分析的正确与否是软件成功的基础和前提,需求内容不但包含了客户对软件的期望与要求,同时它也影响着系统采用的架构方法.实现技术等.需求工程质量的优劣,直接影响着后续设计工程和开发工 ...

  5. 需求分析师应具备的几项能力

     需求分析师应具备的几项能力(不断总结中) 转载▼   1.沟通能力: 1)与客户:通过与客户交谈,挖掘本质需求. 举例:有时候客户会提出增加一个字段,一线的实施人员或销售人员没有问清楚为什么要加 ...

  6. 【需求工程】需求管理

    需求标识与分类 需求以自然语言进行描述,应该以某种标识方案进行编号. 几种常见的需求标识和分类的技术: 唯一标识符:一个顺序号,手工方式或CASE工具自动生成. 文档层次内的顺序编号:考虑需求在文档内 ...

  7. 社区疫情防控平台需求工程--软件需求规格说明

    软件需求规格说明 (IEEE 830 标准) a. 引言........................................................................ ...

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

    完成了客户背景的调研准备后,就进入到了与客户面对面进行需求调研的阶段,事前要搞清楚:调研什么.怎么调研.向谁调研.调研成果如何收集.如何记录,还有调研中采用什么样的流程.方法,还要搞清楚:调研到什么程 ...

  9. 软件需求管理(二) 需求获取

    一. 需求获取概述 1.1相关概述 软件需求获取是软件工程的主体. 主要表现为: 发现问题->分析问题->解决问题 的过程. 需求获取阶段主要产生的文档:1.前景和范围文档 2.用例说明文 ...

最新文章

  1. 剑指offer全套题解:Python版
  2. 深夜更新鸿蒙OS生态服务,华为频频深夜更新,HMS生态服务范围不断扩大,离替代谷歌不远了?...
  3. angular6的响应式表单
  4. matlab数字仿真实验,DVR+备用电源自动投入的MATLAB数字仿真实验仿真实验
  5. plsql视图添加表字段_教你不到两分钟,快速创建数据透视图
  6. 重庆师范大学第一届ACM选拔赛(公开赛)G-团日活动
  7. java线上调试小结
  8. Hover属性的充分利用
  9. python第七章_Python第七章
  10. bootstrap弹出框居中
  11. CCF NOI1046 打印方阵
  12. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_1_IO概述(概念分类)...
  13. 三菱PLC定位控制1
  14. f452虚拟服务器,中兴f452网关,超级用户的密码如何获得,启动路由功能
  15. Android反射系统截图Api
  16. 基于似然比检验统计量的异常轨迹检测
  17. .net core系列源码地址介绍
  18. 赚钱鬼才:即使开放外部支付,苹果App Store仍坚持收取佣金
  19. linux没有semanage命令,semanage命令
  20. 盘点常见的7种网络安全威胁

热门文章

  1. 心动的本质是什么_那一刻,我怦然心动了......
  2. 测试管理 | 测试经理定义和实施测试度量
  3. 洛谷 P1219 八皇后题解
  4. $.ajax的标准写法
  5. 201771010109焦旭超《面向对象程序设计(java)》第十六周学习总结
  6. SSH-key连接原理
  7. html5学习之路_003
  8. java就业培训教程 第一章读书笔记
  9. Silverlight教程第二部分:使用布局管理 (木野狐译)
  10. Golang——延迟调用defer