Scrum是一个项目管理框架,强调团队合做,问责制和迭代进展,以实现明确的目标。该框架从一个简单的前提开始:从能够看到或已知的东西开始。以后,跟踪进度并根据须要进行调整。算法
Scrum的基础是经验主义,它指出知识来自经验,咱们应该根据已知的事情作出决定。有三个支柱将Scrum结合在一块儿。canvas
Scrum一次提供功能,而瀑布只提供阶段。典型的瀑布式开发是基于阶段的顺序过程,在项目结束以前不会给出价值。Scrum将这种模式转变为每一周提供新功能,而不是专一于将来的大发布。框架
Scrum将复杂的工做划分为简单的部分,将大型组织划分为小型团队,将影响深远的项目划分为一系列短期的称为sprint的视野。ide
经过迭代和渐进式构建,公司可以更快,更有效地为客户提供他们真正须要的产品和服务。使用Scrum,您能够在每一个小开发周期结束时接收并整合客户反馈,这意味着您的结果将经过实际使用而非您的假设来塑造。这使得让客户和主要利益相关者密切参与和参与变得更加容易。工具
敏捷方法是一种有助于在SDLC过程当中持续迭代开发和测试的实践。敏捷将产品分解为更小的构建。Scrum只是众多迭代和增量敏捷软件开发过程当中的一个,它使咱们可以专一于在最短的时间内提供业务价值。post
Scrum框架一般处理的是需求可能会发生变化,或者大部分时间在项目开始时都不知道。Scrum的特色是:测试
如下是scrum为组织,团队,产品和我的提供的好处。ui
Scrum很简单。它与大量交织的强制组件相反。Scrum不是一种方法论。Scrum实现了经验主义的科学方法。Scrum用启发式方法取代了程序化的算法方法,尊重人和自组织,以处理不可预测性和解决复杂问题。下图显示了Ken Schwaber和Jeff Sutherland在他们的“30天软件”一书中描述的Scrum in Action,它将咱们从规划到软件交付。spa
Scrum框架自己很是简单。它仅定义了一些通用指南,仅包含一些规则,角色,工件和事件。然而,这些组件中的每个都很重要,用于特定目的,对于成功使用框架相当重要。.net
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分钟内完成