让用户故事真的像故事那样

zhangmike zhangmike     2022-12-14     214

关键词:

早期用户故事写在卡片上,只需一个句子。随着越来越多的系统和产品采用敏捷开发,对于有些复杂长生命周期的系统和产品而言,用户故事的内容值得积累,以便后续追查和修改。另外一个情形是为了确保用户故事真的完成,需要在前期就明确其验收条件(也翻译为接收条件),因此曾几何时开始,用户故事的写法成了 用户故事经典句式+验收条件。
https://blog.versionone.com/agile-acceptance-criteria/ 上提供了如下一个故事的样例。

As an executive, I want to be able to filter the dashboard by department so that I can isolate data by a specific department.【翻译:作为一个高层管理者,我想要根据部门来查看仪表板,这样我区分不同部门的表现。】

Acceptance Criteria:【验收条件】
● Given the Executive Dashboard default view, when I select the department drop-down, I have the ability to select a specific department to so only that data throughout the dashboard. 【给定:在高管仪表板缺省视图上,当:我选择部门下列列表时,然后:我可以选择一个指定的部门,这样只有这个部门的数据呈现到仪表板】
● Given the department drop-down, when I select a specific department, the entire dashboard filters to display only that department data.【给定:部门下拉列表,当:我选择一个部门,整个仪表板只显示这个部门数据】

遗留需讨论的问题有
1. “Hey Product Owner, does the Executive need to be able to Multi-select several departments?”
2. “How about grouping by division?”
3. “who can access the Executive Dashboard”

以上的故事正文就是故事经典句式所带来的一句话,加入了2个GWT。
利用上述格式,如果各类情况出现多的话,就会需要许多条GWT。

笔者综合用例规约写法,认为采用讲故事方法可以带来更好的故事表达方式。方法是把功能性验收条件采用正常步骤和异常步骤组合来表达,把非功能性验收条件作为非功能性要求来表达。具体而言,采用如下的故事格式。
故事标题:考虑卡片尺寸
故事简要说明:采用经典的故事一句话说明
故事起点:说明故事从哪里开始,其上下文
正常步骤:
1,采用流水号编号
2,此为示例
异常步骤:
1a,根据正常步骤编号来说明哪个正常步骤出现异常。
非功能性要求: 这里说明非功能性要求,功能性要求在上述步骤中说明

按照笔者的故事叙述方法(也称为讲故事方法,Story telling),试着来改写下以上故事,看看两个不同方法的比较。【此括号为说明,不是故事的内容】
Title标题: filter the dashboard by department
根据部门来查看仪表板
【简短的故事标题有利于看板展现和交流】
Brief 简介
As an executive, I want to be able to filter the dashboard by department so that I can isolate data by a specific department.
作为一个高层管理者,我想要根据部门来查看仪表板,这样我区分不同部门的表现。

Start Point 故事起点: the dashboard is shown
仪表板已经得到展现。【明确整个故事的起点,有利于展开后续的故事情节】
Normal Steps 正常步骤
【这下面的步骤是达成故事成功进行的,达成故事的目的】
1. executive select the department drop-down
2. system list all departments in drop-down
3. executive choose a specific department
4. the entire dashboard filters to display only that department data.
○ 4.1 department data is grouped by division(@furture,此标记意味着本次不包括,未来再考虑).
1,高管选择部门列表
2,系统列出所有部门名称
3,高管选择某个部门
4,仪表板只显示这个部门的数据
4.1 根据大区分组来查看部门数据(@未来)
Abnormal Steps:异常步骤
【这下面的步骤是上述正常步骤中可能碰到的异常步骤,3a意味在是第3步正常步骤出现的第1个异常情况】
● 3a executive choose 2+ departments by shift click or multi-selection, only first department will be choosen
3a,高管通过shift click或者多选,选择了2+个部门,系统只处理被选中的第1个部门

对于who can access the Executive Dashboard这个问题,本用户故事的起点是dashboard is shown,因此这个问题不在这个用户故事的范围之内,应当是在show dashboard那个故事当中。

综上,新的故事写法就说明完成了。需要说明的是虽然模仿了用例规约的写法,但与用例规约最大的差别是故事叙述不强制要求全面完整,而是按照敏捷拥抱变化的思想,在过程中按需补充。
这样做法明显的好处有:
1,对比GWT写法,所用文字更加简练,而且按步骤阅读,可读性更好
2,在WIKI类工具支持下,可以非常方便的向下分解,可以容易地把大故事拆分成小故事。

无法将组件导入故事书

】无法将组件导入故事书【英文标题】:Unabletoimportcomponentsintostorybook【发布时间】:2021-05-1208:16:14【问题描述】:我无法让我的第一本故事书工作。我正在使用最新的故事书版本和配置,并运行npxsbinit来执行此操作,如here所记... 查看详情

用户故事-匹配目标与角色

...productbacklog)项,尤其是产品功能类,敏捷团队通常使用用户故事(userstory)来表达预期的商业价值。 用户故事(userstory)的格式通常如下: 简洁的格式可以帮助团队完成较好的用户故事(userstory):容易让业务和技术... 查看详情

