写点什么

具有流程图和故事图的产品待办事项列表

  • 2013-05-30
  • 本文字数:2015 字

    阅读完需:约 7 分钟

组织一份产品待办事项列表(backlog)有助于保持对用户故事的概观并放眼大局。Shrikant Vashishtha 撰写的一篇题为《故事映射与流程图》的博文,描绘了如何将用户故事映射到流程图。他对比了用于组织用户故事的流程映射方法,以及来自 Jeff Patton 的故事映射。

在 Scrum 中,产品待办事项列表用于管理产品需求。对大型产品而言,待办事项列表中也许会有许多用户故事,以至于很难保持概观并放眼大局。同样,如果有太多用户故事,团队的 Sprint 待办事项列表也会面临相似的问题:

(……)很多时候,人们看向卡片墙(Scrum 板)时会发现并不是很有头绪。或许,卡片墙看上去就像是一张由不同状态的用户故事织就的网,这些状态包括:待办、进行中或已完成。然而仅仅通过查看用户故事无法明确地回答某些更大的问题。

Shrikant 建议进行流程映射以组织产品待办事项列表,并将用户故事视觉化:

将完整的业务流以流程图的形式进行形象化展示,以识别其中的用户故事(需要完成的工作),这个办法怎么样?

流程图涉及了用于实现部分流程的用户故事的 ID。查看流程图可以看到业务流需要哪些用户故事,而使用彩色可以展现出业务流的进展。

组织大型产品待办事项列表的另一个方法是故事映射,Jeff Patton 在 2008 年发表的文章《新的用户故事待办事项列表采用图的形式》中对此进行了描绘:

按将要构建的顺序安排用户故事无法帮助我向其他人解释系统的用途。当利益相关者或用户提出“你正在构建的系统有什么用途”的问题时,可以试着向他们提供用户故事待办事项列表。在我看来,尝试理解系统——整个系统——是软件开发的困难所在。我从敏捷团队听到的最常见抱怨之一,是他们失去了全局视野——如果他们最初曾经拥有过的话。

Jeff 解释了故事映射如何辅助沟全局视野:

我发现,挂起来用作信息辐射体的故事图成为对正在构建的产品进行的讨论中的不动点。随着项目运行,它成了我们的 Sprint 或迭代的计划板。我们直接在图上识别或划分出下个迭代周期中将要构建的故事。在迭代过程中,我们将正在处理的故事单独放到一面任务墙上以管理它们的开发——但故事图还留在计划墙上以提醒我们全局视野中都有什么,以及我们已经完成了多少。

此前 InfoQ 在《故事图为用户故事提供上下文》中撰写了故事映射如何帮助组织产品待办事项列表

故事图是二维的,它既能显示故事的优先级,又能表示故事之间的关系,还有用户的更为长远的目标。它帮助团队理解这些故事如何组合在一起形成发布的产品。

在《故事映射与流程图及其对比》中描述了流程映射如何工作之后,Shrikant Vashishtha 继续在博客文章中对比了流程映射与故事映射。他讲述了使用故事映射的产品待办事项列表看上去是什么样子的:

故事映射的理念是以这样的方式准备产品待办事项列表:“大故事”(称为“用户活动”、叙事诗或特征等等)位于图的顶部。这些“大故事”被进一步分割为用户任务(由某些人为了实现目标而做的某些事)。

Shrikant 也列出了使用故事图的一些缺点:

故事图是很好的信息辐射体。然而它们也许需要很大空间以捕获整个发行产品的故事。此外,故事映射并不一定要提供这样的信息:有关故事之间的连接,或是如何将叙事诗 / 用户故事编配到一起以实现业务目标。

在难以使用故事图保持概观之处,Shrikant 建议使用流程图以获得帮助,因为流程图并不展现全部细节:

我们可以使用内嵌了用户故事标识的流程图的大幅海报,而不是将所有的故事都放到板上。流程图本身也是个故事,而且它能够帮助人们达成一致意见。

他认为可以同时使用流程图和故事图以组织大型产品待办事项列表,并以此作为总结:

(……)看起来流程图和故事图是用于解决相同问题的完全不同的概念,但实际上并非如此。这两种工具都能够让板上的内容更清晰。它们可以基于上下文互相补足。

