产品团队的需求获取指南

一个开发项目要想成功,关键在于理解商业需求,并且确定正确的项目需求列表。需求获取就是通过与关键利益相关者(例如,项目经理、开发人员、最终用户等)进行沟通和协作,以获得项目的深入理解并确定项目的需求。

文章将进一步讨论为什么需求获取对产品团队(包括产品经理、开发人员等)如此重要,将探讨不同的需求获取技巧(即采用的方法和工具),并概括需求获取过程涉及的各个步骤(例如从初始的需求搜集,到需求的验证和确认,等等)。

一、什么是需求获取?

需求获取是指在软件开发、产品设计或项目管理过程中,挖掘和获取有关用户、客户或利益相关者需求的信息和数据的过程。它旨在识别和收集有关系统或产品功能、性能、约束和其他需求的详细信息,以满足用户的期望和需求。需求获取的主要目标是获得准确、全面和可理解的需求,为后续的需求分析、系统设计和开发提供基础。需求获取过程做的不好可能会导致系统缺陷甚至返工。

二、需求获取对产品团队的重要性

需求获取对产品团队至关重要,因为这是确定产品需求的主要途径。获取过程可以让我们从关键利益相关者那里揭示需求的内在含义。包括与领域专家深入交谈,精准提出问题,以及详细记录调研结果等专业技巧,来获取推动项目开展的业务需求。

如果未能正确地识别和理解业务需求,可能会导致开发成本超支,以及设计需要修改或者项目返工等问题。用户或客户无法得到他们真正需要的功能,最终可能导致项目失败。

三、需求获取的过程

有效的需求获取过程给产品团队带来的益处:

  1. 降低项目成本:通过在开发开始之前发现和解决需求问题,可以避免后期的返工和修正,从而降低项目的成本。通过准确获取需求,团队可以在项目早期就进行合理的规划和资源分配,从而提高效率并节约成本。
  2. 增加用户满意度:通过有效的需求获取,团队可以深入了解用户的期望和需求,提高产品与用户期望的匹配度,尽最大可能满足用户需求,从而提升用户体验,增加用户满意度和忠诚度。
  3. 降低项目失败的风险:需求获取是识别和理解项目需求的关键过程。通过与利益相关者进行良好的沟通和协作,可以清晰的定义需求,有助于团队在整个项目周期内明确要实现的目标,合理规划工作,并减少不确定问题的出现、降低项目风险。

需求获取过程通常包括以下五个主要步骤:

1.需求收集

可能有人会疑惑:“需求获取和需求收集有什么区别?”这两个术语经常交替使用。虽然这两个词在一定程度上可以互换使用,但在论及需求获取过程具体操作时,需求收集和需求获取之间存在细微的差异。

按照定义,“收集”通常指的是从多个分散的信息来源中整理信息,而“获取”则更倾向于从某个特定的来源中提取信息,这两个操作都必不可少,都需要专业的知识和技能。

在准备阶段,业务分析师要从所有可能的源头收集需求,并对这些需求深入研究。需求收集的技术可能包括:

  1. 文档分析,例如研究流程模型或法规要求
  2. 分析系统接口和业务规则
  3. 查阅现有的用户反馈等

通过需求收集,可以识别出关键利益相关者,以及确定哪些需求获取技术最适合本项目。然后,业务分析师可以根据经验来填补空缺的需求。因此,需求收集是需求获取过程的起点。

2.识别关键利益相关者

如上所述,需求收集有助于识别关键的利益相关者。在项目的初期确定正确的利益相关者至关重要,可以避免在项目进展过程中发现需求缺失,从而影响项目进度。

3.需求获取

头脑风暴 

适用场景:当前解决方案缺乏创新,无法达成项目目标。

目标:探索富有创意的思路和解决方案

操作步骤:邀请主要利益相关者一起探讨解决方案。作为引导者,业务分析师需要确保讨论始终围绕主题展开,并对讨论的结果进行记录。

焦点小组

适用场景:当业务分析师需要在有限的时间内获取特定信息时。

目标:帮助利益相关者更加坦诚和清晰地提出解决方案,一次获得大量信息。

操作步骤:组织利益相关者的代表形成焦点小组。主持人提出问题引导小组成员就特定的话题进行讨论,并记录讨论结果。

访谈

