什么是用户故事 (User Story)?
用户故事 (User Story) 是从需要新功能的人(通常是系统的用户或客户)的角度对功能进行的简短而简单的描述。它们通常遵循一个简单的模板:
作为<类型的用户>,我想要 <某个目标> 以便达成 <某种原因>。
用户故事通常写在索引卡或便签上,存放在鞋盒中,并排列在墙壁或桌子上以方便计划和讨论。因此,他们强烈地将重点从写功能转移到讨论它们。事实上,这些讨论比写的任何文本都重要。
你能展示一些用户故事的例子吗?
敏捷用户故事的好处之一是它们可以在不同的细节层次上编写。我们可以编写一个用户故事来涵盖大量功能。这些大型用户故事通常被称为史诗 (EPIC) 。这是来自桌面备份产品的史诗般的敏捷 (Agile) 用户故事示例:
作为用户,我可以备份我的整个硬盘。
由于史诗通常太大,敏捷团队无法在一次迭代中完成,因此在处理之前将其拆分为多个较小的用户故事。上面的史诗可以分为几十个(或者可能是几百个),包括这两个:
作为高级用户,我可以根据文件大小、创建日期和修改日期指定要备份的文件或文件夹。
作为用户,我可以指定不备份的文件夹,这样我的备份驱动器就不会装满我不需要保存的东西。
如何将细节添加到用户故事中?
可以通过两种方式将详细信息添加到用户故事中:
- 通过将用户故事拆分为多个更小的用户故事。
- 通过添加“满足条件”。
当一个相对较大的故事被拆分成多个较小的敏捷用户故事时,很自然会假设已经添加了细节。毕竟,已经写了更多。
满意度条件只是一个高级别的验收测试,在敏捷用户故事完成后才会成立。将以下视为另一个敏捷用户故事示例:
作为营销副总裁,我想选择一个假期用于审查过去广告活动的表现,以便我可以确定有利可图的广告活动。
通过添加以下满足条件,可以将详细信息添加到该用户故事示例中:
- 确保它适用于主要的零售假期:圣诞节、复活节、总统节、母亲节、父亲节、劳动节、元旦。
- 支持跨越两个日历年的假期(没有跨越三个日历年)。
- 假期可以从一个假期设置到下一个假期(例如感恩节到圣诞节)。
- 假日季节可以设置为假日前的天数。
谁编写用户故事?
任何人都可以编写用户故事。产品负责人有责任确保存在敏捷用户故事的产品待办事项,但这并不意味着产品负责人是编写它们的人。在一个好的敏捷项目的过程中,您应该期望每个团队成员都编写用户故事示例。
另外,请注意,谁编写用户故事远不如谁参与它的讨论重要。
什么时候写用户故事?
用户故事贯穿整个敏捷项目。通常在敏捷项目开始时举办一个故事写作研讨会。团队中的每个人都参与其中,目的是创建一个产品待办事项列表,该列表完全描述了在项目过程中或其中三到六个月的发布周期中要添加的功能。
其中一些敏捷用户故事无疑将成为史诗。史诗稍后将被分解为更容易放入单个迭代的更小的故事。此外,任何人都可以随时编写新故事并将其添加到产品待办事项列表中。
用户故事是否取代了需求文档?
敏捷项目,尤其是 Scrum 项目,使用产品待办列表,这是要在产品或服务中开发的功能的优先列表。尽管产品待办事项可以是团队想要的任何东西,但用户故事已经成为最好和最受欢迎的产品待办事项形式。
虽然可以将产品待办列表视为传统项目需求文档的替代品,但重要的是要记住,敏捷用户故事的书面部分(“作为用户,我想要……”)在讨论之前是不完整的关于那个故事发生。
通常最好将书面部分视为指向实际需求的指针。用户故事可以指向描述工作流程的图表、显示如何执行计算的电子表格或产品所有者或团队所需的任何其他工件。
- Theme vs Epic vs User Story vs Task
- What is DEEP in Product Backlog?
- How to Write Product Vision for Scrum Project?
- How to Use Scrum Board for Agile Development?
- Who Create Product Backlog Items or User Stories in Scrum?
- What is Agile Estimation?
- What is Story Point in Agile? How to Estimate a User Story?
- User Story Splitting - Vertical Slice vs Horizontal Slice
什么是用户故事 (User Story)?相关推荐
- 极限编程 (Extreme Programming) 和用户故事 (User Stories) 的关系
(Source: User Stories) 用户故事与用例具有相同的用途,但不尽相同.它们用于为发布计划会议创建时间估计.它们也用于代替大型需求文档.用户故事由客户编写,作为系统需要为他们执行的操作 ...
- 用户故事为什么要关联开发数据?
最近我和徐大神(Shaun Xu)在分享Scrum实践经验时,经常有听众问:"用户故事为什么要关联开发数据呢?".这个问题里提到的"开发数据"指的是代码提交.代 ...
- 用Leangoo敏捷开发工具如何管理用户故事?
用户故事(英语:User story)是指从用户的视角来表达软件需求的一种方式 用户故事不能够使用技术语言来描述,要使用用户可以理解的业务语言来描述.用户故事可以帮助研发团队理解真正的用户需求是什么, ...
- 怎么用leangoo做需求管理及规划?(产品Backlog、用户故事)
传统的瀑布工作模式使用详细的需求说明书来表达需求,需求人员负责做需求调研,根据调研情况编制详细的需求说明书,进行需求评审,评审之后签字确认交给研发团队设计开发.在这样的环境下,需求文档是信息传递的主体 ...
- 怎么用leangoo做需求管理?(用户故事地图)
用户故事是在敏捷开发中表达需求的主要方式,我们在做敏捷开发的时候都有需求池的概念,在Scrum中这个需求池就是产品backlog,需求池里面是条目化的需求,每一条通常是一个用户故事.按照Scrum的定 ...
- 如何处理scrum中未完成的用户故事?
你听过柏林新建机场的故事吗?机场原定2006年开工,2007年启用,但由于机场建设过程中到处出现施工和安全问题,补东墙漏西墙,导致工期一拖再拖,预算一涨再涨,以至于2019年了还没开张,预计开业时间已 ...
- 《用户故事与敏捷方法》阅读笔记一
在没有读本书之前,虽然课上老师也讲用户故事,但是其实一直是对这个概念比较模糊,当时的理解就是用户故事就是简单的模拟用户使用软件的情形,也仅仅是模拟用户使用软件的情形,没有什么其他太多的用户.但是读了这 ...
- SPIDR - 完美分割用户故事的五种简单技巧
根据INVEST原则,对用户故事的要求是它必须"足够小"或具有合适的大小.用户故事应该足够小,可以在冲刺中完成6-10个.当然这也取决于开发团队的速度.为了原则上实现这一目标,必须 ...
- 让用户故事真的像故事那样
早期用户故事写在卡片上,只需一个句子.随着越来越多的系统和产品采用敏捷开发,对于有些复杂长生命周期的系统和产品而言,用户故事的内容值得积累,以便后续追查和修改.另外一个情形是为了确保用户故事真的完成, ...
- 讲故事的用户故事样例之1
曾几何时开始,用户故事的写法成了 用户故事经典句式+验收条件. 在https://blog.versionone.com/agile-acceptance-criteria/ 上提供了如下一个故事的样 ...
最新文章
- hashmap是线程安全的吗?怎么解决?_解决SimpleDateFormat线程安全问题
- android获取状态栏截屏按钮状态,关于代码截屏带状态栏的问题
- severity distribution: tail of distributions
- 【机器学习基础】机器学习模型的度量选择(上)
- 4.如果容器中包含了通过new操作创建的指针,切记在容器对象析构前将指针delete掉
- ROS:使用ubuntuKylin17.04安装ROS赤xi龟
- win10安装RabbitMQ
- 【OPTEE开发】从TA到安全驱动的功能设计
- captcha must be filled out_直播行业这些英文单词,不知道你就out了
- C ++ stringstream –参考和使用指南
- aggs 聚合 取结果
- r4烧录卡内核安装_R4 Wood内核怎么用?R4烧录卡Wood R4内核详细使用教程
- 天津仁爱学院ACM工作室简介
- 如何提升自己的硬实力
- RM-MEDA的理解与分析
- 杨明 南京师范大学计算机学院,陈松灿教授、杨明教授、耿新教授应邀来我校做学术报告...
- bypass分流抢票(火车、高铁)
- 2.7——golang数据类型【字符串类型】
- 安全狗再次入选中国数字安全百强报告
- 日本語トレーニング45