目录

如何理解「用户故事」

什么是用户故事

用户故事是一个简短而简单的功能描述,它为用户或客户带来价值,并且团队可以在迭代中交付这些功能。

用户故事应该回答三个问题:

  • 我们为谁实现它?——期望<用户>的类型
  • 我们实现的是什么功能?——我希望<功能>
  • 我们为什么要实现它?——<价值,和好处>

所以,用户故事的典型格式是:

作为一个<某种类型用户>,我想要<功能或场景>,以便<得到价值或好处>。

As a , I want to , so that .

例如:作为注册用户,我希望能够将我的照片下载到我的个人资料中,以便其他用户可以看到我的样子。

如何编写用户故事

层级结构

https://s2.loli.net/2024/01/21/rtYVuIEG3mALiTX.png
Epics/Features/User Stories关系图

准则

根据INVEST准则,用户故事应为:

  • 独立 Independent
    • 不依赖其他故事(这条其实,在现实中,很难实现,因为的确有一些故事依赖前置故事)。
  • 可协商 Negotiable
    • 并非一成不变,可以进行讨论。
  • 有价值 Valuable
    • 用户故事必须对业务具有明确且可量化的价值。这意味着重构、代码清理、架构设计等这类技术实践不是故事。同时这也意味着故事是一个垂直切片,它不可能是一个单独的前端或后端的任务。
  • 可估计的 Estimable
    • 足够清晰,交付团队可以很好地知道它有多大。
  • 足够小 Small
    • 用户故事应该不大于一到两个开发人员在一个迭代中实现的工作量。
  • 可测试 Testing
    • 应该能够提出用户故事的验收测试标准,通过这些测试意味着用户故事已完成。

我们使用的用户故事模板

https://s2.loli.net/2024/01/21/oRGT34VimkgLJOH.png
用户故事模板

故事编写FAQ

Q1:故事是否可以针对不同的端,进行拆分?

A1:如果故事本身涉及到了2个端(即移动端和PC端),如果2个端的故事点较大,且FE为不同的人,可以针对不同的端,进行故事的拆分。

Q1:故事点如果特别大,是否进行拆分?

A1:故事是否拆分的标准是,是否可以交付「用户可见的价值」,和故事点本身无直接关系。

如何进行故事点估算

什么是故事点

故事点是对一个故事的难度和工作量的估计,说白了就是一件工作的工作量的度量。故事点的估计值不是承诺,跟实际完成时间没有直接关系。

故事点的「通货膨胀」

代码质量、开发人员水平、对业务熟悉程度,都会影响交付速度,但是当不同的开发人员,进行故事点估算时,如果以完成时间为标准,就会造成每个人的故事点估算是完全不一样的,这就引起了「通货膨胀」。

https://s2.loli.net/2024/01/21/kMtcwg1P5vYGJUS.png
故事点的计算公式

计划扑克估算

如何估算,请查看之前的一篇文章的详细介绍