适用场景:从特定主题专家处获取深入的观点

目标:通过与利益相关者一对一交谈,获取他们对业务需求的看法或对解决方案的可行性见解。

操作步骤:提出问题让主题专家开放式作答。问题可以提前发给他们,也可以在对话进行时提出。采访者应作会议记录并与主题专家分享,以确保与他们的观点没有出入。

观察法

适用场景:当开发的项目是现有工作流程的扩展时。

目标:直接观察利益相关者如何执行特定流程。

操作步骤:观察可以被动地进行,也就是说在不打扰利益相关者的情况下观察他们的工作; 或者主动地进行,即在观摩利益相关者工作时进行提问。在两种情况下,都应记笔记,并让利益相关者对所收集到信息进行反馈。

原型设计

适用场景:当利益相关者无法理解书面形式的的技术需求,必须要通过产品的一个版本来演示时。

目标:通过观察利益相关者与产品示例的互动,来收集他们的反馈。

操作步骤:可以采用故事板、交互式屏幕、虚拟模型、导航流程等方式进行原型制作。根据项目不同来选择适合的展示方式,通常都是通过迭代流程进行制作。随着更多需求的提出,为了满足客户期望,在原型的基础上会加入更多细节。

需求研讨会

适用场景:时间紧迫且业务需求不明确时。

目标:在特定时间内,将利益相关者集中起来,以引出、提炼和编辑需求内容。利益相关者可以针对已确定的业务需求进行讨论,并立即给出反馈。

操作步骤:为研讨会设定清晰的时间框架和议程,包括头脑风暴、焦点小组和原型制作(如适用)等内容。利用这些机会来引导利益相关者讨论并记录他们的观点。

调查

适用场景:当业务分析师需要从大量参与者那里收集数据时。

目的:从大量客户或终端用户中收集客观的反馈。

操作步骤:根据标准选择参与者,创建清晰、无导向的问题。问题可以是多项选择题或开放式问题。为保证效果,需要根据提问的目的以及受访者的数量来决定分析结构。

在实际 操作中,业务分析师通常会采用多种需求收集技术来深入挖掘项目的业务需求。例如,业务分析师可能会在焦点小组上、头脑风暴会议中或观察期间提出关于需求的问题,也可以在需求研讨会前进行调查,或者在观察期间展示产品原型。要凭借我们的经验和判断力来决定哪些方式最适合特定项目的需求收集。

4.记录需求

下一步是记录已收集到的需求。需求记录的形式多样,包括但不限于产品需求文档(PRD)、政府规定的系统需求规范、需求管理工具(如PingCode)或电子表格。记录需求的方式取决于需求类型。

在利益相关者数目庞大、开发流程复杂、合规性要求繁琐或功能安全标准严格的项目中,建议使用需求管理工具,例如PingCode等。这些工具可以降低由于系统复杂和合规性要求严格所带来的相关风险。

5.确认发现结果

记录需求后,业务分析师需要确认对需求的理解没有出入。这些需求文档应发送给所有利益相关者进行审查,以确保所有人所要开发的内容理解一致。利益相关者可能会提出修改建议,从而启发新的需求,那么我们在批准前就需要对文档进行修改。

需求获取过程从项目启动时开始,一直贯穿整个开发过程。因为变更不可避免,我们不可能提前预知所有问题和所有正确答案。

四、获取需求面临的挑战

在需求获取过程中,可能会遇到的挑战有:

找到正确的利益相关者:有时会我们并不能顺利的确定正确的领域专家。“隐藏”的利益相关者可为是我们提供宝贵的信息,例如面向客户的销售/支持代表和维技术维护人员。

挖掘真正的需求:利益相关者有时候并不知道他们想要什么。在需求获取过程中,需要使用多种方法来识别真正的业务需求。需要使用适合特定项目的最佳技术组合。

记录需求:使用不适合的工具记录需求可能会影响工作流程。从审查和批准再到变更管理,所有环节都可能出现问题。小型项目或不受监管的项目可用电子表格或定制的产品需求文档(PRD)。然而,对于复杂的产品或受严格监管的产品,需求管理软件(如PingCode)则可以提供实时追踪和合规性管理等功能,从而简化需求获取的整个流程。

为变更做好准备:需求会发生变更,需求优先级也可能会发生变化。最好提前为变更做好准备。确保有既定流程、足够的时间来解决问题、记录变更、添加新需求,以及进行额外审查。