简洁的用户故事编写格式

...productbacklog)项,尤其是产品功能类,敏捷团队通常使用用户故事(userstory)来表达预期的商业价值。 用户故事(userstory)的格式通常如下: 简洁的格式可以帮助团队完成较好的用户故事(userstory):容易让业务和技术... 查看详情

读《用户故事与敏捷方法》有感

读《用户故事与敏捷方法》有感(四)  在一个大型项目中,尤其是有许多用户角色的项目,确定用户故事有时让人无从下手。我发现最好的办法是考虑每一个用户角色,了解用户使用我么软件的目的。  所以编写故事的时候... 查看详情

21天敏捷打卡-用户故事地图

...说敏捷流程中的一种,没有什么比亲身投入的效果更好。用户、组员需求方通过自身的投入、表达以便于让团队成员更加了解其想法和统一组员的想法。用户故事是一种思维,通即故事思维,运用故事的元素进行思考和设计,解... 查看详情

如何对一个产品编写完整的用户故事?

用户故事是敏捷项目管理的核心实践之一,除了定义、表达“公式”,本文将给大家分享用户故事的价值,比如用户故事在非技术的角度告知研发团队需求背景是什么,让研发团队更轻松的了解用户需求场景、目... 查看详情

用scrum工具leangoo领歌做敏捷需求管理

...在产品Backlog中对史诗故事进行拆分,将其拆解为更小的用户故事,从而让团队在后续的Sprint迭代中去逐步完成。建议团队为每个里程碑创建一个对应的产品Backlog,以便可以更好的在一个较小的产品Backlog内围绕当前里程碑史诗故... 查看详情

故事板静态表视图太多行

】故事板静态表视图太多行【英文标题】:Storyboardstatictableviewtoomanyrows【发布时间】:2015-09-0808:43:57【问题描述】:我在我的故事板中添加了一个静态表格视图。在tableview中有3个静态单元格。当我在模拟器中运行时,我得到了... 查看详情

用户故事与敏捷开发方法笔记03

  每个迭代过程后需要进行验收测试。验收测试有两个流程:1、将测试要点记录在故事卡的背面,任何时候发现新的测试,都可以记录下来;2、将测试要点变成全面的测试,这些测试用来演示故事已正确、完整地实现。... 查看详情

在 BDD 用户故事/验收测试中混合当时和何时

】在BDD用户故事/验收测试中混合当时和何时【英文标题】:MixingThenandWheninBDDUserStories/AcceptanceTests【发布时间】:2010-08-1822:44:50【问题描述】:您如何处理像这样具有长链的用户故事/验收测试,然后/何时混合在一起?是否最好... 查看详情

今天谈谈用户故事地图,不是用户故事

摘要:用户故事地图其实并非是将描述好的用户故事汇总在地图上。而是通过分析、梳理,将用户故事展现出来,进而汇成了一副用户故事地图。本文分享自华为云社区《浅谈用户故事地图》,作者:敏捷的... 查看详情

读书笔记:《用户故事地图》

《用户故事地图.UserStoryMapping》JeffPatton 著如果读过问题分析的金字塔原则,有过架构设计的,可以快速的浏览和理解该书所提供的用户故事分析方法。从文化、工作方式、思维方式的差异来看,敏捷方法必然有一个... 查看详情

在故事板中隐藏导航栏

】在故事板中隐藏导航栏【英文标题】:Hidenavigationbarinstoryboard【发布时间】:2012-05-1614:15:37【问题描述】:谁能告诉我如何在我的故事板中隐藏导航栏。我下面的代码在模拟器中运行时运行良好,但它仍然出现在我的故事板中... 查看详情

《用户故事与敏捷方法》阅读笔记05

第六章用户故事验收测试   在写代码之前验收测试可以为程序员提供很多编写程序的信息,让程序员考虑到更多的情况。写测试的时间一般为:①开发人员和客户讨论故事并且需要记录细节时②在迭代开始时,在写代... 查看详情

我的保研故事

...享的经验。于是不称其为经验贴,只是单纯聊聊我的故事。保研流程考虑到很多读者对于保研并没有明晰的认识,因此在讲我的故事 查看详情

我的保研故事

...享的经验。于是不称其为经验贴,只是单纯聊聊我的故事。保研流程考虑到很多读者对于保研并没有明晰的认识,因此在讲我的故事 查看详情

写好用户故事-明确产品需求《scrum精髓》

参考技术A【原文】写用户故事有一个通用模板格式,即写明用户种类(即用户角色),这类用户想要达成什么(目标)以及用户为什么想达成此目标(收益)。例如:作为一名典型用户。我想看到某地址周围参观的公平评论,... 查看详情

3星|《你的品牌需要一个讲故事的人》:有理论没案例

...一线品牌的致胜秘诀)全书强调品牌营销需要用故事打动用户,说了许多讲故事的技巧。看得出来作者真的比较有经验。全书一大缺陷是没有任何实际的商业案例,也没有任何的统计数据说明故事对品牌营销真的有作用。我尝试... 查看详情