2019年十一月27日星期三13:17

业务分析师' s敏捷经验

撰写者

我最近写了一本书,详细介绍了Scrum框架的可自定义扩展。

下图概述了该书中描述的过程。

BATimes 11月27日1

图1: 扩展到Scrum框架

本文概述了该过程以及创建该过程的原因。如果您发现此信息有用并想了解更多信息,请在最后提供我的书的参考。

1.       介绍

作为敏捷项目的业务分析师,已经工作了6年,我了解到Scrum流程框架并未描述完整的故事。

我强调了敏捷一词,表示所有这些项目的共同点是时间限制的开发周期(或sprint)。

Scrum确定了三个角色。开发团队,产品所有者和Scrum Master。 Scrum不会为业务分析师,解决方案架构师,质量保证团队,测试人员,UI设计人员,部署经理或编写人员确定角色。 (这些角色是我在敏捷项目中与之交互的角色。)相反,在Scrum中,开发团队负责这些角色通常执行的工作。 Scrum假定开发团队包括具有通常与这些角色相关的所有技能的人员。

从Scrum.org引用:开发团队是跨职能的,拥有创建产品增量所需的团队整体技能。无论该人员正在执行的工作是什么,Scrum都不认可开发团队成员的头衔。 Scrum不认可开发团队中的任何子团队,无论需要解决的领域是什么,例如测试,架构,运营或业务分析。各个开发团队成员可能具有专门的技能和重点领域,但是问责制属于整个开发团队。

这个Scrum组织的一个问题是,开发团队执行的所有工作都在一个sprint周期内发生。但是,产品所有者,业务分析师,解决方案架构师,质量保证,编写者和部署经理产生的工件不是基于sprint的。另外,UI设计器和测试器活动有时与冲刺无关。

本文介绍了在sprint周期之外执行的活动,并确定了它们为交付可交付产品的实施带来的收益。

我在敏捷项目中的经验

以我的经验,一些敏捷项目包括Scrum Master,其他时候项目团队成员执行Scrum Master活动。所有这些项目的共同角色是产品所有者(有时称为产品经理),开发团队,当然还有业务分析师。

大多数开发团队由独立的用户界面设计团队和独立的质量保证(QA)或测试团队支持。开发之外的其他角色包括部署和运营,解决方案架构师和文档编写者。可以为这些角色分配支持软件开发的特定职责,即使采用敏捷过程也是如此。

本文概述了这些角色与敏捷系统开发相关的活动,可交付成果和最佳实践。每个角色负责一项或多项活动。从业务分析师的角度描述了这些活动。

Scrum框架过程的简要概述

Scrum确定了五项活动(仪式),保持Scrum站立状态,计划Sprint,开发Sprint,查看Sprint以及从Sprint学习教训(Sprint回顾)。 Scrum识别的工件包括用户故事,软件组件和增量构建。用户案例通过产品待办事项列表和sprint待办事项列表进行管理。所有这些工作都在两个有时间限制的周期(每日和冲刺)中执行。

BATimes 11月27日2

图2: Scrum框架

用户案例已输入产品积压中。产品积压由产品所有者管理。用户故事将在冲刺计划会议期间进入下一个冲刺周期。在sprint周期中,开发团队开发用于增量构建的组件。完成sprint待办事项中的所有用户案例后,将与项目涉众一起审查增量构建。冲刺完成后,将举行冲刺回顾会议,以确定从上一个冲刺中学到的经验教训。每天举行一次站立会议,供开发团队计划第二天的工作并在sprint待办事项中查看用户故事的状态。

sprint审查或sprint回顾的结果可能会生成用户故事,并将其输入产品积压中。

冲刺积压用户故事的开发包括构建用户和系统界面,更新系统架构,编写用户文档,测试软件组件,测试增量构建以及将软件部署到客户。

Scrum框架未显示产品所有者的责任活动,例如引起业务需求(如用户案例)和整理积压工作,以便为即将进行的sprint工作分配优先级。这些活动发生在开发冲刺周期之外。

