uuussseeennn 2019-06-30
Scrum是一个项目管理框架,强调团队合作,问责制和迭代进展,以实现明确的目标。该框架从一个简单的前提开始:从可以看到或已知的东西开始。之后,跟踪进度并根据需要进行调整。
Scrum的基础是经验主义,它指出知识来自经验,我们应该根据已知的事情做出决定。有三个支柱将Scrum结合在一起。
Scrum一次提供功能,而瀑布只提供阶段。典型的瀑布式开发是基于阶段的顺序过程,在项目结束之前不会给出价值。Scrum将这种模式转变为每一周提供新功能,而不是专注于未来的大发布。
Scrum将复杂的工作划分为简单的部分,将大型组织划分为小型团队,将影响深远的项目划分为一系列短时间的称为sprint的视野。
通过迭代和渐进式构建,公司能够更快,更有效地为客户提供他们真正需要的产品和服务。使用Scrum,您可以在每个小开发周期结束时接收并整合客户反馈,这意味着您的结果将通过实际使用而非您的假设来塑造。这使得让客户和主要利益相关者密切参与和参与变得更加容易。
敏捷方法是一种有助于在SDLC过程中持续迭代开发和测试的实践。敏捷将产品分解为更小的构建。Scrum只是众多迭代和增量敏捷软件开发过程中的一个,它使我们能够专注于在最短的时间内提供业务价值。
Scrum框架通常处理的是需求可能会发生变化,或者大部分时间在项目开始时都不知道。Scrum的特点是:
以下是scrum为组织,团队,产品和个人提供的好处。
Scrum很简单。它与大量交织的强制组件相反。Scrum不是一种方法论。Scrum实现了经验主义的科学方法。Scrum用启发式方法取代了程序化的算法方法,尊重人和自组织,以处理不可预测性和解决复杂问题。下图显示了Ken Schwaber和Jeff Sutherland在他们的“30天软件”一书中描述的Scrum in Action,它将我们从规划到软件交付。
Scrum框架本身非常简单。它仅定义了一些通用指南,仅包含一些规则,角色,工件和事件。然而,这些组件中的每一个都很重要,用于特定目的,对于成功使用框架至关重要。
Scrum Framework的主要组件是:
下图显示了SCRUM框架的关键元素。该过程已由敏捷软件工具Scrum Process Canvas应用。
当一个组织决定接受Scrum时,首先要了解的是Scrum角色与传统项目执行角色的不同之处。虽然Scrum中只有三个主要角色,但它们并不会自动与我们大多数人熟悉的标题保持一致。让我们从每个的简要定义开始:
产品所有者是代表业务或用户社区的人员的scrum开发角色,负责与用户组合作以确定产品版本中的功能。产品负责人的主要职责是:
Scrum master是敏捷开发团队的推动者。Scrum是一种方法,允许团队根据敏捷原则自我组织并快速进行更改。Scrum master管理信息交换的过程。Scrum Master的主要职责是:
Scrum团队(又名开发团队)由3到9人组成,他们必须满足提供产品或服务的所有技术需求。它们将由Scrum Master直接引导,但不会直接管理。他们必须是自我组织的,多才多艺的,并且负责任地完成所有必需的任务。
开发团队负责从分析,设计,开发,测试到技术写作等每个sprint提供潜在的可交付产品增量。对于Scrum团队具有以下特征非常重要:
SCRUM工件用于帮助定义进入团队并且当前正在团队中工作的工作负载。还有更多的工件,例如,用户故事,发布积压,刻录图表等。但我们将专注于核心三:
产品待办事项是用户故事的集合,其呈现产品团队所需/期望的功能。通常,产品所有者负责此列表。
Sprint积压包含一系列可以包含在当前sprint中的故事。有关sprint积压与将项目包含在sprint中之间关系的两个要点需要注意。1)团队决定添加到sprint的内容。因此,团队负责交付这些物品的所有权和责任。2)在将项目从sprint backlog中删除并添加到sprint之前,团队必须确保他们拥有积压中所需的所有信息。通常,团队定义在添加项目之前必须存在的项目清单。
产品Backlog与Sprint Backlog
在冲刺积压是Scrum的冲刺过程中完成了由Scrum团队确定的任务列表。在sprint计划会议期间,团队通常以用户故事的形式选择一些产品待办事项,并确定完成每个用户故事所需的任务,如下图所示:
刻录图表是剩余工作与时间的图形表示。突出的工作(或积压工作)通常在垂直轴上,沿水平方向的时间。也就是说,这是一份杰出工作的运行图表。它可用于预测何时完成所有工作。它通常用于敏捷软件开发方法,如Scrum。但是,刻录图表可以应用于任何包含一段时间内可衡量进展的项目。杰出的工作可以用时间或故事点来表示。
沟通是关键!SCRUM依赖于团队的所有方面并且透明地工作(Scrum支柱#1)。考虑到这种核心理念,该方法围绕一系列关键事件构建,以确保其他两个支柱:检查和调整如下表所示:
事件
检查
适应
Sprint计划
每日Scrum
Sprint评论
Sprint回顾
注意:在执行每个sprint期间,Scrum中有五个主要会议,如下图所示:
所有冲刺都从计划开始。团队需要确定并承诺将作为sprint的一部分交付哪些项目。可能的项目总是从Sprint Backlog中获取,如下图所示:
这是SCRUM主人可以发光的时间。产品所有者从业务/客户的角度确定他们需要的方面,SCRUM团队,确定他们认为可以提供哪些项目,以及SCRUM主人适应所有项目并确保满足两个方面的最佳要求。
一旦团队确定了他们承诺作为sprint的一部分交付的项目。该团队将举行每日站立会议。此次会议的核心目标是确保团队中的每个人(以及可能的观察员)完全了解正在完成的任务的状态和进度:
此每日更新向团队提供实例反馈并提供。这些会议意味着简短,每人不超过3分钟。
注意:
观察员在那里观察,SCRUM主人必须尽可能减轻外部干扰和团队干扰。
在Sprint结束时举行Sprint评审/演示会议以检查增量。团队根据完成定义演示增量,重点关注Sprint目标。产品负责人审核并接受交付的增量。
冲刺回顾通常是冲刺中最后完成的事情。许多团队将在冲刺审查后立即执行此操作。包括Scrum Master和产品所有者在内的整个团队都应该参与其中。您可以安排scrum回顾展达一个小时,这通常是足够的。回顾展让团队有机会确定3个关键方面:
这种方法的目的是不断提高团队效率。
将积压视为项目的路线图。当团队协作创建需要为项目完成构建或完成的所有事项的列表时,可以修改此列表并将其添加到整个项目中,以确保满足项目的所有必要需求。
在Scrum框架中,Scrum产品Backlog中实现条目所需的所有活动都在Sprint中执行(也称为“Iterations”)。短跑总是很短:通常大约2-4周。每个Sprint都遵循一个定义的过程,如下所示:
如前所述,产品待办事项中的项目按优先级排序并选择sprint backlog。一个sprint只包含几个大项目,即使单个项目低估工作的影响也会对sprint产生深远的影响。而且由于较大的项目往往难以估计和理解,因此短跑失败的可能性会进一步增加。经验丰富的Scrum团队花费时间和精力将复杂和较大的项目(即用户功能或史诗)分解为较小的用户故事(或随后分解为任务或子任务)。
史诗捕捉了大量的作品。它本质上是一个“大型用户故事”,可以分解为许多小故事。完成史诗可能需要几次冲刺。因此,当我们将epic用于开发时,它必须被分解为更小的用户故事。
在项目周期的早期,我们提出了Epics。这些是非常高级的,几乎以营销为中心的功能性要点。
我们将大型故事称为“史诗”,以传达有关它们的信息。我喜欢把这与电影有关。如果我告诉你一部特定的电影是一部“动作冒险电影”,它会告诉你有关电影的一些信息。可能有一些汽车追逐,可能是一些射击,等等。同样,将一个故事称为“史诗”有时可以传达其他意义。
故事是产品要求或业务案例的简要陈述。通常,故事用简单的语言表达,以帮助读者理解软件应该完成的内容。产品所有者创建故事。然后,scrum用户将故事分成一个或多个scrum任务。
用户故事通常是最终用户可见的功能。用户故事遵循“我作为世界卫生组织想要做什么”的格式,以便为什么。用户故事为客户/用户提供价值。这是客户/用户的产品要求。
例如“作为客户,我希望能够创建一个帐户,以便我可以看到我去年购买的商品,以帮助我明年的预算。”
另一方面,任务更具技术性,任务通常类似于代码,设计,为此类创建测试数据,自动执行等等。这些往往是由一个人完成的事情。任务不是以用户素材格式编写的。任务更具技术性。
例如“评估用户界面的角度材料设计”或“将应用程序提交到应用商店”。
Scrum和自组织团队 (Scrum and Self-Organizing Team)
敏捷和Scrum - 有什么区别?
在Scrum Sprint中发布的频率是如何确定的?
通过3个步骤建立自组织团队
The Best Free Scrum Learning Resources, Guides and Articles
为什么敏捷开发是您项目的更好选择?
为什么Scrum是 - 快速失败技术?
8经常被误解的Scrum Master角色
Scrum Events - 初学者阅读文章
Scrum在3分钟内完成