在需求变动较少或规模较小的项目中,使用电子表格或产品需求文档(PRD)来管理需求变更或许可行,但是这种方式可能需要花费大量时间,有可能导致项目预算超支或延期。

对于复杂产品或受到严格监管的产品项目,需求管理不善可能会造成时间和资金浪费。在这种情况下,我们就必须使用功能强大的需求管理工具,如PingCode,这类工具可以在需求发生变化时,可帮助我们更高效地管理需求,节省宝贵时间和预算。

五、优化需求获取流程

对于业务分析师来说,需求获取既是一门艺术,也是一门科学,提问技巧要高效,要有在恰当时候询问恰当问题的判断力。此外,他们还需要在整个需求获取过程中与主要利益相关者进行有效的沟通和协作。

对于那些处理复杂产品或受严格监管项目的业务分析师来说,仅依靠个人创建的产品需求文档(PRD)或电子表格来记录需求是远远不够的,必须要用PingCode 这样专业的需求管理工具。

需求管理

 需求管理指南: 

需求管理: 需求管理主要内容  |  需求管理的重要性  |  采用敏捷方法进行需求管理  |  如何克服需求管理的 5 大挑战  |  更多 

需求编写: 功能需求的示例和模板  |  采用 EARS 方法来改进需求工程  |  如何编写一份优秀的产品需求文档(PRD) |  功能性需求与非功能性需求的区别  |  有效需求的特征  |  更多 

需求收集和管理流程: 需求工程概述  |  产品团队的需求分析指南  |  敏捷产品团队的 11 种需求收集技巧  |  定义和实施需求基线  |  更多  需求的可追溯性: 什么是需求可追溯性  |  可追溯性在现代产品和系统开发中的关键作用  |  如何创建和使用需求追溯矩阵  |  更多 

需求确认和验证: 产品团队的需求验证和确认  |  更多 

需求管理领域文章:

 做好需求分析的4大关键认知  |  盘点国内9款热门需求管理系统  |  构建产品路线图的方法与工具  |  做好需求优先级判断的7种主流模型  |  采用敏捷方法进行需求管理  | 更多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/56267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI 浪潮下,W3AI 如何增强和激励 Web3 玩家研究和决策力?

更加个性化的 AI 服务是怎样的?近年来,不少主打 AI 服务的 Web3 初创项目开始兴起,凭借语音、文字、图像等全方位的用户数据跟踪和使用习惯定义,场景化的 AI Web3 产品开始围绕用户的工作、生活日常提供智能服务。这其中&#xff…

ModuleNotFoundError: No module named ‘pywt‘

报错 ModuleNotFoundError: No module named ‘pywt’ ModuleNotFoundError: No module named pywt解决方案 pip install scikit-image

C:函数原型声明时的参数列表

在C语言中,使用函数前,要么对函数进行了定义,要么对函数原型进行了声明,ANSI C形式的函数原型声明形式如下: void show(char ch, int num);函数原型用逗号分隔的形参列表指明参数的类型和数量,这里的形参列…

本质矩阵E推R和T

https://zhuanlan.zhihu.com/p/500798616 https://zhuanlan.zhihu.com/p/435306687

【MySQL系列】Select语句单表查询详解入门(SELECT,AS,模糊查询,运算符,逻辑运算符)

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

SCI论文创新思路

SCI论文创新思路 一、 创新的分类1、算法创新2、架构创新3、迁移创新4、思想创新5、方法创新6、组合创新 二、组合创新的必要性三、组合创新的流程四、组合创新举例1、组合创新公式2、生活中的例子3、关于CV的例子4、魔改的方法 一、 创新的分类 1、算法创新 比如提出CNN、LS…

【PHP面试题82】system和exec是用来做什么的?有什么区别

文章目录 🚀一、前言,PHP中system和exec命令的作用🚀二、system()函数🚀三、exec()函数🚀四、区别和应用场景🔎4.1 使用system()函数的应用场景🔎4.2 使用exec()函数的应用场景🔎4.3…

SpringCloud入门实战(十四)Sentinel微服务流量防卫兵简介

📝 学技术、更要掌握学习的方法,一起学习,让进步发生 👩🏻 作者:一只IT攻城狮 ,关注我,不迷路 。 💐学习建议:1、养成习惯,学习java的任何一个技术…

