felix-cao / Blog

A little progress a day makes you a big success!
31 stars 4 forks source link

User story 定义优点及三段式模板 #136

Open felix-cao opened 5 years ago

felix-cao commented 5 years ago

一、什么是 User story

User story 是从最终用户的角度对软件的 feature 进行的非正式、一般性的解释,目的是阐明软件功能将如何为客户提供价值。

User story 将最终用户置于敏捷开发的对话中心。User story 是敏捷开发中以人为本的最重要体现,以人为本是敏捷开发中的一个关键部分。

User story 使用非技术语言描写功能需求的来龙去脉,团队成员在阅读User story 之后便知道:为什么?干什么?创造的价值是什么?--- User Stories with Examples and Template

因此,User story 就是从最终用户的角度来描述用户渴望得到的功能,传递需求信息User story 不同于传统需求规格说明书,以简化的形式促进团队交流、降低修改成本、灵活调整接受变化,同时User story 以验收驱动的定义形式让所有干系人对最终的目标建立共识。

二、User story 的优点

2.1、聚焦用户

To Do list 让团队专注于需要核对的任务清单上,而 User story 使团队专注于为用户解决问题

2.2、强调沟通

User story 的一个核心在于对话(Conversation),客户和开发人员可以就某个User story` 深入的交流,对每个重要的细节达成共识。这避免了通过文字记录而可能导致的不精确性或语义多重性的问题。

2.3、实现协作

定义了最终目标后,团队可以共同决定如何最好地为用户服务并实现该目标。

2.4、驱动创造性的解决方案

User story 驱动创造性的解决方案,User story 鼓励团队批判性和创造性地思考如何最好地解决最终目标。

2.5、团队动力

团队解决每一个 User story 都会享受到一个小小的挑战和一个小小的胜利,这就是给团队提供源源不断的动力

2.6、人人都可以理解的User story

User story 使用一两句简洁明的日常语言写成,并且向用户或客户显示价值,不涉及专业的技术术语,从而使得用户和开发者理解起来都很容易。

2.7、适合于迭代开发

进入 SprintUser story 可以拆分为若干可开发测试完成的 Sub-task,保证一个User story在一个迭代周期内可以完成交付的。

三、User sotry 模板及案例

3.1、三段式模板:Role-Action-Benefits

用简单的句子来表达 User story ,结构如下

“As a [persona], I [want to], [so that].”

作为一个<用户>, 我想要<功能>, 以便于<价值> image

3.2、三要素

角色(Role)

谁要使用这个功能,即与软件系统交互的真实用户

行为(Action)

需要完成什么样的功能,指的是系统的行为

价值(Benefits)

为什么需要这样的功能?这个功能带来什么价值?

3.3、案例

Ron Jeffries的3个C 关于用户故事,Ron Jeffries用3个C来描述它: 卡片(Card) – 用户故事一般写在小的记事卡片上。卡片上可能会写上故事的简短描述,工作量估算等。 交谈(Conversation)- 用户故事背后的细节来源于和客户或者产品负责人的交流沟通。 确认(Confirmation)- 通过验收测试确认用户故事被正确完成。

四、六个特征: INVEST

如何写一个好的User story?一个优秀的 story 应该具备以下特点: image

Reference