需求文档和敏捷中的Epic,User Story, Task之间是什么关系以及如何将需求文档转换成敏捷方式的描述,指导开发人员。

一直是很多公司团队比较困扰的问题,那么最近笔者为了解决这些问题,上了一些课程,

现将核心内容,总结如下,希望对大家有帮助,一起探讨~~

在项目开发过程中,由于历史或者出于方便和规范的原因项目经理一般还是喜欢使用word文档来描述需求。

举个电商的例子,一般文档结构会如下所示

-------------------------------------------------------------------------

  • 前言
  • 功能性需求
    •   商铺管理场景

      •   建店申请

        • 提交申请
        • 查询所有申请
        • 查看单个申请
        • 。。。。。。
      • 店铺
        • 。。。。。。

------------------------------------------------------------------------

 一、如何将需求文档的内容转化成敏捷中的术语

上面这种格式文档对于敏捷开发团队来说可能是比较生疏的,因为开发团队一般常见的都是敏捷中的常用术语,如User Story, Task...

那么需求改如何变成敏捷术语中的Business Epic,Feature,User Story和Task呢?

下面举个栗子,需求如何对应到 SAFe(Scaled Agile Framework)框架 --常规的敏捷框架适用于中小型项目团队,而且不具有扩展性。基于常规的敏捷框架,SAFe 定义了一个可扩展的敏捷框架模型,它适用于大型团队的合作开发,可以帮助提高团队之间的协作性,降低团队管理的复杂性。

对于SAFe想做更多了解请看官网 https://www.scaledagileframework.com/

或者 https://www.ibm.com/developerworks/cn/rational/1606_wanghy_saf/index.html

从上图可知,拿到需求文档,

第一步,我们需要找到需求描述中的名词,名词一般是用来表述某项业务,所有将会对应到Business Epic或者是大的Feature。(描述偏业务性)

第二步,我们需要找到名词所对应的动词,动词主语是用户或者是外部系统的一般可以转化成User Story,也就是用户故事。(描述偏业务性)

第三步,还是要找动词,动词主语是开发者的,一般会转化为Task,也就是具体工作。(描述偏技术性)

敏捷术语和代码的对应关系

  • Business Epic -->库/包
  • Feature -->类
  • User Story -->方法

一、如何防止需求遗漏

找到了所有的名字之后我们可以拿出每一个Feature建立以下表来捕捉用户故事。

第一行,参考上面第二步,列出所有的主语是用户或外部系统的名词

第一列,总是写上CIDED(增查查改删),第一个查为查询所有信息,理解为列表,第二个查为查询单个详细信息

然后在对应的格子中填写是否有相应的动词对个某个实体的某个特定的操作。

上面的列表可产生自粗略的需求说明,用来捕捉遗漏的需求,也可用来将需求用这个表来过渡,然后用As...I want...so that...格式描述成用户故事。

用户故事变成Task这个一般技术人员都会,这里就不再赘述。

一些参考数据:

  • 自动化测试用例/功能点 = 1.2
  • 一天大概能编写15~18个测试用例
  • 名字平均6.5个动词 (3~9个动词)
  • 一个名词35个功能点
  • 一个功能点约等于1人天
  • 一个功能点价格约等于1k
  • 调整因子1.3根号人天数

