总结 User Story 的一些原则

暑假做项目的时候有写 User Story ,但是当时也没有正式的总结过相关的一些原则,有看到一篇文章,写的就是写 User Story 需要注意的点,10 Tips for Writing Good User StoriesRead more ,所以今天来简单总结一下 User Story 的一些原则。

什么是 User Story?

** User Story ** 是一段简单的功能叙述,以客户或者使用者的观点撰写下有价值的功能,代表客户的一个需求。

初学范本

作为一个 XXX,我希望可以 XXX,这样我就可以 XXX。

原则 (INVEST)
  • Independent(独立的)
    • 每个 User Story 都是独立的,不要考虑与该 User Story 无关的事情。

** 例如 **

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

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

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

** 例如 **

用户可以选择学校

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

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

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

  • Valuable(有价值的)
    • User Story 对于用户要有一定的实现价值。

** 例如 **

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

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

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

** 例如 **

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

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

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

** 例如 **

用户可以登录

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

  1. 作为一个用户,如果输入正确账号及密码,我可以登录到系统中
  1. 作为一个用户,如果输入错误密码,那么我将无法登录到系统中
  • Testable(可测试的)
    • 必须是可测试的,成功通过测试可以证明开发人员正确的实现了 User Story。

** 例如 **

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

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

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

总结

总的来说,User Story 就是要站在用户的角度来写,在写的过程中遵循上述几条原则即可。
希望大家都可以写出符合规则的 User Story ,干巴爹!

你可能感兴趣的:(总结 User Story 的一些原则)