1.1. 什么是用户故事?

用户故事描述了对用户、系统或软件购买者有价值的功能

用户故事由以下三个方面组成:

  • 一份书面的故事描述,用来做计划和提示
  • 有关故事的对话,用于具体化故事细节
  • 测试,用来表达和编档故事细节并且可以用于确定故事何时完成

基于Ron Jeffries提出了3C原则,对用户故事的最佳诠释应该是这样。

卡片(Card)包含了故事的文字说明,然而需求细节要在“对话(Conversation)”中获得,并在“确认(Confirmation)”部分得以记录。

例子

我们所有的例子都是来自一个假想的职位发布和搜索的招聘网站。

好的故事雏形例子:

  • 用户可以在网站上发布简历
  • 用户可以搜索职位
  • 公司可以发布新职位
  • 用户可以限制浏览其简历的人

不好的例子:

  • 这个软件将用C++语言进行编写
  • 程序将通过连接池连接数据库

第一个不好的例子,对于招聘网站来说,它的用户根本不关心系统是用什么语言来写的。

第二个不好的例子也不是一个很好的用户故事,因为用户没有必要关心应用如何连接数据库之类的技术细节。

关键在于故事应该以对用户有价值的方式写下来。