Linux线程篇(中)

有了之前对线程的初步了解我们学习了什么是线程,线程的原理及其控制。这篇文章将继续讲解关于线程的内容以及重要的知识点。 线程的优缺点: 线程的缺点 在这里我们来谈一谈线程健壮性: 首先我们先思考一个问题,如果一个线程出现…

【官方中文文档】Mybatis-Spring #目录

目录 此页面用于在GitHub上呈现索引。 NOTE: 由于链接目标是在使用maven-site-plugin转换为html的假设下指定的,因此在GitHub上的呈现中有一个锚点已损坏。 简介入门SqlSessionFactoryBean事务使用 SqlSession注入映射器Spring Boot使用 MyBatis APISpring Batch示…

Ubuntu22.04安装中文输入法►由踩坑到上岸版◄

Ubuntu22.04安装中文输入法►由踩坑到上岸版◄ 了解入坑上岸 更新一发:Gedit中文乱码问题的解决 为了方便回忆和记录甚至后面继续重装系统,我还是写一下以便将来用到或参考~ 了解 安装Ubuntu22.04(截至2023年08月26日11&#xff…

基于JavaFX的贪吃蛇小游戏

游戏背景介绍 贪吃蛇游戏是一款经典的小游戏,它的玩法很简单,就是控制蛇吃食物,每吃一个食物蛇的长度就会加一,直到蛇撞到墙壁或者撞到自己时游戏结束,最终的得分是蛇的长度减一。 JavaFX 用Java开发桌面端首选就是J…

shell脚本——循环语句、sed、函数、数组、免交互expect

目录 循环语句 for while 与 until sed 基本用法 sed脚本格式 函数 注意事项 定义函数和调用函数 脚本中函数的位置 查看函数 删除函数 函数返回值 函数的传参操作 使用函数文件 递归函数 数组 声明数组 数组切片 免交互expect 定义 基本命令 循环语句 …

python3/pip3 SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

环境: mac os 背景: 电脑之前安装的是python3.9 , 现在升级到python3.10。 从python官网下载macos版本的python3.10 pkg。 双击安装。 程序使用aiohttp访问ebay 。 出错: aiohttp.client_exceptions.ClientConnectorCertifi…

MySql015——使用子查询

一、创建customers表 ######################## # Create customers table ######################## use study;CREATE TABLE customers (cust_id int NOT NULL AUTO_INCREMENT,cust_name char(50) NOT NULL ,cust_address char(50) NULL ,cust_city char…

QuickLook概述和使用以及常用插件

1、QuickLook概述 QuickLook: 是可以快速预览的工具,开源、免费。通过空格键即可快速查看文件内容。 文件无需打开就可以用QuickLook一键快速预览。 说明文档:https://en.wikipedia.org/wiki/Quick_Look github地址:https://git…

基础shell小技巧002

1. 使用if-then语句 如果之前用过其他编程语言的if-then语句,那么这种形式可能会让你有点儿困惑。在其他编程语言中,if语句之后的对象是一个等式,其求值结果为TRUE或FALSE。但bash shell的if语句并非如此。 重点:bash shell的if…

hive 动态分区-动态分区数量太多也会导致效率下降只设置非严格模式也能执行动态分区

hive 动态分区-动态分区数量太多也会导致效率下降&只设置非严格模式也能执行动态分区 结论 在非严格模式下不开启动态分区的功能的参数(配置如下),同样也能进行动态分区数据写入,目测原因是不严格检查SQL中是否指定分区或者…

如何让qt tableView每个item中个别字用不同颜色显示?

如何让qt tableView每个item中个别字用不同颜色显示? 从上面图片可以看到,Item为红色,数字5为黑色。 要实现在一个控件实现不同颜色,目前想到的只有QTextEdit 、QLabel。有两种方法,第一种是代理,第二种是…

yolov5添加SimAM注意力机制(yolov7同理)

SimAM注意力机制简介 关于SIMAM注意力机制的原理这里不再详细解释,这篇发在Proceeddings of the 38th Internation Conference on Machine Learning.论文参考如下论文链接here   yolov5中添加SimAM注意力机制 注意力机制分为接收通道数和不接受通道数两种。这次属于不接受通…