从用户故事说起,谈谈怎么写TAPD的需求说明

2023-10-27

“公司经常用 TAPD 来进行需求管理与敏捷迭代,那么针对 TAPD 上的第一步需求记录应该怎么写呢?本人就做了一个小小的总结与归纳,助力产品更加方便准确地完成需求的填写!”

什么是需求

需求 = User Story,用户故事是从用户角度来描述用户渴望得到的功能。 用户故事包括三个要素:

  • 角色:谁要使用这个功能;
  • 活动:需要完成什么样的功能;
  • 商业价值:为什么需要这个功能,这个功能带来什么样的价值。

这些知识在我们日常的产品工作中都能接触到,大家或多或少都会理解到这个意思,但是实际做起来的时候总是发现这个功能很难做,那个东西没考虑到,然后手忙脚乱的一通补救,最后发现,做了很多没用的东西也浪费了很多时间。

需求挖掘是常说的一个词汇,很多产品经理也知道要去挖掘这个需求,知道用户真正要的是什么,但是为什么还是很多人挖掘不到真正有效的需求呢?我总结一下,大概有以下 2 点原因:

认识不清楚什么是需求

需求的定义在上方已经说清楚了,但是很多人往往看了一眼然后就记住了一个大概就忘了,感觉需求好像就是用户需要什么,然后要求什么的,这个应该就是需求吧!

需求 = User Story
需求 = User Story
需求 = User Story

说了三遍后,我们知道了需求就是用户故事,好的,现在我们记住了:需求就是用户故事,那么用户故事是什么呢?

不知道什么是用户故事

用户故事我们也在上面说了:「用户故事是从用户角度来描述用户渴望得到的功能。 用户故事包括三个要素……」

用户故事是从用户角度来描述用户希望得到的什么功能,然后像讲故事一样说出用户的需求和期望的功能。那么这样的话,用户故事的重心又来到了——故事,这个词上面。于是我们有了用户故事的三要素,其实就是告诉我们,要怎么去讲好一个用户的故事:

As a… (作为…角色或岗位)
I want… (我想…希望做什么)
So that… (以便…达到什么目的或商业价值)

知道了用户故事后,我们来谈谈需求沟通

一般情况下,我们公司有几种需求沟通的情况:

  1. 口头沟通或者描述;
  2. 填写需求申请表,让用户进行描述需求,然后期望怎么样;
  3. 产品自己现场了解,然后记录相关需求;
  4. 其他方式记录需求;

这里的方法在不同的公司都不一样,但是大体上来说,需求的收集很多时候都是较为快捷或者是短促的,我们并没有更多的时间去针对一个需求与用户或者当事人交谈很久。于是,很多时候,我们记录了需求之后,自己想想差不多是这样的,这样搞应该没问题,然后就开始动手画流程,画原型,出文档,然后就去评审或者先评审了再去画原型和出文档。

这里我想说的是需求的收集可以有多样性,但是产品一定要学会用 User Story 的方式来核实需求,当你用这种方法填写到 TAPD 里面的时候,你就可以知道这个需求大概要怎么做或者是有什么没有考虑清楚的。

例如:当你要新增一个导出功能的时候,你当时可能只是想到了用户需要这个数据,然后说我要给他做一个导出功能,这样好像没问题。然后问问要导出什么字段,要什么格式等等。但是如果你没有用 User Story 的方式去梳理的话,有可能就会遗漏一些东西。

导出功能的用户是谁?是谁提出的这个需求?没提需求的用户也是这个功能的用户么?

用户想要这个功能干嘛?是想导出数据,然后制作报表,还是只是想用这些数据来看看进展或者是其他。导出功能除了要这些字段之外,是否还需要其他字段,用户使用的时候要怎么点击,然后怎么反馈?

用了这个功能后用户达到了什么目的?收益是否大于开发的成本支出?这个功能是否满足了用户的需求?是否让用户提升了效率或者带来了舒适的体验感?

USer Story 虽然简单,但是日常工作中还是很多人会忽略掉它所内含的东西,而导致需求分析不到位,产品做出来遗漏的点也会少了很多。