史诗是对于单个冲刺而言太大的用户故事。任务是将用户故事分解为可管理的工作。

2.       My 敏捷 Experience As 业务分析师

下面描述的过程包括在“敏捷”项目中担任业务分析师时涉及到的工件,角色和活动。

作为业务分析师,我通常通过以下方式为产品所有者提供支持:

  • 满足业务需求
  • 在产品积压中维护用户案例
  • 编写和维护项目文档
  • 为业务流程和系统需求,架构和数据建模

另外,可能希望业务分析师通过以下方式支持开发:

  • 通过编写验收标准并确认测试用例结果来协助测试
  • 参加Scrum仪式,包括每日站立
  • 按要求支持发展

如您所见,可能期望BA在敏捷开发过程中为所有活动提供支持。 (甚至在要求我交付给客户之前,我还被要求签署增量版本。)

团队物流

影响Scrum流程的主要因素是项目团队及其利益相关者的后勤(或组织)。我在具有以下后勤构成的环境中工作:

  • 客户是远程的–开发团队无法直接访问客户时,产品所有者(或类似角色)将充当客户的代理。产品所有者可能是团队中唯一与客户直接联系的人。在这种情况下,他们全权负责确定客户需求和优先级,并确认产品详细信息的准确性。客户只有在发布产品时才能看到产品。
  • 开发团队是远程的-许多项目无法访问位于同一地点的IT部门。可以将软件开发分包给远程位置的开发团队。如果开发团队位于其他国家/地区,则直接交流可能会被限制为每周几个小时。

我曾与一个开发团队合作,该团队的工作时间每周被客户抵消36个小时。到周一星期一我上班时,开发人员已经工作了一天半。

  • 质量保证是一个独立的部门–该项目没有专门的测试人员。测试人员是质量保证部门的一部分,是所有部门之间共享的资源。开发团队将测试每个增量版本,但是在QA确认产品可以满足客户需求之前,不能将任何软件发布给客户。产品验收测试在冲刺完成之后和产品发布之前进行。
  • UX专家团队设计了用户界面–为确保客户在整个企业中拥有共同的外观,所有用户界面设计工作均由独立的UX部门执行。产品用户界面规范(或模型)包含在用于冲刺计划的用户案例中。在UI设计人员的批准下,UI规范可能会在开发过程中发生变化。
  • 产品部署在单独的发布周期中-客户不希望由于缺陷或部署问题而中断业务。因此,只有在用户接受测试完成后,才能在客户方便的时候进行部署。
  • 产品文档是产品发行版的一部分–用户手册和发行说明仅针对发行版编写。对于增量构建,文档不是必需的,因此它不必作为sprint的一部分出现。

假设最坏的情况是所有这些特征都在影响您的开发过程,我记录了以下Scrum扩展过程,以说明它们如何影响我的敏捷体验。

3.       过程概述

流程图假定所有上述后勤项目都在影响开发过程。该过程是根据您的开发环境定制的。例如,如果在冲刺期间执行UI设计作为开发用户故事的一部分,则可以从流程中删除“定义用户体验”活动。


广告

活动

在以下各段中,我将描述如何阅读图1所示的流程图。

该过程中显示了3个有时间限制的周期。每日周期,冲刺周期,发布周期和4 连续进行活动的区域。这些区域中显示的活动由指示在它们之间传递的工件的流连接在一起。信息流是连续的,并以增量方式传递。 (该图没有显示从一个角色或部门到另一角色或部门的任何移交。)显示了四个信息存储库。信息可以随时添加,更新和从这些存储库中提取。

