写点什么

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

  • 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:541993
用户头像

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

关注

评论

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

记一个 Harvester SNAT 案例

Rancher

Kubernetes k8s rancher Harvester

存储系统如何适配 Hadoop?

焱融科技

hadoop 存储 文件存储

烫烫屯屯锟斤拷��

博文视点Broadview

MQTT协议连接阿里云物联网服务器​

DS小龙哥

5月月更

大咖说*菜鸟|物流行业重大战略机遇期已悄然到来

大咖说

互联网 物流 降本增效 菜鸟 实体经济

使用 Amazon SageMaker 为新用户提供实时音乐推荐

亚马逊云科技 (Amazon Web Services)

Amazon 音乐 实时推送

Android 子线程 UI 操作真的不可以?

vivo互联网技术

android 线程 UI

MASA Auth - 权限设计

MASA技术团队

C# .net 微软 权限

百问百答第39期:如何区分docker容器中的进程名称?

博睿数据

智能运维 Bonree Server 博睿数据

数字化时代,企业知识管理软件怎么选

小炮

企业知识管理

云原生技术应用情况报告重磅发布

行云创新

云计算 云原生 开发 报告 行业

敏捷实践 | 做优先级排序时使用最多的三个模型

LigaAI

敏捷开发 优先级

龙蜥社区第八次运营委员会会议顺利召开

OpenAnolis小助手

开源 生态 龙蜥社区 理事单位 运营委员会

阿里云首家通过《可信云·云成本优化工具能力要求》评估,云原生企业 IT 成本治理方案助力企业 FinOps 落地

阿里巴巴云原生

阿里云 云原生 工具

java开发培训任务调度框架Quartz的用法

@零度

JAVA开发

web前端培训js 私有属性的 6 种实现方式

@零度

web前端开发

国产CPU产业链的逻辑架构

Finovy Cloud

gpu 云服务器

Wallys/ Network_Card/2x 2 5G /High power Radio card

wallys-wifi6

QCA9882 802.11AX

云原生技术新版图——无服务器(Serverless)数据库

亚马逊云科技 (Amazon Web Services)

数据库 Serverless 云原生

战码先锋直播预告丨参与文档贡献,开启OpenHarmony社区贡献之旅

OpenHarmony开发者

OpenHarmony OpenHarmony 3.1 Release 社区贡献

IOS技术分享| iOS快速生成开发文档(一)

anyRTC开发者

ios objective-c 音视频 移动开发 appledoc

玩转集群配置中心,一文带你了解 Taier 控制台

袋鼠云数栈

为何架构设计能力难以提升?- 作业

阿拉阿拉幽幽

关于延期举办第六届世界智能大会的通知

InfoQ 天津

王莉:将开发文档英文化和本地化,我们努力让OpenHarmony走向全球

OpenHarmony开发者

开发文档 OpenHarmony OpenHarmony 3.1 Release

JVM进阶(十八)——初识Class文件

No Silver Bullet

JVM class文件 5月月更

解放双手!推荐一款 GitHub 星标 8.2k+的命令行软件管理器,非常酷炫!

沉默王二

GitHub

Python爬虫网页元素定位术,就在这篇博客中

梦想橡皮擦

5月月更

OpenHarmony 3.1 Release版本关键特性解析——构建OpenHarmony窗口框架

OpenHarmony开发者

OpenHarmony OpenHarmony 3.1 Release 窗口框架

【LeetCode】单值二叉树Java题解

Albert

LeetCode 5月月更

Wallys/Network_Card/QCA9880/ 2x2 2.4G/5G FCC/CE

wallys-wifi6

802.11AX QCN9880

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