用户故事编写指南:写出最贴近用户实际场景的故事

news2025/1/21 2:56:11

 用户故事在软件开发过程中被作为“描述需求”的一种表达形式,是定义用户想要什么的简单方法。通过它可以清楚地解释产品。一个好的用户故事能帮助利益相关者理解产品的功能,并且有助于向客户介绍产品是什么。用户故事都会写,但如何写出最贴近用户实际场景的用户故事?

1 )用户故事基本表达式

为了规范用户故事的表达,便于沟通,用户故事通常的表达格式为:作为一个<用户角色>, 我想要<完成活动>, 以便于<实现价值>

一个完整的用户故事还应该包含以下三个要素

  • 角色(who):谁要使用这个。
  • 活动(what):要完成什么活动。
  • 价值(value):为什么要这么做,这么做能带来什么价值。

 举个例子:“作为一名禅道项目管理软件的用户,我希望看板选择自适应列宽时,不会铺满全屏,这样可以节省空间,操作便捷,在观感上更加美观简洁。”

ZenTao project management software requirements description

除了格式规范、要素完整外, 一个好的用户故事还要遵循INVEST原则:

User Story: The INVEST Principle

2 )好故事编写指南

一个好的用户故事可以用简单的语言让每个人都可以理解。让技术和非技术成员都使用它作为交流的媒介。如何编写出一个好的、让人易于理解的优秀故事呢?下面分享几个要点:

  • 从目标故事开始

一些大型项目,通常会涉及多个用户角色,这就导致我们有时很难知道从哪里开始识别故事。要想识别故事,首先要 思考每个用户角色,并考虑他们使用本产品的目标是什么。

举个例子,比如开发某招聘网站项目,角色是求职者,TA的目标是找到一份工作(这是主目标)。我们可理解为:有什么功能可以支持TA找到一份工作。然后将其拆解为几个子目标:

a)    搜索TA感兴趣的工作(基于技能、薪资和地点等)。

b)    自动执行搜索,因此不必每次都手动搜索。

c)    让TA的简历可见,以便招聘公司可以搜索到TA。

划分之后,上述的子目标还能根据需要衍生出其他的故事。比如根据定位自动推荐相应区域的岗位,这样故事的撰写就逐渐清晰了起来:

ZenTao project management software R&D requirements interface

  • 编写封闭的故事

封闭故事是指随着故事的实现完成,一个有意义的目标也随之完成,这能让用户觉得TA完成了某件事。

比如,还是招聘网站项目。其中一个故事为“招聘人员可以管理其发布的广告”,这就不是一个封闭故事,因为这是一项持续的活动。怎么编写能更好呢?可以这样:

a)  招聘人员可以更改招聘广告的截至时间。

b)  招聘人员可以删除与职位不匹配的申请等等。

  • 故事中要包括用户角色

如果项目团队已经识别出了用户角色,那么在编写故事时就应该使用这些具体的角色,而不是用较为笼统的角色。比如不要写成“用户可以发布自己的简历”,应该写成“求职者可以发布自己的简历”。因为“用户”包含了“岗位发布者”和“求职者”两种,这会增加开发对需求理解的难度。

可以用前面我们提到的表达格式:作为一个<用户角色>, 我想要<完成活动>, 以便于<实现价值>。这样就能帮助区分重要的和无价值的故事,也能更加清晰明确。

  • 不要过度依赖用户故事

用户故事虽然是一种常见的需求收集和表达方式,但并不是唯一的方式。团队根据项目的具体情况,可以结合其他方法来收集和记录需求,以确保全面和准确地捕捉项目的需求。这样做可以提供更完整的视角,并满足项目的特定需求和要求。

  • 为一个用户编写故事

当只为单个用户编写故事时,故事通常更容易被理解和阅读,故事也更加具体和清晰。但并不是所有的故事都会因为用户数量的变化而产生差异。对于很多故事来说,无论是为一个用户还是多个用户编写,故事的内容并没有太大区别。但是,对于某些故事,用户数量的变化可能会对故事产生很大的差异。比如以“求职者可以从网站上删除简历”为例。它就有两种解释:

a)   一个求职者可以删除自己的简历;

b)一个求职者可以删除其他人的简历。

如果我们只考虑一个用户的故事,那么问题就会变得清晰起来。比如可以将故事改为:求职者可以删除自己的简历。

  • 使用主动语态

在编写用户故事时用主动语态,而非被动语态,尽可能让故事清晰简洁易懂。比如“简历可以被求职者发布”就可以改为“求职者可以发布简历”。

  • 客户编写

