敏捷需求分析学习笔记

http://www.infoq.com/cn/presentations/qac-agile-requirement-analysis/ —— 钱安川

需求分析贯穿整个项目生命周期,需求分析和管理

一、需求分析的阶段 —— 重点是和客户交流、提问、确认想法——信息交换——达成一致

* quick start (会议)| 2-4周 | 识别需求、规模,识别客户业务目标、价值 |产生一些 must user story(粗粒度)

    1. 目标:愿景和动机,快速产生需求列表,可视化的项目需求原型,(了解技术风险,验证可行性——TL),初步成本估算(财务模型),发布、迭代计划——计划是基于目前认知的,轻量的可视化文档,业务流程图(非常重要)

    2. 交付物:技术架构图,平台,界面原型,功能分解图(must User story)

* 发布计划阶段:对高风险需求的可行性分析

* 迭代:需求细化,每个迭代会纳入新的需求

* 实施:反复验证需求,确认需求能够被实现

* 发布Release

动态的工作计划。是非线性的,迭代重新审视需求列表,优先级

人员配置:5(团队人数)+1(BA)/ 10+2

2. 如何表述需求:user story卡片,每个卡片是一个user story

3.

二、用户故事结构:

#102 ——  us编号

注册用户 ——属于哪个功能模块的分类

一句话表达作为一个用户,我的用户资料被系统的记录下来,以便我能享受到个性化的待遇——US通常为该模式的一句话话

作为 XX(角色),我希望……(系统能够实现...),以便……(达成某业务目标)。

估算点数(大小)——一般为1 2 4 8 16

US 优先级

三、用户故事原则:

1. 站在用户角度,用用户语言描述

2. 3C原则,卡片本身代表了一个需求的存在,它是一段多角色对话(conversation)和交流的桥梁,confirmation确定性,验收条件(完成的标准)和范围是什么要定义清楚

3. 如何表达用户故事XYZ

x 用户

y 功能 ——实现的一种途径

z 价值 —— 真正业务目标

另一种方式ZXY,突出价值

4. 如何产生用户故事:常用方式叫角色流程方法,识别用户角色,和用户在一起讨论他们目前的流程是什么样的,未来的流程是什么样的,形成角色流程图,根据业务流程图切分User story

为了我能快速购买我想要的书,作为用户我希望能够通过书名和作者名去查找书籍

为了我能批量的购书,作为用户我希望把我感兴趣的书籍加入购物车

为了方便我做出购买决定,作为用户我希望我能查看我购物车里的书

5. 如何写一个好的用户故事,评价、鉴定、督促原则

I - independent 可以独立开发的 —— 现实中可能有依赖关系,在迭代计划时要考虑依赖关系

N - negotiation 对客户来说可协商,价值不会变,但选择最优的实现方式可协商

V - valuable 有业务价值的

E - evaluative 可评估的,大小可评估。若不可评估说明一定问题,技术不确定性,遗留系统,需要和技术人员讨论进行spark

S - 合适的粒度,大小合适,1/2/4个点的,短时间的,开发节奏

T - 可测试、验证的,US完成之后用户能够有可视化的业务价值(除了业务story,还有技术US,用户可能不可见如,并发量多少,支持多少用户,采用什么框架等)

6. 需求的分解 —— 需求分析是一个把信息通过分解,进行分类转化,形成知识的过程

形成知识结构后,再传递给开发人员

mingel——项目管理工具

7. 细化用户故事,细化、明确需求在迭代计划阶段——望远镜(quick start)到放大镜

新技术使用之前做spak,确定能够驾驭

8. 需求实施阶段——显微镜

每个细节,从业务角度判别需求已完整实现从而确认

四、 非功能需求卡片(可用性,归档,安全性,可审计,授权,本地化等)

需要与用户澄清这些story

五、验收用户故事的条件

属性: 各种业务场景如Happy path,异常事件流(在迭代之前考虑清楚,列出场景,而把技术实现的决策交给技术团队)、性能

六、管理需求——如何管理实体卡片

用户故事的生命周期指导开发

例子:interation story的生命周期(迭代时候用的)*must story 建议在release 和迭代计划时重新写

1. 迭代前——有一张卡片,标示我有这个需求→ 排优先级→ 开始分析(验收条件、非功能需求等)→ 纳入迭代计划 {or} 技术风险进行spak

2. 迭代中——等待开发,开始开发,开发完成

3. 迭代后——业务分析师在测试之前就进行验收(修复优先级最高sign off issue),再去测试,发现的问题再去排优先级再修复bug

看板管理(精益生产)——知识可视化,目的是增强管理的透明性,鼓励每个人发现问题、解决问题,而非等待别人来做

可视化管理如何做:用户角色头像在第一行更生动,用颜色区别优先级,用三列区分出开发状态

七、业务分析师在迭代过程中段怎么做

等待分析

1. 业务分析师细化业务需求

2. 与客户讨论、验证业务目标是否满足

3. 与开发团队讨论、实现的可行性

正在分析

1. 业务分析师随时解答开发人员疑问

2. 需要时再向客户澄清、确认

3. 开发完成后,业务分析师做第一手测试验收

正在测试

业务分析师与测试人员一起验收

向客户验收完成验收

验收完成

八、书籍推荐

能力要求:理解能力、逻辑思维能力,会议组织能力,挖掘用户需求,信息形成知识

咨询项目总结出的实践敏捷过程中的最大问题——思想意识,人的能力(技术,BA,管理)

如何写User Story

金字塔的与原理

你可能感兴趣的:(敏捷需求分析学习笔记)