本篇用于给自己后续慢慢看,对敏捷感兴趣的小伙伴,可以自行去看官方文档或者各种网站的视频讲解,更详细。
对于敏捷开发来说,User Story是开发的基础,把原本需求拆成最小粒度的Story,以方便拆分Task,估计开发时间,领取开发任务。
一. INVEST原则
User Story可以遵循以下模板:As a <User Type> I want to <achieve goal> So that  I can <get some value>  翻译成中文就是:作为一个<某种类型的用户>,我要<达成某些目的>,我这么做的原因是<开发的价值>。
Story 应该遵循  INVEST原则
  • Independent 独立性,避免与其他Story的依赖性。
  • Negotiable 可谈判性,Stories不必太过详细,开发人员可以给出适当的建议。
  • Valueable 有价值性, Story需要体现出对于用户的价值
  • Estimable 可估计性,Story应可以估计出Task的开发时间。
  • Sized Right 合理的尺寸, Stories应该尽量小,并且使得团队尽量在1个sprint(2 weeks)中完成。
  • Testable 可测试性, User Story应该是可以测试的,最好有界面可以测试和自动化测试。每个任务都应有Junit Test.

user story: 代表一个 user feature。基于INVEST原则写的story,应该是大家看懂的。如果哪个角色看不懂一个 story,那么大家会认为有可能这个 story本身有问题。我们可以让PO去澄清一下,追加 comments补充或者修改一下 story的requirement的描述。一定要强调的是,user story一定是从用户的角度来描述用户渴望得到的功能。尽管 user story拥有模板,但是不提倡一个 story就一句话描述,验收条件对一个 story来说至关重要。我们在jira或者confluence上面同样还有 Epic的概念,Epic 翻译成史诗,即非常大(巨大)的用户故事。一个 Epic会拆分成多个 user story。

user story 的 3C原则:3C是收集用户故事的有效手段,包括以下。

  • 卡片(Card):用户故事一般在小卡片上写着故事的简短描述,工作量估算等。
  • 交谈(Conversation):用户故事背后的细节来源于和客户或者产品负责人的交流沟通。
  • 确认(Confirmation):通过验收测试确认用户故事被正确完成。
《敏捷估算与规划》书中介绍了两种基本的方法: 理想人天法和故事点法。
相对来说理想人天法是在需求非常明确情况下,进行编码和测试工作所花费的时间。问题是对于同一个项目不同的人根据其能力和经验的不同,会有不同的理想人天。实际项目应用中,最好别用。
故事点法就是按照故事卡的规模和难度,给予每张故事卡一个点数。这也是实际项目中用到的比较多的。需要注意一点,1点数不等于1人天,点数代表的是难度系数。后续可以通过点数以一定比例整理成人天数,比例规则不同项目不同预算不同分析。

