Scrum综合指南

Scrum是一个项目管理框架,强调团队合做,问责制和迭代进展,以实现明确的目标。该框架从一个简单的前提开始:从能够看到或已知的东西开始。以后,跟踪进度并根据须要进行调整。算法

Scrum的三大支柱

Scrum的基础是经验主义,它指出知识来自经验,咱们应该根据已知的事情作出决定。有三个支柱将Scrum结合在一块儿。canvas

Scrum的三大支柱

为何选择Scrum?

Scrum一次提供功能,而瀑布只提供阶段。典型的瀑布式开发是基于阶段的顺序过程,在项目结束以前不会给出价值。Scrum将这种模式转变为每一周提供新功能,而不是专一于将来的大发布。框架

Scrum将复杂的工做划分为简单的部分,将大型组织划分为小型团队,将影响深远的项目划分为一系列短期的称为sprint的视野。ide

瀑布与Scrum

经过迭代和渐进式构建,公司可以更快,更有效地为客户提供他们真正须要的产品和服务。使用Scrum,您能够在每一个小开发周期结束时接收并整合客户反馈,这意味着您的结果将经过实际使用而非您的假设来塑造。这使得让客户和主要利益相关者密切参与和参与变得更加容易。工具

敏捷与Scrum

敏捷方法是一种有助于在SDLC过程当中持续迭代开发和测试的实践。敏捷将产品分解为更小的构建。Scrum只是众多迭代和增量敏捷软件开发过程当中的一个,它使咱们可以专一于在最短的时间内提供业务价值。post

敏捷与Scrum

Scrum框架一般处理的是需求可能会发生变化,或者大部分时间在项目开始时都不知道。Scrum的特色是:测试

  • 轻量级
  • 简单易懂
  • 很难掌握

Scrum的好处

如下是scrum为组织,团队,产品和我的提供的好处。ui

  1. 更好的质量:存在实现愿景或目标的项目。Scrum提供持续反馈和曝光的框架,以确保质量尽量高。Scrum经过如下实践帮助确保质量
  2. 缩短产品上市时间:Scrum已被证实可以为传统方法提供比最终客户快30%到40%的价值。
  3. 提升投资回报率:缩短上市时间是Scrum项目实现更高投资回报率(ROI)的一个关键缘由。因为收入和其余目标福利开始提早,早期积累意味着更高的总回报率。这是净现值(NPV)计算的基本原则。
  4. 士气高级团队:与喜欢工做的快乐人士一块儿工做能够使人满意和有益。自我管理将一般由经理或组织作出的决策放入scrum团队成员的手中。
  5. 增强团队协做:当Scrum团队负责项目和产品时,他们能够产生很好的结果。Scrum团队经过加强团队参与和沟通来协做并掌握质量和项目绩效。

Scrum框架

Scrum很简单。它与大量交织的强制组件相反。Scrum不是一种方法论。Scrum实现了经验主义的科学方法。Scrum用启发式方法取代了程序化的算法方法,尊重人和自组织,以处理不可预测性和解决复杂问题。下图显示了Ken Schwaber和Jeff Sutherland在他们的“30天软件”一书中描述的Scrum in Action,它将咱们从规划到软件交付。spa

Scrum框架

Scrum流程的组成部分

Scrum框架自己很是简单。它仅定义了一些通用指南,仅包含一些规则,角色,工件和事件。然而,这些组件中的每个都很重要,用于特定目的,对于成功使用框架相当重要。.net

Scrum Framework的主要组件是:

  • Scrum角色:Scrum Master,Scrum产品负责人和Scrum团队
  • 工件:Sprint积压,产品积压,燃尽图,日志等......
  • Scrum活动:Sprint计划,春季评论,每日站立,冲刺复古等......
  • 短跑

下图显示了SCRUM框架的关键元素。该过程已由敏捷软件工具Scrum Process Canvas应用

Scrum框架

Scrum角色

当一个组织决定接受Scrum时,首先要了解的是Scrum角色与传统项目执行角色的不一样之处。虽然Scrum中只有三个主要角色,但它们并不会自动与咱们大多数人熟悉的标题保持一致。让咱们从每一个的简要定义开始:

产品拥有者

