INVEST简写是什么意思?

  INVEST是一个缩写,可以帮助产品经理或开发人员创建高质量的用户故事。 INVEST代表Independent独立,Negotiable可协商,Valuable有价值,Estimable可估计,Sized-Suitablely大小适当,Testable可测试。

  I - 独立:如果可能的话,用户故事应该是独立的的,以避免依赖于其他用户故事。由于敏捷方法的一个特点是灵活和重新划分重要内容的优先级,因此独立用户故事可以在迭代规划期间提供灵活性。如果发现用户故事彼此依赖,则可以将较小的相互依赖的用户故事组合在一起。类似地,可以将较大的依赖用户故事划分为较小的故事,以便其中一个新的较小故事包含并隔离较大故事的重叠部分。


  N - 可协商:用户故事可以随时更改或重写,直到编码为止。这进一步支持了与敏捷方法相关的灵活性。由于需求的优先级经常演变为上升或下降,用户故事应该能够适应不断变化的需求。


  V - 有价值:用户故事代表最终用户或购买者的目标,并且应该交付被认为有价值的功能。这意味着技术设计的细节并不需要作为用户故事的文档。一些技术要求具有对用户有价值的组件。用户可能希望页面在2秒内加载。用户故事将指定需要2秒的页面加载时间,而实际的实现的具体细节将被省略。


  E - 可估计:应始终能够估计用户故事的大小。有时,开发人员不具备确定特殊情况或用户故事所需的经验时,用户故事可以分为两个单独的用户故事。第一个是“尖峰”,开发人员在此进行一些快速研究,以确定某事的可行性,或者更好地了解实现该特定功能可能需要多长时间。尖峰始终是时间框,意味着它被限制在预定义的时间量内。 “尖峰”用户故事可能被命名为“研究(某事)以确定......”,而第二个用户故事则是实际交付功能的地方。应将这两个用户故事安排为两个单独的迭代,例如可以完成尖峰,并在编码开始之前评估第二个用户故事的可行性。如果出现问题,团队就有时间做出反应。


  S - 大小适当:用户故事不应太大或太小。那么你如何决定什么尺寸是正确的。首先,任何开发人员在单次迭代中无法完成的用户故事(或者一对开发人员在使用配对编程时无法完成)都太大了。用户故事应细分为两个或更多小故事。同样,没有必要仅仅为了分解功能而使用户故事过于细化。如果功能组合在一起并相互补充,则制作单个用户故事是有意义的。例如,“作为求职者,我希望能够在我的电子简历上添加,删除和编辑工作技能,以便我能够准确列出我的技能。”没有理由分开“添加,删除,并编辑“进入多个用户故事,除非其中一个创建大量的工作,使用户的故事太大,无法进行迭代。


  T - 可测试:用户故事必须是可测试的,以确保开发正确完成。那么用户故事什么时候不可测试?通常,如果分析师不仔细,以不可测试的方式编写了非功能性要求。考虑一下这个例子,“页面应该总是快速加载”。本声明中有两个不可测试的组件; “总是”和“快速”。一个可测试的陈述是“页面应在97%的时间内在1.5秒内加载”。

敏捷