作者主页(文火冰糖的硅基工坊)
目录
2.1 概述
第1章 需求工程师主要做什么?
1.1 需求工程师的日常工作
IT需求就是软件或硬件系统要做什么。需求工程师主要有三大块的本质职责。
(1)需求调用:客户要做什么
- 收集外部客户或内部客户的业务需求
- 与客户进行沟通
- 修正原有需求
(2)需求分析:客户的需求转换成对软硬件系统的需求
- 客户的需求转换成对软硬件系统的需求
- 客户需求的技术可行性分析
- 与内部研发工程师的沟通、讲解
- 书写需求文档
(3)需求跟踪:需求管理全生命周期跟踪
- 市场招标支持
- 领导现场复杂故障问题的解决
- 参与内部的项目管理活动
- 需求全生命周期跟踪与支持
1.2 需求工程师的主要干系人
1.3 需求工程师需要用到的工具
需求工程师输出的是文档,如PPT或words,而不是代码。
(1)PPT
(2)Words
(3)visio(画图)
(4)xmind(思维导图)
(5)原型建模工具UML
(6)需求文档管理系统
- project
- excel
- jira
- 其他需求管理系统(不同公司,需求文档管理系统不同)
1.4 工作对象
1.5 需求工程师所需要的技能
(1)行业背景知识:如通信行业、电子商务、交通行业等
(2)沟通能力:与客户、产品经理、研发、测试、项目管理者沟通
(3)理解能力:客户的需求都零散的,有能把客户零散的表述转换成需要的能力
(4)解决问题能力:把客户的需求转换成软硬件解决方案的能力
(5)文档表达能力:需求是以文档的形式来承载的,要能一定的文档书写的能力。
(6)需求分析能力:熟悉需求分析的各种工具
(7)目标业务系统设计的能力:要熟悉目标产品的内部设计和业务流程,能够把需求转换成对应的模块设计、流程设计、接口设计。(不同的公司、目标系统的软硬件设计是不同的)
备注:
其中行业背景知识、目标业务系统设计的能力是最重要的技术技能要求。
第2章 需求管理概述
2.1 概述
是一种用于查找、记录、组织和跟踪系统需求变更的系统化方法,可用于获取、组织和记录系统需求并使客户和项目团队在系统需求变更上保持一致。
2.1 需求的层次
BR:Business Requirment,站在业务的角度。
UR:User Requirment,站在用户,系统的使用者角度。
SR:System Requirment,站在目标系统的实现的角度,这里的系统,通常是目标软件或硬件系统。
2.2 需求的输出
2.3 需求管理总流程
备注:
需求管理最主要的工作是需求收集与需求分析。
2.4 需求管理的数据流
2.5 需求全生命周期管理
第3章 端到端需求管理的详解
3.1 需求收集+开发(客户需求)
(1)需求的来源
- 外部需求(收集)
- 内部需求(开发)
(2)外部需求
- 客户需求
- 行业分析
- 竞争对手
- 展览
- 出版物
(3)内部需求
- 客户服务
- 产品经理
- 公司预研
- 业务部门
3.2 需求分析(客户需求到系统需求的映射)
(1)需求解释:把客户的需求转换内部系统的需求
(2)需求过滤:过滤掉不合理的需求
- 不合理
- 不匹配
- 已实现
(3)检视
(4)分类:根据功能,把需求进行规律
在大型公司中,需求的种类很多,不同领域有不同的需求工程师和产品经理负责。
需求分类是社会化分工的结果,提高了需求分析的专业性。
(5)排序:根据投资价值对需求进行优先级分类
在大型公司中,需求的数量是庞大的,而人力资源是有限的,因此,需要对各种需求进行优先级排序,不同的需求,有不同的优先级。
优先级排序,也是需求进入项目的依据,只有高优先级的需求,才会优先得到项目的处理,优先分配资源。
在大型公司中,需求的优先级排序是一个繁琐、反复、动态的过程。
(6)证实:验证需求合理性
(7)入库(进入组织的需求库)
3.3 需求分配(分配到某个项目的某个版本中)
(1)可行性分析:分析需求的技术可行性
(2)系统需求:把客户的需求转换系统的需求
- 系统需求范围
- 系统需求场景
- 系统需求条目
- 系统需求的实现所需要的人力资源估计(为进入项目的发布计划做好准备)
这里主要是项目管理的工作,就是把特定的需求,分配到某个待发布的软件或硬件版本中 。
以便通过项目管理来实现用户的需求、系统的需求。
3.4 需求实现/执行
(1)软硬件设计
(2)编码与实现。
3.5 需求验证
备注:不同层面的测试,是针对不同层面的需求规范。