产品全部者是表明业务或用户社区的人员的scrum开发角色,负责与用户组合做以肯定产品版本中的功能。产品负责人的主要职责是:

  • 制定产品和服务的方向和战略,包括短时间和长期目标;
  • 提供或获取有关产品或服务的知识;
  • 了解并解释开发团队的客户需求;
  • 收集,优先排序和管理产品或服务要求;
  • 接管与产品或服务预算相关的任何责任,包括其盈利能力;
  • 肯定产品或服务功能的发布日期;
  • 天天与开发团队一块儿回答问题并作出决定;
  • 接受或拒绝与Sprint相关的已完成功能;
  • 在每一个Sprint的最后展现开发团队的主要实现;
  • 负责产品Backlog

Scrum大师

Scrum master是敏捷开发团队的推进者。Scrum是一种方法,容许团队根据敏捷原则自我组织并快速进行更改。Scrum master管理信息交换的过程。Scrum Master的主要职责是:

  • 充当教练,帮助团队遵循Scrum价值观和实践;
  • 帮助消除障碍并保护团队免受外部干扰;
  • 促进团队与利益相关者之间的良好合做;
  • 促进团队内部的常识;
  • 保护团队免受组织干扰;

Scrum团队

Scrum团队(又名开发团队)由3到9人组成,他们必须知足提供产品或服务的全部技术需求。它们将由Scrum Master直接引导,但不会直接管理。他们必须是自我组织的,多才多艺的,而且负责任地完成全部必需的任务。

开发团队负责从分析,设计,开发,测试到技术写做等每一个sprint提供潜在的可交付产品增量。对于Scrum团队具备如下特征很是重要:

  • 团队必须是自组织的。全部团队组件必须管理本身的工做以完成已经给出的任务。在Agile Scrum中,没有团队负责人或直线经理的身影。每一个人都必须作出足够的承诺来开展本身的活动,并为团队的成功作出贡献。若是一个失败,每一个人都会失败。
  • 团队必须是跨职能的。全部团队成员必须拥有全部必需的知识和技能,以提供作得好而且随时可用的服务或产品。专家可用于必要的案例,但仅做为教练将知识传授给团队以实现特定差距。
  • 成为产品负责人须要企业愿景。产品负责人表明客户的声音,须要将他们的需求转化为Scrum Master和开发团队。这一般是一份全职工做。
  • Scrum Master不是直线经理。他们帮助向开发团队提供所需的教练,并帮助消除团队面临的任何障碍。

Scrum工件

SCRUM工件用于帮助定义进入团队而且当前正在团队中工做的工做负载。还有更多的工件,例如,用户故事,发布积压,刻录图表等。但咱们将专一于核心三:

产品积压

产品待办事项是用户故事的集合,其呈现产品团队所需/指望的功能。一般,产品全部者负责此列表。

Sprint积压

Sprint积压包含一系列能够包含在当前sprint中的故事。有关sprint积压与将项目包含在sprint中之间关系的两个要点须要注意。1)团队决定添加到sprint的内容。所以,团队负责交付这些物品的全部权和责任。2)在将项目从sprint backlog中删除并添加到sprint以前,团队必须确保他们拥有积压中所需的全部信息。一般,团队定义在添加项目以前必须存在的项目清单。

产品Backlog与Sprint Backlog

冲刺积压是Scrum的冲刺过程当中完成了由Scrum团队肯定的任务列表。在sprint计划会议期间,团队一般以用户故事的形式选择一些产品待办事项,并肯定完成每一个用户故事所需的任务,以下图所示:

产品积压与Scrum积压

刻录图表

刻录图表是剩余工做与时间的图形表示。突出的工做(或积压工做)一般在垂直轴上,沿水平方向的时间。也就是说,这是一份杰出工做的运行图表。它可用于预测什么时候完成全部工做。它一般用于敏捷软件开发方法,如Scrum。可是,刻录图表能够应用于任何包含一段时间内可衡量进展的项目。杰出的工做能够用时间或故事点来表示。

Burndown图表

Scrum活动