其实正常的工作中,更应该让用户按照这种模式去提出需求,让产品经理更好的梳理这些东西!同时在需求池里面按照这样的模式填写之后,还会让开发更准确的知道开发这个的目的,同时还能根据这个思路来反推,看看产品设计的东西是否科学合理,还有没有漏洞!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从用户故事说起,谈谈怎么写TAPD的需求说明 的相关文章

  • XML - XML学习/XML文件解析器(C++)实现

    XML XML学习 XML文件解析器 C 实现 XML概述 XML是一套定义语义标记的规则 这些标记将文档分成许多部件并对这些部件加以标识 它也是元标记语言 用于定义其他与特定领域有关的 语义的 结构化的标记语言的句法语言 XML与HTML
  • 05-java常用api类

    1 String类 String 类在 java lang 包下 所以使用的时候不需要导包 String 类代表字符串 Java 程序中的所有字符串文字 例如 abc 都被实现为此类的实例也就是说 Java 程序中所有的双引号字符串 都是
  • UE4快速导入Blender模型——Send to Unreal 插件使用

    下载地址 https github com epicgames blendertools blender安装Send to Unreal插件 设置自定义路径 打开UE4 插件 搜索 Python Editor Script Plugin 勾
  • lua小结

    1 JIT可以编译优化清单 http wiki luajit org NYI 2 lua数组的下标是从1开始的 在没有指定赋值的情况下 C语言的数组下标是从0开始的 3 逻辑表达式and or not用法 local a b and C o
  • 【Leetcode】MySQL:数据库简单题(577 员工奖金)

    577 员工奖金 1 题目描述 选出所有bonus lt 1000 的员工的name及其bonus 2 具体实现 Write your MySQL query statement below left join null select na
  • Devs--开源规则引擎介绍

    Devs Devs是一款轻量级的规则引擎 开源地址 https github com CrankZ devs 基础概念 此规则引擎的基础概念有字段 条件 规则等 其中字段组成条件 条件组成规则 并且支持多个条件通过与或组成一个规则 下面用常
  • 一短文读懂编译型与解释型编程语言

    在编程世界中 我们经常听到编译型语言和解释型语言这两个术语 它们是什么 有什么区别呢 让我们一起来探讨一下 编译型语言 编译型语言 如C Java等 是一种需要先被编译成机器代码 然后才能被执行的语言 你可以把它想象成一个笔译员 他会先把你
  • 用电器分析识别装置(2021 年全国大学生电子设计竞赛H题)

    用电器分析识别装置 2021 年全国大学生电子设计竞赛H题 摘要 1 系统方案 1 1 用电器分析识别装置的原理和结构 1 2 方案论证 1 2 1 系统供电论证和选择 1 2 2 采样方法论证和选择 1 2 3 采样芯片的型号选择 1 3
  • 爆款短视频剪辑方法技巧,这样剪辑出来的短视频更容易爆,收藏

    爆款短视频剪辑方法推荐 这样剪辑出来的短视频更容易爆 前面几篇内容 我们从定位到脚本结构 再到选题 再到互动点和内容各方面都为短视频做好了素材准备 后续我们也开始知道怎么写自己的文案了 也告诉大家什么是一个好的表现力 还有我们的景别 我们的
  • 内核对象

    内核对象 1 什么是内核对象 内核对象是内核分配的一段空间 如文件对象和进程对象等 可以用Windows提供的函数来创建相应的内核对象 创建成功后返回一个对象句柄 并且对象句柄值是进程相关的 程序不能直接操作内核对象 只能通过Windows
  • MFC学习笔记 — C++如何执行.exe文件

    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX 作 者 文化人 XX 联系方式 或进群 471144274 XX 版权声明 原创文章 欢迎评论和转载 转载时能告
  • 随机森林实例(R语言实现)

    1 可以先查询一下路径 可以是数据所在的路径 需要更改路径的话用setwd 路径 2 安装需要的包并使用 install package 包名 library 包名 randomForest 随机森林包 caret 常用于机器学习 数据处理
  • 【22-23 春学期】人工智能基础--AI作业9-卷积3-XO识别

    1 For循环版本 手工实现 卷积 池化 激活 import numpy as np x np array 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  • 基于51单片机的智能照明控制系统

    功能 基于51单片机的智能照明控制系统 以51系列单片机为核心 使用光敏传感模块 采用ADC0832对光敏电路进行AD转换 红外传感模块与声敏传感模块组成检测装置 并采用PWM对照明灯的光强度进行控制 1 本设计分为手动模式和自动模式 可通
  • MyBatis-Plus 3 实现批量新增和批量修改

    1 批量更新 mapper 接口 批量方法插入 void batchInsert Param users List
  • 智能合约开发solidity编程语言实例

    智能合约开发用solidity编程语言部署在以太坊这个区块链平台 本文提供一个官方实战示例快速入门 用例子深入浅出智能合约开发 体会以太坊构建去中心化可信交易技术魅力 智能合约其实是 执行合约条款的计算机交易协议 区块链上的所有用户都可以看
  • Cascader 级联选择组件

    乌鱼子 一开始级联组件使用的是ElementUI 但是有一个bug 我自己做的是一个二级级联 在选择了二级之后 点击x删除选择 再打开下拉框 一级和二级都是展开的 翻遍了文档都没有查到解决资料 然后问了我们一个前端同事 他说这是Elemen
  • 网站密码明文传输解决方案js+java

    解决密码明文传输的方案 基本有两种解决方案 1 将项目网站全站升级为https协议 如果要更谨慎 还需要加密 2 将密码进行加密后 在后台解密 因项目升级https时间周期太长 将暂时替代方案改为RSA加密解密方式 最简单的方案 前端加密
  • Deeplearning4j 实战 (13-2):基于Embedding+CNN的文本分类实现

    Deeplearning4j 实战 13 2 基于Embedding CNN的文本分类实现 Eclipse Deeplearning4j GitChat课程 Deeplearning4j 快速入门 专栏 Eclipse Deeplearni
  • 解决FreeRTOS程序跑不起来,打印调试却提示“Error:..\FreeRTOS\port\RVDS\ARM_CM3\port.c,244“的方法

    前言 今天来分享一个不会造成程序编译报错 但会使程序一直跑不起来 并且通过调试会发现有输出错误提示的错误例子分析 话不多说 我们就直接开始分析 首先 我们说过这个例子在编译时候没有明示的错误提示 也可以说没有语法和逻辑之类的错误 应该是程序