持续活动:

  • 明确的业务需求-从客户中得出业务需求,并将其作为史诗记录在产品积压中。对Epic进行分析以得出用例和用户案例。用户案例在产品待办事项列表中进行管理。用例在项目模型中维护。
  • 新郎积压订单-定期审查产品积压订单,并优先考虑用户案例。积压项目可以批准开发,也可以从积压中删除。
  • 维护需求-需求在模型中不断维护。分析用例,在产品积压中更新用户案例,并得出接受标准。
  • 设计架构-随着新技术的引入和接口的改变,系统架构得以保持。模型架构视图捕获系统架构。用户案例在产品积压中维护,以捕获体系结构更改。在冲刺用户故事的开发过程中可以使用模型架构图。
  • 定义用户体验-从产品积压的用户故事中更新系统用户界面。用户界面设计的模型已包含在sprint中,并可在开发人员处理用户故事时进行更新。
  • 测试版本-测试用例是根据用户故事接受标准连续开发的,因此可以在增量版本可用后立即对其进行测试。测试增量构建的结果是捕获了测试结果。

短跑周期活动:

  • 计划冲刺-用户故事将根据冲刺计划中的优先级,在冲刺计划期间进入下一个冲刺积压。
  • 开发Sprint-每个用户故事都会影响产品构建的一个或多个组件。在sprint周期中,将开发Spring待办事项中的所有故事,并生成增量构建。
  • 审查冲刺-生成增量构建后,将与项目涉众进行审查。展示冲刺结果的结果可能会在产品积压订单中更新用户案例。
  • 从Sprint学习课程-Sprint的最后一项活动是与项目团队的所有成员举行一次经验教训会议。冲刺的结果输入到会议中,并且可以在产品积压中将操作项创建为用户故事。

发布周期活动:

  • 文档发行-每个发行都包括针对用户的说明和发行说明。这些文档可告知客户自上一版本以来发生了什么变化。发行说明和对用户手册的更新来自构成发行版本的已开发用户案例的组合,以及从软件用户界面的了解而来的内容。
  • 部署构建-按约定的时间表将产品交付给客户,以使部署不会干扰他们的业务活动。部署可能涉及到停止运行软件,安装到客户环境,与现有系统接口,验证安装是否成功以及重新启动系统。

每日周期活动:

  • 举行Scrum站立会议–项目团队成员介绍自上次站立会议以来的工作,他们对第二天工作的计划以及进展的障碍。用户案例状态在sprint待办事项列表中更新。

伪像

工件是过程中产生的东西。工件可以保存在项目存储库中,例如模型,产品待办事项列表或Sprint待办事项列表。其他工件可能是临时的,可用于在团队成员之间分发信息。伪影有助于产生产品发布。

图中未显示的是文档,代码和测试用例等的存储库。

 流程图显示以下工件作为一个或多个活动的输入或输出:

  • 需求-从客户那里提炼出来,将业务需求分析为产品积压的用户案例。
  • 史诗般的-业务需求在产品积压中被记录为史诗类型的用户故事。史诗被分为用户故事。他们没有进入发展冲刺。
  • 用户故事–冲刺中执行的所有工作都是用户故事的结果。用户故事来自;分析史诗,在测试过程中发现的缺陷或可能由项目团队创建以捕获需要完成的工作。
  • 用例–捕获源自业务需求的业务流程。它们保留在项目模型中。分析用例以产生产品需求,数据和用户案例。
  • 要求–这是系统必须表现出的行为的通用术语。需求记录着用例,接受标准,用户案例以及团队用来捕获需求的任何其他方式。
  • 体系结构–将承载增量构建的软件,硬件及其接口的组合。系统架构被捕获在项目模型中,并在冲刺期间由开发人员使用,以了解软件更改的影响。解决方案架构师与开发团队合作,确定冲刺用户故事的影响。
  • UI设计–通常以用户界面模型的形式,用户界面设计将附加到产品积压中的用户故事。 UI设计器在冲刺期间与开发团队一起工作。
  • 验收标准-从用例派生,它们详细说明了产品为了满足其要求而将表现出的行为。验收标准用于创建和维护产品测试用例。
  • 组件-从用户故事创建或更新的软件。在sprint期间,将组件添加到增量构建中。
  • 构建-每次冲刺都会更新的软件应用程序实例。
  • 构建测试结果-作为将测试用例应用于产品构建的结果,捕获在产品测试用例中。将针对冲刺期间开发的用户素材测试每个增量构建。
  • 产品-经过验证的软件版本,可以部署到客户。
  • 用法-指产品发布的客户体验。
  • 用户指南–文档是为需要访问已部署产品的任何人编写的。

