如何编写敏捷开发中的user story
http://blog.csdn.net/chengyb74/article/details/4762247
对于敏捷开发来说,User Story是开发的基础,它不同于传统的瀑布式开发方式,而是把原本需求拆成最小粒度的Story,以方便拆分Task,估计开发时间,领取开发任务。
优点和好处
- Being very short. They represent small chunks of business value that can be implemented in a period of days to weeks.
- Allowing developer and client to discuss requirements throughout the project lifetime
- Needing very little maintenance
- Only being considered at the time of use
- Maintaining a close customer contact
- Allow projects to be broken into small increments
- Suited to projects where the requirements are volatile or poorly understood. Iterations of discovery drive the refinement process.
- May be easier to estimate development effort
User Story模板
User Story可以遵循以下模板:As a <User Type> I want to <achieve goal> So that I can <get some value>
翻译成中文就是:作为一个<某种类型的用户>,我要<达成某些目的>,我这么做的原因是<开发的价值>。
User Story应遵循INVEST规则
- Independent 独立性,避免与其他Story的依赖性。
- Negotiable 可谈判性,Scrum中的story不是瀑布开始某事中的Contract, Stories不必太过详细,开发人员可以给出适当的建议。
- Valueable 有价值性, Story需要体现出对于用户的价值
- Estimable 可估计性,Story应可以估计出Task的开发时间。
- Sized Right 合理的尺寸, Stories应该尽量小,并且使得团队尽量在1个sprint(2 weeks)中完成。
- Testable 可测试性, User Story应该是可以测试的,最好有界面可以测试和自动化测试。每个任务都应有Junit Test.
一些经验:
- 永远不要在User Story中使用And和Or,因为这是些分支词就表示分支任务,把它们拆成两个Story.
- 数据整理:通常情况下1个sprint(2周一次迭代)可以做4~5个Story,极端大的Story不可大于1个sprint。
- 数据整理:通常情况下1个sprint(2周一次迭代)可以做50个左右的Task。
- User Story用于描述用户故事,不要包括任何的技术,框架等内容。Task可以包括框架,技术等内容。
如何编写敏捷开发中的user story的更多相关文章
- 敏捷开发中的sprint是什么意思_百度知道
敏捷开发中的sprint是什么意思_百度知道 敏捷开发中的sprint是什么意思 未成年RB21 | 浏览 4208 次 推荐于2016-02-27 15:19:02 最佳 ...
- 敏捷开发中如何做好Sprint规划?
什么是Sprint规划? Sprint规划是scrum中用来启动Sprint的事件.迭代规划的目标是定义Sprint可以交付的内容,以及如何完成各项工作.迭代规划需要整个scrum团队合作完成. 与体 ...
- 敏捷开发中的Scrum流程和术语【转】
任何人力流程都离不开人来执行,所以在讲解Scrum流程之前,有必要先把Scrum中的角色讲一下. 一天,一头猪和一只鸡在路上散步,鸡看了一下猪说,“嗨,我们合伙开一家餐馆怎么样?”,猪回头看了一下鸡说 ...
- 以一则LUA实例说明敏捷开发中“分离构造和使用”原则
分离构造和使用 构造含义是功能的实现, 此功能是一个定义明确的处理过程, 开放出明确的接口给调用者使用. 则使用者可以直接调用接口进行使用, 但是使用者需要搞清楚, 那些是构造, 那些是使用. 不要再 ...
- CMMI V2.0丨如何通过CMMI真正在企业中的实施规模化敏捷开发
在过去的几年中,敏捷开发已经从一个利基概念(利基是指针对企业的优势细分出来的市场,这个市场不大,而且没有得到令人满意的服务.产品推进这个市场,有盈利的基础.)转变为全球许多大公司采用的标准实践. 通过 ...
- 敏捷开发之道(二)极限编程XP
上次的博文敏捷开发之道(一)敏捷开发宣言中,我们介绍了一下敏捷开发宣言,在其中,我们了解到了关于敏捷开发的几个重要的价值观.今天我们来了解一个敏捷开发的方法--极限编程XP 1.介绍 极限编程(eXt ...
- 敏捷开发系列之旅 第二站(走近XP极限编程)
http://blog.csdn.net/happylee6688/article/details/21551065 上篇文章,我们探讨了什么是敏捷开发,以及敏捷开发的方法学.在这篇文章中,我们将继续 ...
- 敏捷开发概述与路线(转自MBAlib)
敏捷开发的概述 简单的说,敏捷开发是一种以人为核心.迭代.循序渐进的开发方法.在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征.换言之,就是把一个大项 ...
- 从IT的角度思考BIM(三):敏捷开发
人们看到了远处BIM的美丽胜景和阻挡在眼前的宽广河流.有些人自信满满地跳入河中打算孤身游过彼岸,可是却失败了.有些人匆匆忙忙地造了船胡乱地滑向彼岸,可是也失败了. 要如何继续这段探索之旅? 无论是&l ...
随机推荐
- IP地址理解_IP地址=网络地址+主机地址,但是具体前面多少是网络地址看题目说明
题目: 属于网络112.10.200.0/21的地址是() 112.10.206.0 112.10.217.0 112.10.224.0 112.10.198.0 分析解答: 总结: 首先,明白后 ...
- Linux学习三部曲(之三)
今天用linux的时候,想到在windows客户端上传文件到linux服务端. 下面介绍一种方法. 可以通过SecureCRT上传.下载文件(使用sz与rz命令). 1. 安装 lrzsz 在Secu ...
- Linux学习三部曲(之一)
作为.NET程序员,一直以来都是windows环境下工作,很少接触到linux系统.但是随着微软跨出跨平台这一步之后,相信.NET程序员在linux平台进行开发也会变得越来越寻常. 所以,今天这篇文章 ...
- WebGIS基础复习笔记
明天要考试了,突击一下. 1.万维网:www是world wide web的简称是在超文本基础上形成的信息网 2.互联网:即广域局域网及单机按照一定的通讯协议组成的国际计算机网络 3.WebGIS:网 ...
- 关键字 extern
定义:extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中.编译器会到其他模块中寻找其定义. extern int f(); extern int i; extern关键字 作为 ...
- bzoj 1040 骑士
这题真不爽,各种WA,写个题解浏览器还挂了,真不爽. 所以不多说了,就说关于判断是否是父节点的问题,不能直接判,会有重边,这种情况只能用编号判,传进去入边的编号,(k^1) != fa,这样就可以了. ...
- C/C++易错小记录
一:对字符串的 strlen() 与 sizeof #include <string.h> #include <stdio.h> int main(void) { char* ...
- [CSS]下拉菜单
原理:先让下拉菜单隐藏,鼠标移到的时候在显示出来 1>display 无动画效果,图片是秒出 2>opacity 有动画效果,我这里是1S出现,推荐配合绝对定位使用
- JavaScript null and undefined
http://stackoverflow.com/questions/6429225/javascript-null-or-undefined var x; x == null // true x = ...
- jquery Loading图片延迟加载特效
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...