杂谈--User Story的更多相关文章

  1. 【转】PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数

    原文地址: PHP 杂谈<重构-改善既有代码的设计>之一 重新组织你的函数 思维导图   点击下图,可以看大图.    介绍   我把我比较喜欢的和比较关注的地方写下来和大家分享.上次我写 ...

  2. 【管理心得之三十二】PMP杂谈---------爱情必胜术

    这次一反常态,没有场景设计,我想借此文普及一下PMP是什么? 但我不知道这样枯燥的话题能否能引起你的兴趣,我不得不套用“标题党”<爱情必胜术>来博你眼球. 我真没有说谎,此文是献给那些孤身 ...

  3. [python爬虫] Selenium定向爬取海量精美图片及搜索引擎杂谈

    我自认为这是自己写过博客中一篇比较优秀的文章,同时也是在深夜凌晨2点满怀着激情和愉悦之心完成的.首先通过这篇文章,你能学到以下几点:        1.可以了解Python简单爬取图片的一些思路和方法 ...

  4. 杂谈:HTML 5页面可视性API

    译文来源:http://www.ido321.com/1126.html 原文:HTML5 Page Visibility API 译文:HTML 5的页面可视性API 译者:dwqs 在早期,浏览器 ...

  5. Ⅸ.spring的点点滴滴--IObjectFactory与IFactoryObject的杂谈

    承接上文 ObjectFactory与IFactoryObject的杂谈 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class parent { pu ...

  6. 子树大小平衡树(Size Balanced Tree,SBT)操作模板及杂谈

    基础知识(包括但不限于:二叉查找树是啥,SBT又是啥反正又不能吃,平衡树怎么旋转,等等)在这里就不(lan)予(de)赘(duo)述(xie)了. 先贴代码(数组模拟): int seed; int ...

  7. 杂谈之SolrCloud这个坑货

    杂谈之SolrCloud这个坑货 看<Solr In Action>时候看到对Solr不足的介绍有这么一段话:“One final limitation of Solr worth men ...

  8. 杂谈之不同行业的Solr

    杂谈之不同行业的Solr 前几天去一家互联网创业公司面试搜索引擎开发工程师,结果被pass了,仍不住想来吐槽下.尽管当时面试没啥准备,也没表现好,但是也学到了不少东西.现在就随便吐槽一下吧. 本人是在 ...

  9. iOS APP安全杂谈

      iOS APP安全杂谈 高小厨 · 2015/06/30 10:16 0x00 序 以前总是在这里看到各位大牛分享其安全渗透经验,而今我也很荣幸的收到了乌云的约稿,兴奋之情难以言表.由于IOS是一 ...

  10. WPF 杂谈——开篇简言。

    这俩年多来笔者一直在从事关于WPF的开发.虽然不能说是专家级别的.但是对于WPF的应用还是有一定的了解.论他的灵活性决对不在WinForm之下.WPF的出现更是引发一段热议.他的何去何从更是让很多人感 ...

随机推荐

  1. mysql设置表名不区分大小写

    1.root登录,修改/etc/my.cnf2.在mysqld下加入:lower_case_table_names=13.重新数据库

  2. 【摘】python和它的装饰器

    python和它的装饰器 即使你没听过装饰器,你也一定知道@staticmethod 作为函数的装饰器,你可以这样写 def mydecorator(function): def wrapped(*a ...

  3. windows根据文件名找到进程,并杀死进程。

    背景:最近因为工作原因,装了360杀毒引擎,完了就卸载了.发现一直提示文件正在使用无法删除.文件无法访问等等.经过一系列操作,安全模式下都无法删除,恶心死了... 1.shirt + del 按文件夹 ...

  4. 《动态规划学习笔记》Day1-数字金字塔

    这是一道经典的洛谷水题了,虽说是IOI的(但毕竟很古老了),然后我提供一下我的思路吧. 链接洛谷题面:https://www.luogu.com.cn/problem/P1216 首先,金字塔的输入规 ...

  5. <canvas>标签画登陆页鼠标滑过效果

    canvas 标签画登陆页鼠标滑过效果 如需js请留言.JS在个人博客日记中. <!DOCTYPE html> <html lang="en"> <h ...

  6. 第12组 Beta冲刺 总结

    1.基本情况: 组长博客链接:https://www.cnblogs.com/yaningscnblogs/p/14050343.html 答辩总结:答辩中,对于老师提出的意见,我们认为能够帮助我们更 ...

  7. IntelliJ IDEA 2021.2 暴力破解

    注意 本教程适用于 IntelliJ IDEA 2021.2 以下所有版本,请放心食用~ 本教程适用于 JetBrains 全系列产品,包括 Pycharm.IDEA.WebStorm.Phpstor ...

  8. Java数据类型基础

    Java 数据类型基础 数据类型 强类型语言 要求变量的使用要严格符合规定,所有变量必须先定义后使用 Java数据分为两大类 基本类型(primitive type) 数值类型 整数类型 byte(1 ...

  9. 优先使用C++的别名声明(using)来替换typedef

    C++98中,我们如果想用简写的方式表达一个类型,那么可以使用typedef关键字: typedef std::unique_ptr<std::unordered_map<std::str ...

  10. python Queue(队列学习)

    Python 的Queue模块中提供了同步的.线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列PriorityQueue.这些队列都实 ...