人民

角色封装了由一个或多个人员执行的一组职责。一个人可能扮演多个角色。先前确定的角色是业务分析师,产品所有者,解决方案架构师,UI设计人员,开发团队,测试人员,编写者和部署经理。每个角色负责该过程中的一个或多个活动。

Scrum Master被认为超出范围。与流程相关的Scrum Master的职责分布在项目团队的其他角色中。

业务分析师负责Elicit业务需求和维护需求活动。他们确保用户故事已为下一个冲刺做好准备。他们从系统架构和UI设计中更新用户案例,并为开发,测试以及任何使用需求的人提供支持。业务分析师与产品负责人紧密合作,以确保项目成功。业务分析师创建并维护需求模型和架构视图模型。他们创建用户故事,验收标准。

部署管理器负责Deploy Build活动。它们支持在客户位置进行客户和产品部署。部署管理器创建产品版本。

开发团队确保每个冲刺的成功。他们负责开发冲刺,计划冲刺,审阅冲刺,从冲刺中吸取教训并举行Scrum Standup活动。开发团队可以为增量构建创建组件,并且可以为产品积压以用户故事的形式创建工作项。

产品负责人负责Groom Backlog活动。他们优先考虑并确保业务需求的准确性,并充当客户和主题专家的代理,并消除了开发的障碍。产品负责人创建了史诗。

解决方案架构师负责“设计架构”活动。他们维护完整解决方案的硬件和软件架构。解决方案架构师创建产品架构,该架构在模型架构视图中捕获。

质量保证是组织中包含测试人员的独立部门。他们负责测试构建活动。质量保证确保过程中产生的每个工件的质量,包括所有软件版本的验证。质量检查根据验收标准和用户案例创建测试用例。在增量构建的验证期间,他们用构建测试结果填充测试用例。

UI设计师是独立的用户体验(UX)设计团队的成员。他们负责设计用户界面活动。 UI设计器生成用户界面模型(UI Design),这些模型为产品用户界面提供一致且高效的外观。

编写者提供支持产品版本的清晰,易懂且准确的用户文档。作者负责文档发布活动。他们为产品发布创建用户说明。

4.       概要

本文通过介绍负责业务分析,解决方案体系结构,UI设计,质量保证,文档和部署的角色,提供了扩展Scrum的过程的摘要。它定义了工件,这些工件是这些角色的职责以及用于生成这些工件的活动。

仅当角色存在于项目团队中时,才需要进行这些活动。如果某个角色不适用于您的情况,则该角色的工作可以由开发团队来代替。

即使您的项目没有明确标识此过程中描述的工件,开发团队也可能执行产生工件的活动所描述的工作。

该过程可以针对使用看板,SAFe或LEAN项目的项目进行定制。详细信息记录在我的书《在质量驱动环境中使用敏捷》(业务分析师对Scrum的体验)中。

有关更多信息,您可以免费从Lulu.com下载我的书。 PDF格式 格式 文件。

莱斯利·蒙迪(Leslie Munday)

IT专业人员在业务和系统需求分析,敏捷,结构化和面向对象的方法,瀑布软件开发生命周期,业务流程改进,项目管理和技术文档方面拥有超过16年的经验。在我的职业生涯的大部分时间里,我一直在使用软件和计算机系统。我的经验包括航空航天,电信,政府,执法,零售,娱乐,健康保险,软件服务,移动和网页设计项目。最近,我参与了将敏捷最佳实践应用于传统业务分析师角色的工作。

©BA Times.com 2020

麦格雷戈徽标白色网站