在理想状态下,客户应该参与编写故事。客户有责任确定每次迭代的故事优先顺序,所以客户对每个故事的了解至关重要。为了确保客户对故事有充分的了解,可以让客户亲自参与进故事编写,同时也为了避免只由开发人员单独编写故事而导致的理解偏差或误解。

  • 不要忘记目的

在编写时,记住故事的目的是为了 促进对话,确保故事能够起到引发对特定功能或需求的讨论和交流的作用。为了达到这个目的,用户故事应该保持简洁明了。

3)    最后

假设“求职者可以搜索未完成的工作”这个故事太大了,不适合一次迭代完成。你会如何拆分它?

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

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

相关文章

化学分子Mol2文件格式与使用注意事项

欢迎浏览我的CSND博客&#xff01; Blockbuater_drug …点击进入 文章目录 前言一、Mol2文件示例二、 Mol2文件主要结构解释及注意事项MOLECULE 字段解释ATOM 字段解释BOND 字段解释SUBSTRUCTURE字段解释 总结参考资料 前言 Mol2格式文件是一个ASCII 文件&#xff0c;由Tripos…

istio学习记录——VirtualService详解

上一篇使用VirtualService进行了简单的流量控制&#xff0c;并通过Gateway将流量导入到了集群内。这一篇将更加深入的介绍 VirtualService。 k8s中有service&#xff0c;service能够对流量进行负载均衡&#xff0c;那为什么istio又引入了VirtualService呢&#xff0c;因为serv…

爆火的1分钟声音克隆GPT-SoVITS项目 linux系统 ubuntu22.04安装2天踩坑教程

原项目地址&#xff1a;https://github.com/RVC-Boss/GPT-SoVITS 1分钟素材&#xff0c;最后出来的效果确实不错。 1. cuda环境安装 cuda环境准备 根据项目要求在cuda11.8和12.3都测试了通过。我这里是用cuda11.8 cuda11.8安装教程&#xff1a; ubuntu 22.04 cuda多版本和…

《Large Language Models for Generative Information Extraction: A Survey》阅读笔录

论文地址&#xff1a;Large Language Models for Generative Information Extraction: A Survey 前言 映像中&#xff0c;比较早地使用“大模型“”进行信息抽取的一篇论文是2022年发表的《Unified Structure Generation for Universal Information Extraction》&#xff0c;也…

腾讯云4核8G的云服务器性能水平?使用场景说明

腾讯云4核8G服务器适合做什么&#xff1f;搭建网站博客、企业官网、小程序、小游戏后端服务器、电商应用、云盘和图床等均可以&#xff0c;腾讯云4核8G服务器可以选择轻量应用服务器4核8G12M或云服务器CVM&#xff0c;轻量服务器和标准型CVM服务器性能是差不多的&#xff0c;轻…

第十四天-网络爬虫基础

1.什么是爬虫 1.爬虫&#xff08;又被称为网页蜘蛛&#xff0c;网络机器人&#xff09;&#xff0c;是按照一定规则&#xff0c;自动的抓取万维网中的程序或者脚本&#xff0c;是搜索引擎的重要组成&#xff1b;比如&#xff1a;百度、 2.爬虫应用&#xff1a;1.搜索引擎&…

谈谈高并发系统的设计方法论

谈谈高并发系统的设计方法论 何为高并发系统&#xff1f;什么是并发&#xff08;Conurrent&#xff09;&#xff1f;什么是高并发&#xff08;Hight Concurrnet&#xff09;&#xff1f;高并发的衡量指标有哪些&#xff1f; 实现高并发系统的两大板块高并发系统应用程序侧的设计…

Linux学习笔记11——用户组添加删除

Linux 是多用户多任务操作系统&#xff0c;换句话说&#xff0c;Linux 系统支持多个用户在同一时间内登陆&#xff0c;不同用户可以执行不同的任务&#xff0c;并且互不影响。 例如&#xff0c;某台 Linux 服务器上有 4 个用户&#xff0c;分别是 root、www、ftp 和 mysql&…

编程遗产:祖传代码

在浩瀚的代码海洋中&#xff0c;隐藏着一段鲜为人知的遗产——祖传代码。这些代码不仅仅是冰冷的指令和逻辑&#xff0c;更是一代代程序员心血的结晶&#xff0c;充满了温情和趣味。 让我们在脑子里画一幅画&#xff0c;有位祖先是一位技艺高超的程序员&#xff0c;他们在那个…