在题为《用户故事映射——目标驱动待办事项列表开发》的博客文章中,Scott Sehlhorst 给出了故事映射的概览。首先他介绍了故事映射的目的:

用户故事映射是一种用于确保每个发布或迭代都使产品明显变得更好的工具。(……)用户故事映射推动我们明确地理解用户在解决问题时遵循或将要遵循的流程,以及这些用户达成目标所依赖的价值链或工作流。

Scott 解释了如何完成故事映射,以及它能够带来哪些好处:

借助用户故事映射,我们可以将用户故事或用户执行的任务以分组形式组织,以识别哪些故事对传递价值而言是共同需要的。这是一个用于评估需求 _ 完整性 _ 的强大技术。同时它也是保证每个发布或迭代都有价值增量的工具,价值增量来自让用户解决或更有效地解决问题——避免某次交付只解决了一半问题。

你如何使用故事图或流程图组织自己的产品待办事项列表?它们是否帮助你保持概观并放眼大局?

查看英文原文: Product Backlogs with Process Maps or Story Maps


感谢李彬对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-05-30 09:092418
用户头像

发布了 256 篇内容, 共 72.3 次阅读, 收获喜欢 10 次。

关注

评论

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

前端leetcde算法面试套路之树

js2030code

JavaScript LeetCode

2022 阿里灵杰AI开发者峰会内容抢先看!

阿里云大数据AI技术

人工智能 阿里云

React源码分析4-深度理解diff算法

flyzz177

React

React源码解读之React Fiber

flyzz177

React

前端leetcde算法面试套路之堆

js2030code

JavaScript LeetCode

百度工程师带你探秘C++内存管理(ptmalloc篇)

百度Geek说

c++ Linux 内存管理 12 月 PK 榜

三次握手与四次挥的问题,怎么回答?

loveX001

JavaScript

架构训练营 模块二作业

提姆

架构训练营10期

微信朋友圈高性能复杂度分析

LT

架构实战营

二十大专题,3000道 Java后端核心面试解析,国内超牛的《Java 面试突击核心手册》重磅来袭!

架构师之道

编程 程序员 java面试

跨平台应用开发进阶(二十六) :忐忑悲壮路,心酸出坑史——记第一次iOS艰辛上架路

No Silver Bullet

uni-app iOS上架 12月月更 问题汇总

如何配置分享到微信功能?

Towify

微信小程序 无代码 触发器

最新前端面试总结

loveX001

JavaScript

第九期 - 模块八

wuli洋

DevData Talks | 大咖集结『研发效能答疑专场』即将开始!

思码逸研发效能

研发管理 研发效能 研发管理工具

数据库原理及MySQL应用 | 日志管理

TiAmo

数据库 日志 12月月更

跨平台应用开发进阶(二十四) :uni-app实现文件下载并保存

No Silver Bullet

uni-app 12月月更 文件下载 文件保存

promise执行顺序面试题令我头秃,你能作对几道

loveX001

JavaScript

程序员职场晋升:与阿里前P9的一次近距离互动

博文视点Broadview

用javascript分类刷leetcode23.并查集(图文视频讲解)

js2030code

JavaScript LeetCode

架构实战营 - 模块 2- 作业

zealot0317

前端面试比较好的回答

loveX001

JavaScript

关系型数据库设计三大范式

京东科技开发者

关系型数据库 数据库设计 范式 冗余 数据库·

跨平台应用开发进阶(二十五) :uni-app实现IOS云打包解决IOS提交审核相册等隐私描述语导致审核失败问题

No Silver Bullet

uni-app 12月月更 IOS云打包 提交审核 隐私描述语

React源码解读之任务调度

flyzz177

React

如何使用 Towify 在小程序中实现勾选用户协议后登录?

Towify

微信小程序 无代码 触发器

React源码分析2-深入理解fiber

flyzz177

React

React源码分析3-render阶段(穿插scheduler和reconciler)

flyzz177

React

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

flyzz177

React

教你用JavaScript完成简易贪吃蛇小游戏

小院里的霍大侠

JavaScript 编程开发 实战案例 初学者 入门实战

架构实战营模块二作业

周烨

具有流程图和故事图的产品待办事项列表_文化 & 方法_Ben Linders_InfoQ精选文章