在软件开发和产品管理中,用户故事是对软件系统的一个或多个特征的非正式的自然语言描述。用户故事是敏捷软件开发中使用的工具,用于从最终用户的角度捕获软件功能的描述。用户故事描述了用户的类型,他们想要什么以及为什么。用户故事有助于创建需求的简化描述。
用户故事通常记录在索引卡,便利贴或项目管理软件中。根据项目,用户故事可能由各种利益相关者(如客户,用户,经理或开发团队成员)编写。
“ 用户故事是敏捷方法的一部分,有助于将重点从撰写需求转移到谈论它们。所有敏捷用户故事都包括一两句话,更重要的是,关于所需功能的一系列对话” - Mike Cohn,是Scrum软件开发方法发明的主要贡献者
需要灵活的软件解决方案来进行产品积压管理吗?Visual Paradigm支持强大的敏捷工具集,涵盖用户故事映射,亲和力估计,冲刺管理等。它功能强大但易于使用,直观且最重要的是AGILE。
免费下载
随着项目的进展,团队和客户会更多地了解系统,因此需求总会发生变化。期望项目团队处理静态需求列表,然后在几个月后交付功能软件,这是不现实的。
通过用户故事方法,我们用“足够”的方法取代大型前期设计。用户故事通过强调以客户为中心的对话来减少编写详尽文档所花费的时间。因此,用户故事允许团队更快地交付高质量的软件,这是客户的喜好。在敏捷开发中采用用户故事方法有很多好处,例如:
用户故事是一种轻量级方法,用于快速捕获产品需求的“谁”,“什么”和“为什么”。简单来说,用户故事是表达用户需要的需求概念。用户故事很简短,每个元素通常包含少于10或15个单词。用户故事是“待办事项”列表,可帮助您确定项目路径中的步骤。它们有助于确保您的流程以及最终产品满足您的要求。
用户故事以增量方式定义,分为三个阶段:
而这些,虽然被称为3C的 - 卡,对话和确认。我们稍后将在此用户故事指南中详细讨论此问题。
缩写INVEST有助于记住一组广泛接受的标准或清单,以评估用户故事的质量。如果故事不符合这些标准之一,团队可能想要重新编写,或者甚至考虑重写(这通常会转化为实际撕毁旧故事卡并编写新故事卡)。
一个好的用户故事应该是 - INVEST:
在开始编写用户故事时,模板可以帮助确保您不会无意中开始编写技术任务:
用户故事仅捕获需求的基本要素:
以下是70%的从业者使用的简单用户故事格式:
角色 - 用户应该是与系统交互的真实人。
操作 - 系统的行为应该写为操作。
好处 - 好处应该是真实的结果,它是非功能性的或系统外部的。
笔记:
用户故事是用日常语言编写的,并从个人(谁)的角度以及他/她想要的原因(为什么)描述特定的目标(什么)。
在软件开发中,目标通常是新产品功能,个人是某种类型的最终用户,原因是用户在目标产品功能中看到的好处。
在上面的例子中:
这不是一个规则,而是一个通过考虑以下因素来帮助您思考用户故事的指南:
另一位XP的创造者Ron Jeffries描述了我们最喜欢的用户故事思考方式。用户故事有三个主要组件,每个组件以字母“C”开头:卡片,对话和确认,用于描述用户故事的三个元素。哪里:
卡片代表2-3个用于描述故事意图的句子,可以被视为对话邀请。该卡作为令人难忘的令牌,其总结意图并代表更详细的要求,其细节仍有待确定。
在将它们带到团队之前,您不必将所有产品Backlog项目完全“预先”写出来。它承认客户和团队将在他们开展工作时发现所需的基础业务/系统。这一发现通过围绕用户故事的对话和协作来实现。卡通常遵循类似下面的格式:
作为产品的(角色),我可以(做行动)以便我可以获得(一些好处 /价值)
注意:
会话代表目标用户,团队,产品所有者和其他利益相关者之间的讨论,这是确定实现意图所需的更详细行为所必需的。换句话说,该卡还代表关于意图的“对话的承诺”。
确认代表验收测试,即客户或产品所有者将如何确认故事已经实现满意。换句话说,确认表示满足的条件,将用于确定故事是否满足意图以及更详细的要求。
用户故事应与利益相关者一起确定,最好通过面对面的会议。用户故事是需求发现过程,而不是前期需求分析过程。
在传统的需求捕获方法中,系统分析员试图了解客户的需求,然后详细准备系统的需求规范。这不是用户故事方法的工作方式。用户故事的识别更像是记笔记过程,而不是文档处理。我们列出了识别用户故事的主要步骤,如下所示:
从广义上讲,整个软件项目中每个用户故事有六种主要状态:
通过用户和项目团队之间的沟通,可以找到用户故事。在这种状态下,用户故事只不过是对用户需求的简短描述。没有详细讨论要求,没有系统逻辑,也没有屏幕设计。实际上,目前用户故事的唯一目的仅仅是提醒所有各方今后讨论用户故事(卡片)中写入的用户请求。用户故事有可能在将来被丢弃。
通过不同利益相关者之间的讨论,确定将在未来几周内处理的用户故事,并将其放入称为冲刺的时间框中。据说这样的用户故事处于待办事项状态。在这个州还没有进行详细的讨论。
当用户故事处于讨论状态时,最终用户将与开发团队通信以确认要求以及定义验收标准。开发团队会将要求或任何决定写下来作为会话记录。UX专家可以创建线框或故事板,让用户在视觉模型中预览建议的功能,并感受它。此过程称为用户体验设计(UX设计)。
在明确要求之后,开发团队将设计和实现这些功能以满足用户的要求。
在开发团队实现用户故事后,最终用户将确认用户故事。他/她将被允许访问测试环境或半完整的软件产品(有时称为alpha版本)以确认该功能。确认将基于详细描述用户故事时所写的确认项目来执行。在确认完成之前,用户故事被称为处于确认状态。
最后,确认该功能已完成,用户故事被视为已完成状态。通常,这是用户故事的结束。如果用户有新要求,要么是新功能,要么是对完成的用户故事的增强,团队将为下一次迭代创建新的用户故事。
用户故事是构建更好的产品待办事项的有用方式,以用户为中心,以实用,可操作的方式描述软件需求。但是,用户故事本身并没有透露整个图片,可以让您了解用户从加载应用程序到达到最终目标的那一刻所经历的更大旅程。
用户故事地图可以帮助我们将用户故事安排到可管理的模型中,以便系统地计划,理解和组织系统的功能。通过操纵地图的结构,我们可以识别积压中的漏洞和遗漏,并在意义结构中将用户故事相互关联; 帮助有效规划整体发布,为每个版本的用户和业务创造价值。用户故事地图允许您向待办事项添加第二个维度。以下是您应该考虑使用此技术的几个原因:
故事映射是一种自上而下的需求收集方法,表示为树。故事映射从用户活动开始。用户活动应达到特定目标。要完成活动,用户需要执行相关任务。这些任务可以转化为用于软件开发的史诗和用户故事。通常,用户故事地图由3个级别组成:用户活动/用户任务/用户故事。对于企业规模项目,通过在第三级引入Epics,可能更适合4级结构。
用户活动 - 它们在第二列中列出。这是系统必须支持的主要目标,具有切实的业务成果。整行构成了主干。
用户任务 - 每个用户活动都分解为一组称为叙述流的相关用户任务。整行形成行走骨架)
Epics /用户故事 - 每个用户任务都直接分解为功能实现的用户任务下面的Epics / User Stories。根据项目的复杂程度,您的团队可以选择3或4级故事地图,如上所述,它更适合您。
Visual Paradigm Story Map支持3级和4级复杂性,可以应对各种类型的项目。
3级故事地图(用户激活>用户任务>用户故事)
4级故事地图(用户激活>用户任务>史诗>用户故事)
使用分隔符来标识用户可能使用您的软件实现目标的任务切片。允许特定目标用户实现其目标的最少数量的任务构成了可行的产品版本,如下图所示:
如果你想开发这样的故事地图,请查看Visual Paradigm的故事映射工具。
与许多其他软件开发方法一样,如果您在软件项目中正确应用用户故事,您将能够生成高质量的软件系统,以赢得客户的信任和满意。以下是使用用户故事时需要记住的一些要点:
想要一个能够很好地管理Scrum项目的敏捷工具吗?Visual Paradigm具有用户故事映射工具,Affinity Estimation工具,sprint管理工具和任务管理。
免费尝试