NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

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

关注

评论

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

DevSecOps“内置安全保护”,让软件研发“天生健康”

华为云开发者联盟

DevOps DevSecOps 软件研发 安全架构设计 安全隐私

“一个扫描枪一张表”,韵达选择 TDengine 应对每日亿级数据量

TDengine

数据库 tdengine

为安全而生!浪潮云参编的《数据安全法》实施参考(第一版)重磅发布

浪潮云

云安全

什么是敏捷开发,敏捷开发落地指南之迭代排期

阿里云云效

云计算 阿里云 敏捷开发 研发 研发敏捷

javaScript深拷贝和浅拷贝简单梳理

程序猿布欧

JavaScript 前端 深拷贝 浅拷贝 深拷贝与浅拷贝

JavaScript的事件循环机制浅析

程序猿布欧

JavaScript 前端 前端面试 防抖节流

Android C++系列:string最佳实践

轻口味

c++ android 4月月更

Go语言入门很简单:Go 中的作用域和变量隐藏

宇宙之一粟

作用域 Go 语言 4月月更

揭秘华为云GaussDB(for Influx):最佳实践之数据建模

华为云开发者联盟

MySQL 数据建模 数据模型 华为云 GaussDB(for Influx)

大数据培训学习程序员有必要吗

@零度

大数据开发

这是一个有关自律的复杂故事

Coffee Cat

数据分析 监控 自律 跑步 可观测

Windows 11 修改 PIN 的长度为 4 位

HoneyMoose

Docker下,极速体验编译pinpoint1.6.x分支

程序员欣宸

Java 分布式 4月月更

PingCode 完成近亿元人民币C轮融资,打造世界级研发管理与协作平台

PingCode

超干货 | 手把手教你快速构建一个企业自有“微信”!

融云 RongCloud

Docker知识对应验证

Docker 4月月更

Swoole中的协程使用相关说明,快来围观

CRMEB

眼见不一定为实:调用链HBase倾斜修复

捉虫大师

HBase 数据倾斜 4月月更

【易安联】安全都是有边界的,零信任也不例外

Geek_2d6073

REDIS集群安装运维调优及常见问题处理

IT巅峰技术

C语言总结_数组与函数传参练习题

DS小龙哥

4月月更

想参加培训学习web前端不知道靠不靠谱

@零度

web前端开发

英特尔分享进军独显市场的背后思考

科技新消息

知识管理:新时代企业竞争力核心

小炮

企业知识管理 企业知识管理工具

双许可、先决条件、附加条款……开源许可证的疑难杂问

一君

活动预告 | 洞见科技纪凯受邀出席「隐私计算应用与发展论坛」

洞见科技

[Day25]-[二叉树]二叉搜索树中的插入操作

方勇(gopher)

LeetCode 二叉树 数据结构算法

云原生应用配置中心简述

穿过生命散发芬芳

4月月更

Go单体服务开发最佳实践

万俊峰Kevin

微服务 单体架构 web开发 go-zero Go 语言

源码解析Synchronous Queue 这种特立独行的队列

华为云开发者联盟

MQ 堆栈 队列 Synchronous Queue 公平队列

培训学习选择java好还是前端好

@零度

JAVA开发 web前端

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