敏捷过程中的需求分析(1)
作者:网络转载 发布时间:[ 2011/11/25 11:06:31 ] 推荐标签:
3.1 需求的参与者
敏捷需求分析过程的参与者,包括客户/用户、需求分析人员(业界一般也称之为商务分析师或业务分析师,business analyst,本文并不讨论词汇的细致差异,下文统一简称BA)、开发人员、测试人员,其他相关的角色有项目管理者等。在《敏捷宣言》(Manifesto for Agile Software Development)中,强调了客户一起现场工作的重要性。而在企业实际的实施过程中,由于限制,项目经理及实施人员,以及BA??如果有的话,在虚拟团队中,他们演绎客户的角色,从而使得“客户”也更好地“纳入”到了项目团队中。但应该清楚,这种纳入并不能真正代替真实的客户参与。
对于客户无法全程现场参与的情况,BA的出现是一种弥补。BA重要的职责是与客户交谈,了解和分析需求,将其制作成用户故事(user story)并将需求传递给开发人员。同时,BA也要在某种参与度较深的情况下代替客户负责功能验收测试(Acceptance test)。而对内,BA显然扮演了客户,那么除了需求提供者的职责,如果需要的话,相应地也要有评价和验收否决的权利。当然,这项工作可以分解为另外的角色来进行。
开发、测试人员进入需求团队,便于他们理解用户故事或者典型的RUP式的用例。一个完整描述的用例可以很方便地导出测例(test case)。而用例和测例是一致的,它描述在一个具体业务场景中可见的需求特征。我们可以根据这样的可见性写出功能测试,从而驱动这个用户故事的开发,这被称为 Acceptance Driven Development。从整个过程来说,分析和实现的过程是场景拟合和检验,以及类似于XP中结对式的及时纠偏。各种角色的积极参与在不同角度和层次下的场景拟合,表明需求不是程序员的事情,也不是寄望于抽象出一个BA的角色甚至实例化为一个职位,可以全能地做出需求定义。
对于角色及其参与方式,我们可以比较如下:
角色及职责 | 传统的需求参与 | 敏捷的需求参与 |
用户/客户 | 需求的提供者 | 需求演进的参与者 |
用户的主要参与方式 | 陈述 | 遵循游戏规则的积极的交互参与 |
BA | 需求的定义者 | 需求的组织者 |
BA的主要参与方式 | 前期的调查获取和整理成文档 | 参与全周期的迭代与演进 |
开发 | 需求的接受者和实现者 | 场景拟合者与改进者 |
开发的主要参与方式 | 被传导需求并使之功能化 | 完成完整的业务场景实现 |
测试 | 功能测试者 | 场景测试者(需求测试者) |
测试的主要参与方式 | 找出软件的显性的bug | 找出不满足需求逻辑和不能拟合场景的缺陷 |
表1:需求的主要参与者
这些参与者如何工作的呢?我们引入到需求分析的工作形式。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11