写点什么

谁是这个用户故事的受益者?

  • 2010-11-07
  • 本文字数:1038 字

    阅读完需:约 3 分钟

标准 用户故事 的格式是这样的,“作为 [角色],我想要 [目标 / 期望] 以便 [好处]”。但是,对于有些用户故事,当要填充角色字段时,这种简单的模板就会出现问题。

例如,最近在 Scrum 开发组上, Kevin Krac 问到下面这个真实的用户故事:

产品负责人想到了这样一个故事,关于客户完成购买后,更改客户可以联系的商家的电话号码。目前,在发给客户的电子邮件中列出了市场部的电话号码,但产品负责人认为给出销售代表的电话号码更加明智。

制定这个用户故事时,角色字段应该填谁呢?产品负责人吗?市场部门的员工?销售代表?还是其他人?

到底为什么要在用户故事中包括角色字段呢? Don MacIntyre 给出了一个理由 :“我发现清楚地识别出受益角色能帮助产品负责人提出清晰的价值定位——这反过来会帮助他们排列故事的优先级 。 ”然而,在这个故事中,在开发团队实现它以后,受益人是谁不是很清楚。

Ron Jeffries 认为坚持标准故事格式没有多大价值:

卡片上无论写谁都不太贴切:我更喜欢像“把市场部的电话号码替换成客户销售代表的电话号码。” […]

思考很重要;要选择最有价值的故事很重要;给团队解释最后的决定很重要;有具体的测试确保它的有效性也同样重要。

卡片上写的是什么没有那些内容那么重要。

但是,Mick Cohn 认为标准的用户故事格式 有一些好处 。他看到的好处包括:

  • 以第一人称(“As a … I want …”)编写用户故事能帮助开发人员和其他人识别出他们的工作能为谁带来利益。
  • 按相同的方式组织所有的故事能帮助产品负责人排列故事的优先级,因为这样产品负责人就不需要在脑子里单独解析每个故事的文字了。

为了让非标准的故事也能使用标准的格式, Mick Cohn 有几个提示

一个好的用户故事对系统所有的利益相关者都是有关的。故事可以不用“想要”,比如“作为一名购物者,开始结帐时可以给我展示配套产品。”或者,“作为一名用户,我被强制要求每 90 天更改一次我的密码。”因此并非所有故事都需要有“想要”这个词。

在用户故事模板上填上空白好了,无论那个模板如何完美,它都不会帮助我们去完成艰难的工作。就像 Ron Jeffries 所说的那样,用户故事成功的关键是“ 卡片、对话和确认 ”(3C, Card, Conversation, Confirmation)。就是说,卡片上只要写上适量的文本,能识别需求(“用户故事”)就好了;然后让客户与程序员有适当的沟通,以便他们能成功地进行编码,实现需求;并通过验收测试的方法去验证已经完成的工作。

查看英文原文 : Who Wants This User Story?

2010-11-07 19:541718
用户头像

发布了 38 篇内容, 共 87819 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

嵌入式RTOS的 任务栈 和 系统栈

矜辰所致

嵌入式 9月月更 RTOS

使用WIX 进行商业智能OEM打包

葡萄城技术团队

【译】日志:每个软件工程师都应该了解实时数据的统一抽象【三】

Rae

kafka 日志 原理

【导航】FreeRTOS学习专栏目录 【快速跳转】

矜辰所致

目录 FreeRTOS 9月月更

2022-9-30

留白的艺术

GPU是AI时代的算力核心

Finovy Cloud

人工智能 云渲染

【译】日志:每个软件工程师都应该了解实时数据的统一抽象【二】

Rae

kafka 架构 分布式 日志 原理

iMazing传输 iPhone 备忘录和通话记录功能

淋雨

ios iphone

Alluxio与北京大学计算机学院签署合作框架协议,推动产学研深度融合

Alluxio

开源 云原生 产学研用 Alluxio 北京大学

边缘计算落地提速 天翼云Serverless边缘容器加速深耕市场

Geek_2d6073

四个典型的车联网案例,给你数据架构升级思路

TDengine

tdengine 车联网 物联网

Tree-sitter入门

阿呆

Python tree-sitter py-tree-sitter

多维数据库中的高效计算机制

元年技术洞察

智能多维数据库 专利解析

安利几款简单好用的帮助文档制作工具

Baklib

帮助文档

软件测试 | 测试开发 | 一文带你了解测试流程的体系

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 软件测试入门必会-流程管理平台

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试面试 | 某 BAT 大厂测试开发面试真题与重点解析

测吧(北京)科技有限公司

测试

大咖说·图书分享|深入集群:大型数据中心资源调度与管理

大咖说

编程 数据中心

开发者有话说|27岁暮年老人一生

百里丶落云

卫星通信,给手机市场带来了什么?

脑极体

NFTScan 与 PANews 在 NFT 数据层面进行战略合作

NFT Research

API NFT 合作 MetaMask

国庆数字游,融云都为您准备好了

融云 RongCloud

软件测试 | 测试开发 | 做为测试,那些必须掌握的测试技术体系

测吧(北京)科技有限公司

测试

Java: 压缩PDF文档

Geek_249eec

Java PDF 压缩

软件测试 | 测试开发 | 软件项目管理与跨部门沟通协作

测吧(北京)科技有限公司

测试

Go runtime:带你了解Go语言的GMP模型与goroutine调度

董哥的黑板报

Go 线程 操作系统 协程 runtime

python安装包报错Microsoft Visual C++ 14.0 or greater is required

阿呆

pip

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

云数据库技术行业动态@2022-09-30

数据库 数据复制 数据管理 数据备份 数据对比

重磅发布!Orbit 云原生应用全生命周期管理工具上线啦!

CODING DevOps

云原生 Orbit CODING

HummerRisk 云原生安全平台

HummerCloud

云计算 云原生 云安全

谁是这个用户故事的受益者?_研发效能_Dan Puckett_InfoQ精选文章