我是敏捷/TDD世界的新手,并试图让自己的一些基础知识。这与我应该实现用户故事的方式有关。

例如,让我们假设我有2个以下的用户故事,从一个假设的内容管理系统开始:

故事1:
作为一个 内容作者
我需要 能够创建新闻文章
以便 它们可用于吸引用户进入网站

故事2:
作为一个 编辑
我需要 能够查看现有文章
以便 我可以审查它们以提高质量

我接近这一点的方式是

  • 我会抓住其中一个用户故事
  • 打破 我需要 用户故事的一部分成较小的任务
  • 一一抓住这些任务并提出测试以涵盖特定任务
  • 实施TDD方式

我的困境关于 作为一个 用户故事的一部分。
特别是在这些示例中,它们间接暗示了一些 身份验证,授权 我的相关要求是因为用户故事提到了两个用户类别。

所以我的问题是,我是否应该有任何任务/测试来控制系统的身份验证/授权以完成这些用户故事
或者
我应该只关注 我需要 尝试实施功能的一部分用户故事,并等待任何专门提及的用户故事 身份验证,授权 相关要求?

您的所有投入都非常感谢。

干杯。

有帮助吗?

解决方案

您绝对应该专注于 我需要 零件并考虑 作为一个以便 作为某种背景。

您的故事中有许多漏洞。基础授权/身份零件是一个,我看到的另一个是 这样我就吸引了更多的访问者进入我的网站 是您无法真正测试的东西,因此您应该再考虑一下并找到另一个(可能是简单而不是很不同的东西 这样我就可以将它们放在我的网站上吸引更多访问者)。我相信,使用这种格式 以便 部分应包含一些关于如何测试故事的大概的想法。

实际上,我为我的故事使用了一些不太正式的东西:标题,简短的描述以及如何进行演示的一些解释。我还添加了一些优先级值(对产品所有者很重要)和对工作金额的粗略估计。最有用的部分可能是 如何演示 因为这将有助于编写测试(如有必要,在破坏故事之后,但如果可能的话,我也更喜欢保留故事短裤以避免打破它们的需要)。另外,我尽量不要将故事分解为任务,而要涉及较小的故事。任务通常与您如何做某事有关,您应该专注于想要的结果。

就您而言,最肯定会有其他故事,有一天会有一个关于身份验证的故事,但这不应阻止您现在编码页面。只要逐步逐步进行,请保持故事的简单(您有测试,以后进行重构很容易),您会很快就会感觉到对您有用的感觉。

你应该看一本好书 沟渠中的Scrum和XP 看看他们如何做。

其他提示

担心现阶段的含义。

用户故事应该是:

  • 一世 独立的 用户的故事应自行包含,以某种方式对另一个用户故事没有固有的依赖性。
  • n 可以协商: :用户故事,直到他们属于迭代的一部分,始终可以更改和重写。
  • v 有价值的: :用户故事必须为最终用户提供价值。
  • e 可估计: :您必须始终能够估计用户故事的大小。
  • s 尺寸适当 或者 小的: :用户故事不应该大大,以至于不可能以一定程度的确定性计划 /任务 /优先级。
  • t 可测试: :用户故事或其相关描述必须提供必要的信息,以使测试开发成为可能。

[来源,维基百科]

如果他们尚未成为Wriiten,则可以将授权故事添加到产品积压的范围内,以供产品所有者优先考虑。授权故事可能会被其他一些团队(例如您的网络管理或类似)接收,因此专注于提供您正在研究的故事要求的功能性。

词组

"作为一个 内容作者 我需要 能够创建新闻文章 以便 它们可用于吸引用户进入网站”

不是故事。这是一个适合卡片或电子表格列中的故事的摘要,并代表故事,因此您可以记住您在谈论哪一个。整个故事由三个部分组成 - 卡,对话和确认 - 您需要的部分是对话。

与您的团队中的用户或用户代表交谈,以了解其真正的含义。

作为一部分,并不意味着身份验证或授权。以相同的方式,您可以写一个用户故事:

  • 作为新访客...
  • 作为返回的访客...

这是否意味着必须对访客进行身份验证?有什么授权顾客?用户故事不应包括“隐藏要求”。如果您需要身份验证和授权,请为此创建用户故事。

部分指定您的应用程序中的用户角色类型。每个角色都有一些特殊的需求和要求,并使用了不同原因的应用。在开始编写用户故事之前,您应该尝试收集角色。

用户故事不仅包含描述。它应包含在过程的不同阶段添加的其他信息。

  • 以定义格式描述。您不必用作...我需要...所以...如果您认为它不符合您的需求,但是您应该为所有故事使用相同的格式。
  • 国防部 - 完成的定义也称为接受标准。这应该用描述收集。没有国防部的用户故事是没有用的。国防部说开发人员有关用户故事的其他信息。仅当用户故事完成DOD时才完成。您还可以根据这些标准创建自动接受测试。
  • 客户设定的优先级 - 这将帮助您通过重要性对用户故事进行分类
  • 估计 - 由团队制作。估计不准确,它应该基于用户故事之间的比较。估算的通常单位是抽象的故事点或T恤的大小。

还要注意,并非每个用户故事都直接分解为任务。您可以拥有大型高级用户故事,该故事将首先分解为较小的用户故事。我们称这种用户的故事为史诗。

最初,您可以假设用户有权进行更改,然后以后将授权作为单独的故事解决(当它们成为积压中最重要的项目时)。

这具有使您的故事范围保持较小的好处,因此它们更易于使用,并且还将最初的故事以可能可部署的状态较早地使用。

至少我会催生故事:

  1. 认证用户
  2. 注册作者 /编辑...或注册用户,分配权限

如果没有人知道如何在故事层面处理这些方法,我会与电话/启动IM交谈并与他们联系. 。您可以在较低级别的情况下为您无法实施的功能进行TDD,但是端到端故事上的任何测试自动化都应遍历用户的作用。

这些故事的目的是您可能在基础任务中思考,但是从用户的角度来看,您最终可能会发现客户想要更多带有带有现有帐户感觉的OpenID/登录名的博客。 毕竟它的敏捷性,它的滚动 /完整交流方式,而不是在大分析 +设计阶段中定义的所有方式.

当可能与项目无关的情况下,将秒的思想奉献给用户名/密码/哈希/等是没有意义的.

无论您做什么,请保持简单。

PS。它是故事的不可或缺的一部分,它恰好取决于其他故事.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top