随机推荐

  • Tomcat启动项目出错之45秒限制

    今天启动项目 发现项目启动时候并没有报错 但是启动到一半的时候停下来了 并且会提示xxx45m之类的 原因是Tomcat默认启动项目的时长为45秒 如果45秒内项目没启动好 就会停止启动 我们可以通过修改配置文件而达到更长的启动项目时间 1
  • Unet复现:遇到 block: [0,0,0], thread: [594,0,0] Assertion `t >= 0 && t < n_classes` failed.题

    复现参考链接 http t csdn cn sAPq1 在训练自己用labelme标注的图片时遇到上面提到的问题 经过网上的分享总共分下面几种情况 但是都还是无法解决我遇到的问题 最后排查代码才找到问题 1 原作者说的一种情况 http t
  • ChatGLM-6B

    ChatGLM 6B 是一个开源的 支持中英双语的对话语言模型 基于 General Language Model GLM 架构 具有 62 亿参数 结合模型量化技术 用户可以在消费级的显卡上进行本地部署 INT4 量化级别下最低只需 6G
  • 基于Matlab的量子粒子群算法优化单目标问题

    基于Matlab的量子粒子群算法优化单目标问题 量子粒子群算法 Quantum Particle Swarm Optimization QPSO 是一种基于自然界粒子群群体智能算法的优化方法 QPSO算法通过引入量子力学的概念 将传统粒子群
  • Open AI 自监督学习笔记:Self-Supervised Learning

    转载自微信公众号 原文链接 https mp weixin qq com s biz Mzg4MjgxMjgyMg mid 2247486049 idx 1 sn 1d98375dcbb9d0d68e8733f2dd0a2d40 chksm
  • Python自动化测试框架:Pytest和Unittest的区别

    pytest和unittest是Python中常用的两种测试框架 它们都可以用来编写和执行测试用例 但两者在很多方面都有所不同 本文将从不同的角度来论述这些区别 以帮助大家更好地理解pytest和unittest 1 原理 pytest是基
  • spring缓存注解@Cacheable和@CacheEvict,设置过期时间和批量模糊删除

    spring缓存注解 Cacheable和 CacheEvict 设置过期时间和批量模糊删除 配置 CacheManager 类 key前缀配置 RedisCache配置 RedisCache 模糊匹配删除缓存 Cacheable Cach
  • html+css实现3D相册

  • 一文了解全球AIGC模型

    文章转自 首席数字官 ID ChiefDigitalOfficer 2022年9月6日 一幅由AI生成的画作 太空歌剧院 点燃了AIGC星星之火 ChatGPT的横空出世使AIGC浪潮以燎原之势席卷全球 AIGC开始融入数字化转型浪潮 并重
  • R绘制稀释曲线

    利用丰度表 抽平 绘制稀释曲线 TAO代码1 问题描述 问题1 计算 输出 diversity rarefaction 时报错 问题2 利用geom smooth拟合曲线时报错 原因分析及解决方案 问题1 在抽平时 需将depth设置成最大
  • .net 读配置信息并将配置信息绑定到一个对象上

    net 读配置信息并将配置信息绑定到一个对象上 假设我们的appsettings json配置文件是这样的 Logging LogLevel Default Information Microsoft Warning Microsoft H
  • 每天一个知识点-linux中获得进程号

    获取linux服务进程号 ps ef grep 服务名 grep v grep awk print 2 举个例子 root bd1 ps ef grep kk root 972997 692368 0 09 41 pts 4 00 00 0
  • mysql 字段增加备注_怎么在mysql数据库中添加备注信息

    怎么在mysql数据库中添加备注信息 发布时间 2021 02 20 16 04 19 来源 亿速云 阅读 56 作者 Leah 这期内容当中小编将会给大家带来有关怎么在mysql数据库中添加备注信息 文章内容丰富且以专业的角度为大家分析和
  • C语言sb代码,10个重要的算法C语言实现源代码

    拉格朗日 牛顿插值 高斯 龙贝格 牛顿迭代 牛顿 科特斯 雅克比 秦九昭 幂法 高斯塞德尔 一 拉格朗日插值多项式 include include include float lagrange float x float y float x
  • linux脚本判断192.168.1.0/24网络通不,shell脚本测试某网段内主机连通性

    1 测试192 168 4 0 24整个网段的连通性 while版本 bin bash Author 丁丁历险 Jacob 定义变量i控制循环次数 i从1开始循环 每循环一次 i自加1 直到i等于254循环退出 在每次循环中对一个IP进行p
  • Maven手动安装第三方jar报错问题解决

    由于目前构建项目 大多数会采用项目构建工具Maven来管理jar包 但是有时候某些第三方jar包并不在几个大型中央仓库之中 这就需要我们手动下载jar包 然后将jar安装到本地仓库或者私服 来项目中正常引用 首先下载jar包 安装之前最好打
  • 聪明的人脸识别2——Keras 利用Retinaface+Facenet搭建人脸识别平台

    聪明的人脸识别2 Keras 利用Retinaface Facenet搭建人脸识别平台 学习前言 什么是Retinface和Facenet 1 Retinface 2 Facenet 整体实现代码 实现流程 一 数据库的初始化 二 检测图片
  • eclipse修改默认工作空间

    如果勾选了Use this as the default and do not ask again下次要启动时不会再次显示修改工作空间的选择 要改变工作空间的方法 有3中方法可以更改workspace的路径设置 1 启动Eclipse My
  • opencv实现打开摄像头及视频文件

    完整人脸识别系统 源码 教程 环境 开源毕业设计 基于嵌入式ARM Linux的应用OpenCV和QT实现的人脸识别系统 源码 论文 完全毕设教程 Linux上Opencv与Qt实现的人脸识别的考勤点名 门禁系统 PC与嵌入式ARM版本 本
  • 从用户故事说起,谈谈怎么写TAPD的需求说明

    公司经常用 TAPD 来进行需求管理与敏捷迭代 那么针对 TAPD 上的第一步需求记录应该怎么写呢 本人就做了一个小小的总结与归纳 助力产品更加方便准确地完成需求的填写 什么是需求 需求 User Story 用户故事是从用户角度来描述用户