1--敏捷--用户故事的好处
来源:互联网 发布:linux sudo u 编辑:程序博客网 时间:2024/05/01 21:15
参考http://www.mountaingoatsoftware.com/articles/27-advantages-of-user-stories-for-requirements
极限编程引入了用户故事的形式来表达需求,它是功能的简短描述,对软件用户和客户都很有价值。下面是一个典型的用户故事(工作发布和搜索站点):
- 用户能够发布简历到网站
- 用户能够搜索工作
- 公司能够发布职位空缺
- 用户能够限制哪些公司可以查看她的简历
- 故事的描述,用于计划和作为一个提醒
- 详谈故事,以使故事细节具体化
- 测试,确认故事已经完成
在最近的咨询过程中,经常有客户问到“用户故事和用例是什么关系?”、“用户故事是不是取代了用例?”、“什么时候用用例、什么时候用用户故事?”、“特性和用例是什么关系?”。以下把我的想法整理了一下,首先先驳斥一些观点吧:
错误观点1:用户故事会取代用例;
如Martin在他的博客中所说的,用户故事和用例都是组织需求的方式,只是目的不同而已,用例的目的是为了把需求描述清楚,而用户故事的目的是把需求分解成可用于迭代计划的单元(http://martinfowler.com/bliki/UseCasesAndStories.html);
错误观点2:用例是不敏捷的;
其实,在写作用例的过程中,用户也可以根据需要将用例写到不同的详细程度(如概要级),所以,用例技术也是可以用到敏捷项目中的;
那么用例和用户故事是什么关系呢?或者说如何从用例导出用户故事呢?用例是许多个(可能是几百个)场景的抽象;用例是用基本流和备选流组合的方式来高效地描述这些场景(可能有几十个流),所以一个流可能对应多个场景(如在下图中备选流1就对应了场景B和D),而场景实际上是流的排列。
用户故事会包含一个或多个场景,也可能是一个场景的某些步骤,所以应该说在大多数情况下,一个用例会包含许多个用户故事。
在IJI的方法论当中,我们引入了另外一个概念叫用例模块,用例模块对应一个或几个流所代表的场景(功能需求)以及相关的非功能需求,用例模块还应该包含验证上述需求的测试用例。用户故事和用例模块基本上是在一个抽象层次的,或者是,用例模块是一种从用例分解到用户故事的方式。
- 1--敏捷--用户故事的好处
- 敏捷开发的用户故事怎么写?
- 用户故事与敏捷方法
- 敏捷开发之用户故事
- 敏捷开发—用户故事
- 《用户故事与敏捷方法》
- 用户故事Invest原则、敏捷与完整的需求
- 用户故事驱动的敏捷开发 – 1. 规划篇
- UDAD 用户故事驱动的敏捷开发 – 演讲实录
- 用户故事驱动的敏捷开发 – 1. 规划篇
- 用户故事驱动的敏捷开发 – 2. 创建backlog
- 敏捷开发用户故事系列之五:用户故事的分类
- 敏捷开发用户故事系列之六:用户故事的产生与组织结构
- 读书笔记1——《用户故事与敏捷方法》
- 敏捷开发用户故事系列之八:剖析用户故事描述语法(兼谈不同种类故事的语法)
- 【摘取】敏捷测试,用户故事:一个关于“货物送达时间”的故事的评估实例
- 敏捷开发中史诗故事与用户故事的颗粒度
- 敏捷开发用户故事系列之一:何为用户故事
- 单元测试
- Maven的基本原理和Maven2的新特性
- ABAP中两个DATABASE TABLE 的JOIN方法
- ApplicationContextAware
- nginx 技巧
- 1--敏捷--用户故事的好处
- 安装SQL2008的时候 出现.Net FrameWork错误
- (int *)&i 与int increment(int * & i) 相关理解的整理
- eclipse stp开发sca
- c# 多线程 调用带参数函数
- ABAP知识:LIKE LINE OF 和LIKE TABLE OF
- javascript 创建对象
- android 手势的学习
- Android中Input型输入设备驱动原理分析(一)