What does INVEST Stand For?

一、Definition

The acronym INVEST helps to remember a widely accepted set of criteria, or checklist, to assess the quality of a user story. If the story fails to meet one of these criteria, the team may want to reword it, or even consider a rewrite (which often translates into physically tearing up the old story card and writing a new one).
A good user story should be:

  • "I" ndependent (of all others)
  • "N" egotiable (not a specific contract for features)
  • "V" aluable (or vertical)
  • "E" stimable (to a good approximation)
  • "S" mall (so as to fit within an iteration)
  • "T" estable (in principle, even if there isn't a test for it yet)
译文

首字母缩略词 INVEST有助于去记住一个被广泛接受的一套标准,或清单,来评估用户故事的质量。如果故事不符合下述条件之一,团队可能要改写它,甚至可以考虑重写(这往往转化为实际撕毁老故事卡,写一个新的)

二、原则 (INVEST)

2.1 Independent(独立的)

  • 每个 User Story 都是独立的,不要考虑与该 User Story 无关的事情。
例如:

作为一个用户,我希望可以看到登录界面,这样我就可以登录到系统中。

那么就不要考虑与登录无关的事情,专注于登录就好。

2.2 Negotiable(可协商的)

  • User Story 不是写好了就不修改了,客户和开发者需要经常沟通来确定最终的 User Story。因为很多细节往往在开发过程中才会考虑到。
例如:

用户可以选择学校

假设这是最初的 User Story 之一,开发到了一定阶段,会出现新的问题:

用户选择学校之后可不可以选择专业?

这就需要开发者和客户好好沟通,而且是口头沟通,以达到最好的效果。

2.3 Valuable(有价值的)

  • 每个 User Story 对于用户要有一定的实现价值。
例如:

作为用户,我希望点击逻辑题,可以进入到逻辑题页面,这样我就可以开始做题了。

对于用户来说,这个 User Story 的价值就是他可以通过点击逻辑题,进入到逻辑题页面,这样才可以答题。

2.4 Estimable(可估的)

  • 对开发人员来说,能估算故事的大小,或者是把故事变为可用的代码的时间量是很重要的。一般有以下3个原因会导致故事不可估计。
  1. 开发人员缺少领域知识
  2. 开发人员缺少技术知识
  3. 故事太大了
例如:

一个找工作的人可以找到一份工作。

这个故事就太大了,不可估计。我们要估计它,就要把它分解成多个更小的故事。

2.5 Small(较小的)

  • 故事的大小很关键,故事太大或者太小,都无助于制定计划。
  • 合适的故事大小最终取决于团队、它的容量及所使用的技术。
例如:

用户可以登录。

这个就有点大,就可以分为:

1. 作为一个用户,如果输入正确账号及密码,我可以登录到系统中。
1. 作为一个用户,如果输入错误密码,那么我将无法登录到系统中。

2.6 Testable(可测试的)

  • 必须是可测试的,成功通过测试可以证明开发人员正确的实现了 User Story。
例如:

用户绝不需要花很多时间等待窗口出现。

这个就是不可测试的。这个 User Story 可以改为:

在95%的情况下,新窗口会在2秒内打开。

三.推荐阅读

1.INVEST in Good Stories, and SMART Tasks

参考文章

What does INVEST Stand For?
总结 User Story 的一些原则

你可能感兴趣的:(What does INVEST Stand For?)