11 Redis之高并发问题(读+写) + 缓存预热+分布式锁

8. 高并发问题 Redis做缓存虽减轻了DBMS的压力&#xff0c;减小了RT(Response Time)&#xff0c;但在高并发情况下也是可能会出现各种问题的。 8.1 缓存穿透 当用户访问的数据既不在数据库中也不在缓存中&#xff0c;如id为“-1”的数据或id为特别大不存在的数据, 这时的用户…

单晶银粉在光伏发电和电子电气领域需求旺盛 我国市场国产化进程有望加快

单晶银粉在光伏发电和电子电气领域需求旺盛 我国市场国产化进程有望加快 单晶银粉指以单晶形式存在的银材料。与普通银粉相比&#xff0c;单晶银粉具有化学稳定性好、光学透过率高、导电性佳、导热性好、易于加工、纯度高等优势&#xff0c;在光伏发电、电子电气等领域拥有广阔…

【Python笔记-设计模式】中介者模式

一、说明 中介者模式是一种行为设计模式&#xff0c;减少对象之间混乱无序的依赖关系。该模式会限制对象之间的直接交互&#xff0c;迫使它们通过一个中介者对象进行合作。 (一) 解决问题 降低系统中对象之间的直接通信&#xff0c;将复杂的交互转化为通过中介者进行的间接交…

Django配置静态文件

Django配置静态文件 目录 Django配置静态文件静态文件配置调用方法 一般我们将html文件都放在默认templates目录下 静态文件放在static目录下 static目录大致分为 js文件夹css文件夹img文件夹plugins文件夹 在浏览器输入url能够看到对应的静态资源&#xff0c;如果看不到说明…

4核8G服务器选阿里云还是腾讯云?价格性能对比

4核8G云服务器多少钱一年&#xff1f;阿里云ECS服务器u1价格955.58元一年&#xff0c;腾讯云轻量4核8G12M带宽价格是646元15个月&#xff0c;阿腾云atengyun.com整理4核8G云服务器价格表&#xff0c;包括一年费用和1个月收费明细&#xff1a; 云服务器4核8G配置收费价格 阿里…

Ubuntu上Jenkins自动化部署Gitee上SpringBoot项目

文章目录 安装安装JDK安装Maven安装GitNodeJS安装&#xff08;可选&#xff09;安装Jenkins 配置Jenkins为Jenkins更换插件源设置jenkins时区安装插件全局工具配置添加Gitee凭证Gitee项目配置 部署后端1.新建任务2.配置源码管理3.构建触发器4.到Gitee中添加WebHook5.构建环境6.…

nodejs 实现pdf与图片互转

PDF转图片 效果图 代码 const path require(path); const pdf require(pdf-poppler); const fs require(fs); // PDF文件路径 const pdfFilePath ./path/test.pdf; // 转换选项 const opts { format: png, // 输出图片格式&#xff0c;可以是 jpeg, png, ppm…

绿色蔬菜销售管理系统

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 一 、设计说明 1.1 研究…

Java毕业设计-基于springboot开发的漫画之家系统-毕业论文+PPT(有源代码)

文章目录 前言一、毕设成果演示&#xff08;源代码在文末&#xff09;二、毕设摘要展示1.开发说明2.需求分析3、系统功能结构 三、系统实现展示1、系统功能模块2、后台模块3、用户功能模块 四、毕设内容和源代码获取总结 Java毕业设计-基于springboot开发的漫画之家系统-毕业论…

day03_登录注销(前端接入登录,异常处理, 图片验证码,获取用户信息接口,退出功能)

文章目录 1. 前端接入登录1.1 修改前端代码1.2 跨域请求1.2.1 跨域请求简介1.2.2 COSR概述CORS简介CORS原理 1.2.3 CORS解决跨域 2. 异常处理2.1 提示空消息分析2.2 系统异常分类2.3 异常处理2.2.1 方案一2.2.2 方案二 3. 图片验证码3.1 图片验证码意义3.2 实现思路3.3 后端接口…

4核8g服务器能支持多少人访问?

腾讯云4核8G服务器支持多少人在线访问&#xff1f;支持25人同时访问。实际上程序效率不同支持人数在线人数不同&#xff0c;公网带宽也是影响4核8G服务器并发数的一大因素&#xff0c;假设公网带宽太小&#xff0c;流量直接卡在入口&#xff0c;4核8G配置的CPU内存也会造成计算…