欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用户故事与敏捷方法笔记---概览

程序员文章站 2022-06-11 08:54:33
...

提示:文章如有错误请留言


前言

《用户故事与敏捷方法》这一书初读之下感觉给了我不少的启发,为此记录下我学到的知识点。下边让我用书中一个有意思的例子开始我的文章:

一个三岁小孩子,她用脚趾头试了下水温,并告诉父亲:“水要暖点”。父亲把手放入水中,惊奇的发现水并不冷,水已经比她女儿习惯的水温更热了。父亲思考了一下女儿的要求,发现他们的沟通出了问题,相同的词代表不同的意思,孩子的要求“水要暖点”对任何大人的理解都和“提高水温”是一样。然而对于孩子来说“水要暖点”却是“让水温更接近孩子认为的暖的温度”。


提示:以下是本篇文章正文内容。

一、概览

用户故事与敏捷方法笔记---概览
接下来的所有理论都会伴随一个实际的例子,而所有例子都基于一个假想的职位发布和搜索网站。

1. 什么是用户故事?

	a. 用户故事描述了对用户,系统或软件购买者有价值的功能,用户故事以以下三方面组成。
		i. 一份书面的故事描述,用来做计划和提示
		ii. 有关故事的对话,用于具体化故事细节
		iii. 测试,用于表达和编档故事细节且可用于确定故事何时完成。
	b. 写在卡片上的用户故事
		i. 用户可以在网站上发布简历
		ii. 用户可以搜索职位
		iii. 用户可以发布新职位
		iv. 用户可以限制浏览其简历的人。
	c. 用户故事的定义决定了什么是有价值的用户故事,那么下边的“用户故事”明显有问题。因为用户明显不需要关注系统是什么语言编写的或者如何连接到数据库的。
		i. 这个软件将用C++语言编写
		ii. 程序将通过连接池连接到数据库

2. 细节在哪里?

	a. 先举个例子“用户可以搜索工作”这个故事明显缺少很多细节
		i. 用户可以搜索哪些值?省份?。。。。
		ii. 用户必须是网站会员吗?
		iii. 搜索参数要保存吗?
		iv. 。。。。。
	b. 如果一个故事非常大,如“用户可以搜索工作”这种故事被称为史诗故事(Epic)。这种故事可以被分为多个小故事。
		i. 用户可以看搜索结果中的每个工作信息。
		ii. 用户可以查看发布工作的公司的详细信息。
	c. 但是史诗故事并不需要不断的分解,例如下边的就是不合理的:
		i. 用户可以查看工作范围。
		ii. 用户可以查看薪水范围。
	d. 同样,用户故事不需要像典型的需求文档式扩充。

3. 必须多长时间完成?

	a. 通过知道客户给出的时间期望时间,可以分析出客户对于系统的期望,而且这个期望最好以验收测试的形式记录下来
	b. 测试描述可以简短,不完整,可以在任何时候加入或者删除。
	c. 测试描述还可以帮助开发人员了解需求。

4. 客户团队

	a. 在一个理想团队中我们会有一个专职人员为开发人员的工作排列优先级,回答他们的所有问题。
	b. 客户团队包括:测试人员,产品经理,实际用户和交互设计师。

5. 使用故事的过程

	a. 与传统的面相瀑布模型不同之处在于,传统模型客户和用户只在最开始的时候参与进来写需求,而结束的时候验收软件,在项目期间几乎不参与项目。而新的方法,而对于故事驱动的项目而言,最引人注目的是,客户和用户在整个项目中都参与其中。

6. 规划发布和迭代

	a. 在进行发布规划时,客户团队应该优先从排列故事优先级开始,在排列优先级时要考虑:
		i. 大部分客户和用户对特定特性的渴望程度。
		ii. 小部分重要用户和客户对特定特性渴望程度。
		iii. 故事之间的关系。
		iv. 不能考虑他们的成本。
	b. 如果客户和开发的意见出现分歧,那么以客户要求为主。
	c. 然后找到故事中的故事点,让开发描述预期速率。

7. 什么是验收

	a. 验收测试用来验证实现的用户故事是否符合客户团队的期望。

8. 用户故事的优点

	a. 它强调对话交流而不是书面沟通
	b. 它可以同时被所有人理解
	c. 它的大小适合于做计划
	d. 它适用于迭代开发
	e. 它鼓励推迟考虑细节,知道你非常了解你真正的需求。

总结

提示:如有问题请留言
下一篇 “编写用户故事”

参考书籍《用户故事与敏捷方法》