沟通是关键!SCRUM依赖于团队的全部方面而且透明地工做(Scrum支柱#1)。考虑到这种核心理念,该方法围绕一系列关键事件构建,以确保其余两个支柱:检查和调整以下表所示:

事件

检查

适应

Sprint计划

  • 产品积压
  • (承诺回顾)
  • (Done的定义)
  • 冲刺目标
  • 预测
  • Sprint积压

每日Scrum

  • 冲刺目标的进展
  • Sprint积压
  • 每日计划

Sprint评论

  • 产品增量
  • 产品积压(发布)
  • 市场商业条件
  • 产品积压

Sprint回顾

  • 团队合做
  • 技术与工程
  • 完成的定义
  • 切实可行的改进

注意:在执行每一个sprint期间,Scrum中有五个主要会议,以下图所示:

Sprint执行

Sprint计划

全部冲刺都从计划开始。团队须要肯定并承诺将做为sprint的一部分交付哪些项目。可能的项目老是从Sprint Backlog中获取,以下图所示:

Sprint计划会议

这是SCRUM主人能够发光的时间。产品全部者从业务/客户的角度肯定他们须要的方面,SCRUM团队,肯定他们认为能够提供哪些项目,以及SCRUM主人适应全部项目并确保知足两个方面的最佳要求。

每日Scrum会议

一旦团队肯定了他们承诺做为sprint的一部分交付的项目。该团队将举行每日站立会议。这次会议的核心目标是确保团队中的每一个人(以及可能的观察员)彻底了解正在完成的任务的状态和进度:

  • 他们作了什么
  • 他们今天要作什么
  • 什么阻止他们

每日scrum会议

此每日更新向团队提供实例反馈并提供。这些会议意味着简短,每人不超过3分钟。

注意:

观察员在那里观察,SCRUM主人必须尽量减轻外部干扰和团队干扰。

Sprint评审会议

在Sprint结束时举行Sprint评审/演示会议以检查增量。团队根据完成定义演示增量,重点关注Sprint目标。产品负责人审核并接受交付的增量。

Sprint回顾

冲刺回顾一般是冲刺中最后完成的事情。许多团队将在冲刺审查后当即执行此操做。包括Scrum Master和产品全部者在内的整个团队都应该参与其中。您能够安排scrum回顾展达一个小时,这一般是足够的。回顾展让团队有机会肯定3个关键方面:

  1. 应该开始作什么?
  2. 什么不顺利(并再次中止作)?
  3. 什么进展顺利(而且应该继续作什么?)?

Sprint回顾展

这种方法的目的是不断提升团队效率。

积压细化会议

将积压视为项目的路线图。当团队协做建立须要为项目完成构建或完成的全部事项的列表时,能够修改此列表并将其添加到整个项目中,以确保知足项目的全部必要需求。

短跑

在Scrum框架中,Scrum产品Backlog中实现条目所需的全部活动都在Sprint中执行(也称为“Iterations”)。短跑老是很短:一般大约2-4周。每一个Sprint都遵循一个定义的过程,以下所示:

敏捷scrum冲刺

如前所述,产品待办事项中的项目按优先级排序并选择sprint backlog。一个sprint只包含几个大项目,即便单个项目低估工做的影响也会对sprint产生深远的影响。并且因为较大的项目每每难以估计和理解,所以短跑失败的可能性会进一步增长。经验丰富的Scrum团队花费时间和精力将复杂和较大的项目(即用户功能或史诗)分解为较小的用户故事(或随后分解为任务或子任务)。

史诗

史诗捕捉了大量的做品。它本质上是一个“大型用户故事”,能够分解为许多小故事。完成史诗可能须要几回冲刺。所以,当咱们将epic用于开发时,它必须被分解为更小的用户故事。

在项目周期的早期,咱们提出了Epics。这些是很是高级的,几乎以营销为中心的功能性要点。

咱们将大型故事称为“史诗”,以传达有关它们的信息。我喜欢把这与电影有关。若是我告诉你一部特定的电影是一部“动做冒险电影”,它会告诉你有关电影的一些信息。可能有一些汽车追逐,多是一些射击,等等。一样,将一个故事称为“史诗”有时能够传达其余意义。

用户故事

故事是产品要求或业务案例的简要陈述。一般,故事用简单的语言表达,以帮助读者理解软件应该完成的内容。产品全部者建立故事。而后,scrum用户将故事分红一个或多个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分钟内完成

相关文章
相关标签/搜索