撰写卓越的用户情景

什么是用户情景?

用户情景表示团队可以在迭代中交付的一小部分业务价值。传统要求(如用例)需要尽可能的详细,而用户情景则是增量定义,包括以下三个阶段:

  • 对需求的简要说明
  • 在积压工作梳理和迭代计划期间发生的用于细化详细信息的对话。
  • 确认情景的满意度完成情况的测试

格式良好的情景将满足 Bill Wake 的 INVEST 缩写条件:

独立 我们希望能够按任何顺序开发。
可协商 避免过多的详细信息;保持灵活性,以便团队可以调整要实施的情景数量。
有价值的 用户或客户获取情景的部分价值。
可估算 团队必须能将其用于计划。
小型 大型情景更难估算和计划。在执行迭代计划时,应该能够在迭代中设计、编写代码和测试情景。
可测试 记录导致出现测试用例的验收标准或情景的完成定义。

为什么使用用户情景?

  • 支持自己表达业务价值
  • 避免过早引入详细信息,这样会阻止设计选项并将开发人员固定在一个解决方案里。
  • 避免出现虚假完成和透明
  • 获取足够的小型数据块,可在积压工作中引入协商和移动
  • 保留架构师、开发人员、测试人员等的技术职能

如何编写用户情景?

情景入门时,模板可以确保您不会不经意开始编写技术任务:

作为用户类型>,我需要功能>,以便好处>

示例:

  • 作为使用方,我需要购物车功能来轻松实现在线购物。
  • 作为管理层,我需要生成报告来了解哪些部门需要提高生产力。

在编写用户情景时,尽量避免通用角色“用户”。用户情景是关于与系统交互或通过系统实现部分价值或优势的所有角色的。并非所有参与者都是最终用户。例如,角色可以是其他系统,也可以是需要某些功能来购买您的产品但是实际上从不使用该产品的人。创建聚合角色(如使用方)和专责角色(如浏览器或老顾客)可能会有帮助。

在 CA Agile Central 中,应在“说明”字段的顶部输入此模板。这样可以为详细信息和验收标准设定基调,这些内容将在以下输入。

用户情景的大小应该是多少?

一个用户情景应该足够小,以便在迭代中进行编码和测试,理想的周期是几天。当情景过大时,称为 Epic。如果积压工作项的优先级较低,将以 Epic 开始。对于发布计划,应将 Epic 拆分为较小的数据块,但是又无需小到将其移动到详细设计中。

用户情景的详细程度如何?

过于宽泛
  • 团队成员可以查看迭代状态。

过于详细

  • 团队成员可以查看包含排位、名称、大小、数据包、所有者和状态的情景的表。
  • 团队成员可以单击红色按钮以展开该表来包括详细信息,其中列出包含排位、名称、估算、所有者和状态的所有任务。

仅右边

  • 团队成员可以通过主要字段查看迭代的情景及其状态。
  • 团队成员可以在状态页面查看当前燃尽图,还可以通过单击查看更大的视图。
  • 团队成员可以在情景下查看或隐藏任务。
  • 团队成员可以从迭代状态页面编辑任务。

何时添加详细信息?

验收标准可提供该情景的“已完成定义”。随着情景详细信息的发展,捕获关键的详细信息作为验收标准。产品所有者应尽可能列出验收标准,以便阐明情景的意图。无论验收标准的详细程度如何,团队都应该对其进行讨论并调整该验收标准以捕获讨论结果。一旦迭代开始后,测试人员应该标准化验收测试中的验收标准。

在 CA Agile Central 中,将验收标准直接放在“说明”字段中的价值陈述中。交付团队成员可通过此方法在单独的位置查看所有情景信息。通过使用项目符号,您可以使每条标准都简洁清晰。

谁来使用用户情景?

创建:负责明确产品需求的客户、客户代理、产品所有者和其他人都可以提供用户情景。
所有权和维护:产品所有者拥有用户情景并负责编写、收集、维护和确定优先级。
用法:开发人员、测试人员、技术作家可以通过用户情景了解要实施的内容以及完成的时间。产品所有者基于用户情景的状态跟踪整体进度。管理层希望跟踪汇总到 Epic 或功能的用户情景。

人们最经常犯的错误有哪些?

  • 过于正式或过多详细信息。 善意的产品所有者通常会尝试编写极度详细的用户情景。如果团队在迭代计划时看到类似 IEEE 要求文档的情景,通常会假定所有详细信息都存在并且会跳过详细的对话。
  • 伪装成情景的技术任务。 敏捷开发的力量大部分来自在每次迭代结束时的软件工作增量。如果您的情景实际上只是技术任务,则通常不需要在每次迭代结束时结束正在运行的软件,否则会失去优先级排序中的灵活性。
  • 跳过对话。情景应在迭代计划之前故意保持模糊状态。如果您跳过验收标准对话,将面临错误方向、缺少边缘情况或忽略用户需求的风险。

示例

以下是 CA Agile Central 中的用户情景示例。此情景已在移向积压工作的过程中由团队在多个梳理和计划会议中讨论,并接近要排定到未来的迭代中。此用户情景的目的是未网购客户提供使用信用卡付款的功能。

反馈

需要更多帮助? CA Agile Central 社区为您提供一站式自助和支持。要将反馈或支持请求提交到 CA Agile Central 支持、获取解答并与其他用户协作,请加入我们的 CA Agile Central 社区