敏捷项目需求拆解&发现用户故事的更多相关文章

  1. 【DevCloud·敏捷智库】如何利用用户故事了解需求

    摘要:这篇文章主要解决因为不能很好地理解需求而估算做不好的问题,在这里可以了解下如何利用用户故事了解需求. 背景 很多团队在应用敏捷开发时,对估算经常感到困惑.这里所说的估算是指产品列表条目(PBI, ...

  2. 【DevCloud · 敏捷智库】如何拆分用户故事

    提起用户故事拆分,我们听得最多的就是INVEST原则(关于INVEST原则可以参考文章“用户故事等于需求说明”——你一定没有写好用户故事),但很多人面临的问题是拿到一个较大的用户故事时,该如何拆分才能 ...

  3. 用户故事(User Story)

    用户故事(User Story)       用户故事是描述对用户有价值的功能,好的用户故事应该包括角色.功能和商业价值三个要素.用户故事通常的格式为:作为一个<角色>, 我想要<功 ...

  4. 实验九 FBG 团队项目需求改进与系统设计

    任务一 A.<项目需求规格说明书>分析 根据老师的指导以及本周所学的OOA,分析改进上周编写的<项目需求规格说明书>,发现需求项目书UML图例描述不够完善,仅仅是用例图没办法更 ...

  5. 划分用户故事(user-story)的原则

    在敏捷开发过程中是通过用户故事来将需求具体化成可以进行迭代开发的一个个现实的可见的开发任务.因此在敏捷软件的开发过程中,用户故事的划分对于迭代和开发起着举足轻重的作用. 用户故事从其名字来看是站在用户 ...

  6. 用户故事驱动的敏捷开发 – 2. 创建backlog

    本系列的第一篇[用户故事驱动的敏捷开发 – 1. 规划篇]跟大家分享了如何使用用户故事来帮助团队创建需求的过程,在这一篇中,我们来看看如何使用这些用户故事和功能点形成产品backlog.产品backl ...

  7. 产品经理-需求分析-用户故事-敏捷开发 详解 一张图帮你了解Scrum敏捷流程

    产品经理-需求分析-用户故事-敏捷开发 详解 用户故事是从用户的角度来描述用户渴望得到的功能.一个好的用户故事包括三个要素:1. 角色:谁要使用这个功能.2. 活动:需要完成什么样的功能.3. 商业价 ...

  8. UDAD 用户故事驱动的敏捷开发 – 演讲实录

    敏捷发展到今天已经在软件行业得到了广泛认可,但大多数敏捷方法都是为了解决某一特定问题而总结出来的特定方法或实践,一直缺乏一个可以将整个开发过程串接起来的成体系的方法.用户故事驱动的敏捷开发(User ...

  9. 菜鸟Scrum敏捷实践系列(一)用户故事概念

    菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 敏捷开发 ...

随机推荐

  1. object转字符串

    1.obj.tostring() obj为空时,抛异常. 2.convert.tostring(obj) obj为空时,返回null: 3.(string)obj obj为空时,返回null:obj不 ...

  2. Android开发——Fragment的简单使用总结

    前言: 之前搞项目的时候,就使用了这个Fragment,中间遇到了许多坑,把坑都解决了,现在写一篇较为简单的Fragment使用总结 Fragment的简单介绍: 简单来说,Fragment其实可以理 ...

  3. CXF-01: WebService的第一个例子

    HelloWorld.java: package com.war3.ws; import javax.jws.WebService; @WebService public interface Hell ...

  4. 笔记:Maven 插件配置 - maven-jar-plugin

    在项目中内部重用某个模块的测试代码很常见的需求,可能某个底层模块的测试代码中包含一些常用的测试工具类,或者一些高质量的测试基类供继承,这个时候Maven用户就需要通过配置此插件将测试类打包,插件配置代 ...

  5. Java中删除第一个集合中以某某开头的元素,删除第二个集合中以某某结尾的元素,并合并成一个集合

    import java.util.ArrayList; import java.util.List; public class Test { public static void main(Strin ...

  6. Vmware虚拟机不能使用键盘的解决方法

    有个笔记本thinkpad T440要重装系统,但又怕前面的资料丢失,因此打算直接将整个物理机迁移到VCenter 6.5上去,比GHOST什么的方便多了,利用Vmware Convert工具直接在线 ...

  7. WEB烟花效果——Canvas实现

    摘要        本文主要介绍一种WEB形式的烟花(fireworks)效果(图1所示),该效果基于Canvas实现,巧妙地运用了canvas绘图的特性,并加入了物理力作用的模拟,使整体效果非常绚丽 ...

  8. [日常] NOIP前集训日记

    写点流水账放松身心... 10.8 前一天考完NHEEE的一调考试终于可以开始集训了Orz (然后上来考试就迟到5min, GG) T1维护队列瞎贪心, 过了大样例交上去一点也不稳...T出翔只拿了5 ...

  9. alpha-咸鱼冲刺day2-紫仪

    总汇链接 一,合照 emmmmm.自然是没有的. 二,项目燃尽图 三,项目进展 今天并没有什么进展,弄了好久好像也只研究出怎么把JS的功能块插入进去.html的信息提交这些还不知道要怎么弄. 四,问题 ...

  10. C语言---字符数组

    一.PTA实验作业 题目1:7-2 统计一行文本的单词个数 1. 本题PTA提交列表 2. 设计思路 定义循环变量i,j定义不为空格的字符数count,定义单词数number,i,j,count,nu ...