需求收集实例 二 之 GF Phase 2
GF Phase 2 做B2B的site, 需求收集过程与 需求收集过程实例之 - GF Phase 1主要的不同是在phase 1 开发在需求规格文档敲定后开始,而phase 2 把feature 划分到四轮需求收集过程, 每轮包含一个或多个功能模块。当一轮需求文档定稿后开发就可以开始,同时BA进入下一轮需求收集。
需求收集主要流程如下图:
流程说明:
1. Define feature list: 客户提出需要做的feature, BA 整理出feature list. 此时对feature 的具体功能不必太了解,大概知道feature是什么意思就行。
2. Group feature list: BA 通过对feature 的理解, group 成几个module。客户给也优先级, BA根据优先验将module 划分到四个cycles,客户审批。
3. Create draft requriement document: 根据划分的cycle, 开始第一轮需求收集。客户根据本轮里的feature 优先级给出draft的需求文档。这份需求文档格式没有特别要求。需求描述可能会有遗漏和重复。基本上相当于客户的业务部门开会讨论需求的会议记录。(如果BA和UI能参与客户最开始的需求讨论会应该会对后续需求的理解会很有帮助)
4. Create UI Prototype: UI 根据客户给出的draft 需求文档理解客户需求,制作页面原型。
5. Review/Approve UI prototype: 客户审批页面原型。如有问题,UI做出调整然后再次评审, 直到评审通过。
6. Create FRS/PRD: BA 根据draft需求文档和页面原型写需求规格说明文档。文档格式需要按公司要求的统一格式。发现有不清楚或遗漏的需求点和客户沟通。
7。 Review FRS/PRD: 公司内部评审需求文档。
8. Review and Approve FRS/PRD: 客户评审需求文档。有问题反馈给BA, BA更新后再次review, 直到审批通过。
9. 需求文档审批通过后,开始开发。同时BA客户UI进入下一轮需求收集。
总结: 相比phase 1 的需求收集方式,Phase 2 将需求收集分为四轮,并且开发同时进行。相比phase 1 的需求收集方式利大于弊。如下,
好处:
1. 在不影响开发进度的情况下争取到更多需求收集的时间。
2. 开发能够尽早开始。 部分功能被实际开发出来后能够帮助客户及BA直观地看到做出来的功能,能及时发现并解决需求沟通中的误区,让后续需求沟通更容易。
3. 功能分几个模块,客户不会被要求一次审批很大的文档。需求审批过程更轻松也更容易及时发现问题。
弊端:
1. BA在同一时间阶段,既要向开发团队培训当前sprint准备开发的功能澄清需求问题,又要进行新需求的收集,工作量大。
需求收集实例 二 之 GF Phase 2的更多相关文章
- 需求收集实例三之 FM
暂且叫这个项目叫FM.FM项目采用敏捷模式,需求的表现形式是Story. 此项目需求收集过程如下: 亮点:在公司第一次实践敏捷.用Story 而非 需求说明文档呈现需求. 败笔:没有处理好Story ...
- 需求收集过程实例之 - GF Phase 1
正统的需求过程是怎样呢?各位看客有兴趣可以问问google 百度.本人的体会是理论很清晰,现实很混沌.这篇随笔讲述的是我参与的几个项目的需求收集过程.有的很顺利,有的却是乱中求生.但是不管怎样,最终这 ...
- C语言库函数大全及应用实例二
原文:C语言库函数大全及应用实例二 [编程资料]C语言库函数大全及应用实例二 函数名: bioskey 功 能 ...
- 2014年11月17~11月18日,杨学明老师《企业IT需求收集和实施》内训在湖南长沙某酒店成功举办!
2014年11月17至18日,受湖南某软件企业的邀请,杨学明老师<企业IT需求收集和实施>内训在某长沙某五星级酒店成功举办!来自全国各地的IT高管和企业负责人参加了此次培训.杨学明老师分别 ...
- Hibernate实例二
Hibernate实例二 一.测试openSession方法和getCurrentSession方法 hebernate中可以通过上述两种方法获取session对象以对数据库进行操作,下面的代码以及注 ...
- Ajax实例二:取得新内容
Ajax实例二:取得新内容 通过点击pre和next按钮,从服务器取得最新内容. HTML代码 <div id="slide">图片显示区</div> &l ...
- WPF中的多进程(Threading)处理实例(二)
原文:WPF中的多进程(Threading)处理实例(二) //错误的处理 private void cmdBreakRules_Click(object sender, RoutedEventArg ...
- 转://Oracle 事务探索与实例(二)
一数据库版本 SYS@LEO1>select * from v$version; BANNER ------------------------------------------------- ...
- [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.
为了更好的排版, 所以将IK分词器的安装重启了一篇博文, 大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...
随机推荐
- Java基础——第一个记事本代码与Java注释
一 .使用记事本编辑java文件: 1.打开记事本,重命名文件名,文件拓展名“.java”.(必须要的,系统才能识别java文件) 2.编写一个简单的java代码: public class Hell ...
- Mac上关于shell使用Python3和C++11声明
1.使用Python3 Mac上的shell上自带的Python版本是2.7,当需要使用Python3时,下载安装好Python时,在shell上敲入Python发现却还是显示Python2.7,这是 ...
- 服务器 ADO 错误:0x80004005,[DBNETLIB]
2012-12-0310:44:06 ]ADO 错误:0x80004005,[DBNETLIB][ConnectionOpen(Connect()).]SQL Server 不存在或拒绝访问.[ 20 ...
- 1615: [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机
1615: [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: ...
- docker X509 证书错误的终极解决办法
最近在做Docker相关的东西,发现只要一pull镜像,就出现如下的ERROR x509: certificate signed by unknown authority. 调查后发现,是公司IT把h ...
- C++ Primer 5 CH1 开始
1.1 编写一个简单的C++程序 在大多数系统中,main 的返回值被用来指示状态.返回值 0 表示成功,非 0 的返回值的含义由系统定义,通常用来指出错误类型. 访问 main 的返回值的方法依赖于 ...
- 对于自定义标签类中JspBody类的invoke方法的理解
下面是javaeeAPI中对于invoke()方法的介绍: 其中的参数out是一个Writer类的对象,如果写null,就是将标签体内容写到了与此jsp相关联的JspWriter对象,也就是下面的w: ...
- javascript面向对象(一)
javascript是弱类型,直译式的面相对象编程语言. 在之前我们说过 var a = 123: 在这里a是整数 但是我们可以给a重新复制为 a="你好"; 在这个过程中变量a ...
- Javascript动态创建 style 节点
有很多提供动态创建 style 节点的方法,但是大多数都仅限于外部的 css 文件.如何能使用程序生成的字符串动态创建 style 节点,我搞了2个小时. 静态外部 css 文件语法: @import ...
- iwebshop模拟秒杀
//秒杀模拟练习public function sha(){ $testObj = new IModel("goodss"); $arr = $testObj->query( ...