User Story基本含义
对于Scrum开发来说,User Story是开发的基础,它不同于传统的UDD开发方式,而是把原本需求拆成最小粒度的Story,以方便Scrum小组拆分Task,估计开发时间,领取开发任务。
User Story不需要太过于详细,只有在正式开发时,做详细设计时在进入Detail阶段,如果初期时间估算不准确,实际工作量增多时,Sprint Chart需要适当的Burn-up。
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.
具体描述参照以下网站:
http://www.slideshare.net/craigwbrown/invest-in-good-user-stories-presentation
一些经验:
1. 永远不要在User Story中使用And和Or,因为这是些分支词就表示分支任务,把它们拆成两个Story.
2. 数据整理:通常情况下1个sprint(2周一次迭代)可以做4~5个Story,极端大的Story不可大于1个sprint。
3. 数据整理:通常情况下1个sprint(2周一次迭代)可以做50个左右的Task。
4. User Story用于描述用户故事,不要包括任何的技术,框架等内容。Task可以包括框架,技术等内容。