中文版 Scrum 指南 2020
Scrum 定义 (definition)
Scrum 是一个轻量级的框架,通过针对复杂问题的自适应解决方案帮助人员、团队和组织创造价值。
简而言之,Scrum 需要 Scrum 大师 (Scrum Master) 来营造一个环境::
-
产品所有者 (Product owner) 将复杂问题的工作订购到产品积压中。
-
Scrum 团队 (Scrum team) 在冲刺期间将作品的选择转化为价值增量。
-
Scrum 团队及其利益相关者 (Stakeholders) 检查结果并调整为下一个冲刺。
-
重复
Scrum 很简单。按现在的尝试,确定其哲学、理论和结构是否有助于实现目标并创造价值。Scrum 框架故意不完整,仅定义实施 Scrum 理论所需的部分。Scrum 是由使用它的人的集体智慧建立起来的。Scrum 规则不是向人们提供详细的说明,而是指导他们的关系和互动。
可以在框架内采用各种流程、技术和方法。Scrum 围绕现有实践进行包装,或使其变得没有必要。Scrum 可显著显示当前管理、环境和工作技术的相对有效性,以便进行改进。
Scrum 理论
- Scrum 建立在经验主义和精益思维的基础上。经验主义认为,知识来自经验,并根据观察到的内容做出决策。精益思维减少浪费,注重基本要素。
- Scrum 采用迭次 (iterative) 增量 (increment) 方法来优化可预测性和控制风险。Scrum 与一群拥有所有技能和专业知识的人进行接触,以完成工作,并根据需要分享或获得此类技能。
- Scrum 结合了四个正式事件,用于在包含的事件"冲刺"内进行检查和适应。这些事件之所以有效,是因为它们实现了透明度、检查和适应的经验 Scrum 支柱 (the 3 Pillars)。
透明度 (Transparency)
紧急过程和工作必须向执行工作的人以及接受工作的人可见。对于Scrum,重要的决策基于其三个正式文物 (Artifacts) 的感知状态。透明度低的文物会导致降低价值和增加风险的决定。
透明度使检查成为可能。没有透明度的检查是误导和浪费。
检查 (Inspection)
必须经常和努力地检查 Scrum 神器和实现商定目标的进展情况,以发现潜在的不良差异或问题。为了帮助检查,Scrum 以五个事件的形式提供节奏。
检查使适应。不适应的检查被认为是毫无意义的。Scrum 事件旨在激发变革。
适应 (Adoptation)
如果流程的任何方面偏离可接受的限制,或者由此产生的产品不可接受,则必须调整所应用的流程或正在生产的材料。必须尽快作出调整,以尽量减少进一步的偏差。
当相关人员没有权力或自我管理时,适应就变得更加困难。Scrum 团队有望通过检查来适应任何新事物。
Scrum 值 (Scrum Value)
Scrum 的成功使用取决于人们越来越精通生活五个价值观:
承诺 (Commitment)、专注 (focus)、开放 (Openness)、尊重 (Respect)和勇气 (Courage)
Scrum 团队致力于实现其目标并相互支持。他们的主要重点是冲刺的工作,以取得最好的进展,实现这些目标。Scrum 团队及其利益相关者对工作和挑战持开放态度。Scrum 团队成员互相尊重,能够成为有能力、独立的人,并受到与他们共事的人的尊重。Scrum 团队成员有勇气做正确的事,解决棘手的问题。
这些价值观为 Scrum 团队的工作、行动和行为指明了方向。所做决定、所采取的步骤以及使用Scrum的方式应加强这些价值观,而不是削弱或破坏这些价值观。Scrum 团队成员在与 Scrum 事件和文物合作时学习和探索这些价值观。当 Scrum 团队及其合作人员体现这些价值观时,透明度、检查和适应的经验 Scrum 支柱就会成为建立信任的活体。
Scrum 团队 (team)
Scrum 的基本单位是一小群人,一个 Scrum 团队。Scrum 团队由一名 Scrum 大师、一名产品所有者和开发人员组成。在 Scrum 团队中,没有子团队或等级。它是一个有凝聚力的专业人员单位,专注于一个目标,一次,产品目标。
Scrum 团队是跨功能的,这意味着成员拥有创建每个 Sprint 所需的所有技能。他们也是自我管理,这意味着他们在内部决定谁做什么,什么时候,如何做。
Scrum 团队足够小,可以保持灵活和大到足以在 Sprint 中完成重要工作,通常只有 10 人或更少。总的来说,我们发现较小的团队沟通更好,效率更高。如果 Scrum 团队变得太大,他们应该考虑重组为多个有凝聚力的 Scrum 团队,每个团队都专注于同一产品。因此,他们应该共享相同的产品目标、产品积压和产品所有者。
Scrum 团队负责所有与产品相关的活动,包括利益相关者协作、验证、维护、运营、实验、研发以及可能需要的任何其他活动。它们由组织组织和授权来管理自己的工作。以可持续的速度在 Sprints 工作可提高 Scrum 团队的重点和一致性。
整个 Scrum 团队负责创建每个冲刺的宝贵、有用的增量。Scrum 定义 Scrum 团队中的三个特定帐户:开发人员、产品所有者和 Scrum master。
开发人员 (Developers)
开发人员是 Scrum 团队中致力于创建每个冲刺可用增量的任何方面的人。
开发人员所需的特定技能通常很广泛,并且会随着工作领域而变化。但是,开发人员始终要对:
-
创建冲刺计划,冲刺积压;
-
通过遵守完成定义来灌输质量;
-
每天调整他们的计划,以实现冲刺目标;和
-
作为专业人员相互问责。
产品所有者 (Product Owner)
产品所有者负责通过 Scrum 团队的工作实现产品价值的最大化。不同组织、Scrum 团队和个人的处理方式可能大相径庭。
产品所有者还负责有效的产品积压管理,其中包括:
-
制定并明确传达产品目标;
-
创建并明确传达产品积压项目;
-
订购产品积压项目;和
-
确保产品积压是透明、可见和理解的。
产品所有者可以做上述工作,也可以将责任委托给他人。无论如何,产品所有者仍然负责。
要使产品所有者成功,整个组织必须尊重他们的决策。这些决定在产品积压的内容和顺序中以及通过冲刺审查的可检查增量可见。
产品所有者是一个人,而不是一个委员会。产品所有者可能代表产品积压中许多利益相关者的需要。想要更改产品积压的人员可以通过尝试说服产品所有者来改变产品积压。
Scrum 教练 (Scrum Master)
Scrum 主负责建立 Scrum 指南中定义的 Scrum。他们通过帮助每个人了解 Scrum 理论和实践来做到这一点,无论是在 Scrum 团队还是组织内。
Scrum 主管负责 Scrum 团队的有效性。他们通过使 Scrum 团队能够在 Scrum 框架内改进其实践来做到这一点。
Scrum 大师是真正的领导者,为 Scrum 团队和更大的组织服务。
Scrum 大师以多种方式为 Scrum 团队提供服务,包括:
-
指导团队成员进行自我管理和交叉功能培训;
-
帮助 Scrum 团队专注于创建符合完成定义的高价值增量;
-
消除 Scrum 团队进步的障碍;和
-
确保所有 Scrum 事件都发生,并且是积极的、富有成效的,并且保持在时间框内。
Scrum 主机以多种方式为产品所有者提供服务,包括:
-
帮助寻找有效的产品目标定义和产品积压管理的技术;
-
帮助 Scrum 团队了解需要清晰简洁的产品积压项目;
-
帮助为复杂环境建立经验性产品规划;和
-
根据要求或需要促进利益攸关方的合作。
Scrum 大师以多种方式为组织服务,包括:
-
领导、培训和指导组织采用 Scrum;
-
规划和建议组织内的 Scrum 实施;
-
帮助员工和利益相关者理解并制定复杂工作的经验方法;和
-
消除利益相关者和 Scrum 团队之间的障碍。
Scrum 事件 (Scrum Events)
冲刺是所有其他活动的容器。Scrum 中的每个事件都是检查和调整 Scrum 人工制品的正式机会。这些活动是专门为实现所需的透明度而设计的。未能按规定操作任何事件会导致失去检查和适应的机会。Scrum 中使用事件来创建规律性,并最大限度地减少 Scrum 中未定义的会议需求。
最好,所有活动都在同一时间和地点举行,以减少复杂性。
冲刺 (Sprint)
冲刺是 Scrum 的心跳, 在那里想法被转化为价值。
它们是一个月或更短的固定长度事件,以创建一致性。新的冲刺在上一个冲刺结束后立即开始。
实现产品目标所需的所有工作,包括冲刺计划、每日 Scrum、冲刺回顾和冲刺回顾,都发生在 Sprint 中。
在冲刺期间:
-
没有做出危及冲刺目标的更改;
-
质量不降低:
-
产品积压根据需要进行精炼;和
-
范围可以澄清,并与产品所有者重新谈判,因为更多的学习。
Sprint 通过确保至少每个日历月对实现产品目标的进展进行检查和调整,从而实现可预测性。当 Sprint 的视野太长时,冲刺目标可能会失效,复杂性可能会上升,风险可能会增加。更短的 Sprint 可用于生成更多的学习周期,并将成本和工作风险限制在更短的时间范围内。每个冲刺可能被视为一个简短的项目。
存在各种预测进度的做法,如烧毁、烧毁或累积流量。虽然证明是有用的,但这些并不能取代经验主义的重要性。在复杂的环境中,会发生什么是未知的。只有已经发生的事情才能用于前瞻性决策。
如果冲刺目标过时,冲刺可能会被取消。只有产品所有者有权取消冲刺。
冲刺规划 (Sprint planning)
冲刺计划通过为冲刺安排工作来启动冲刺。此生成计划由整个 Scrum 团队的协作工作创建。
产品所有者确保与会者准备好讨论最重要的产品积压项目,以及他们如何映射到产品目标。Scrum 团队还可以邀请其他人参加冲刺计划,以提供建议。
冲刺规划涉及以下主题:
主题一:为什么这个冲刺有价值?
产品所有者建议产品如何在当前 Sprint 中增加其价值和效用。然后,整个 Scrum 团队协作定义一个冲刺目标,传达为什么冲刺对利益相关者有价值。冲刺目标必须在冲刺计划结束前完成。
主题二:这个冲刺可以做什么?
通过与产品所有者的讨论,开发人员从产品积压中选择项目,以包含在当前的 Sprint 中。Scrum 团队可能会在此过程中改进这些项目,从而增强理解和信心。
选择在 Sprint 中可以完成多少工作可能具有挑战性。但是,开发人员对过去的表现、即将推出的能力以及完成定义了解得越多,他们对 Sprint 预测就越有信心。
主题三:所选工作将如何完成?
对于每个选定的产品积压项目,开发人员计划创建符合"完成定义"的增量所需的工作。这通常是通过将产品积压项目分解为一天或更短的工作项目来完成的。如何做到这一点由开发人员自行决定。没有人告诉他们如何将产品积压项目转化为价值增量。
冲刺目标、为冲刺选择的产品积压项目以及交付计划一起称为冲刺积压。
冲刺计划被计时到最多八小时,为期一个月的冲刺。对于较短的冲刺,事件通常更短。
每日 Scrum (Daily Scrum)
每日 Scrum 的目的是检查冲刺目标的进展情况,并在必要时调整冲刺积压,调整即将开始的计划工作。
每日 Scrum 是 Scrum 团队的开发人员的 15 分钟活动。为了降低复杂性,它在冲刺的每个工作日同时举行。如果产品所有者或 Scrum Master 正在积极处理冲刺积压中的项目,则他们作为开发人员参与。
开发人员可以选择任何他们想要的结构和技术,只要他们的每日 Scrum 专注于朝着 Sprint 目标迈进,并为第二天的工作制定可操作的计划。这可以创建焦点并改进自我管理。
每日 Scrum 可改善沟通、识别障碍、促进快速决策,从而消除其他会议的需要。
每日 Scrum 并不是唯一允许开发人员调整其计划的时间。他们经常全天开会,就调整或重新规划 Sprint 的其余工作进行更详细的讨论。
冲刺评论 (Sprint Review)
冲刺审查的目的是检查冲刺的结果,并确定未来的适应。Scrum 团队向关键利益相关者介绍他们的工作成果,并讨论了实现产品目标的进展。
在活动期间,Scrum 团队和利益相关者会审查 Sprint 中完成的成就及其环境中的变化。基于此信息,与会者将协作下一步该做什么。产品积压也可以进行调整,以满足新的机会。冲刺审查是一个工作会议,Scrum 团队应避免将其限制为演示文稿。
冲刺回顾是冲刺的第二个到最后一个事件,并被时间框到最多四个小时一个月的冲刺。对于较短的冲刺,事件通常更短。
冲刺回顾 (Sprint Retrospective)
冲刺回顾的目的是计划提高质量和有效性的方法。
Scrum 团队检查上次冲刺在个人、交互、流程、工具及其完成定义方面的表现。被检查的元素通常随工作领域而异。导致他们误入歧途的假设被识别,并探索其起源。Scrum 团队讨论了冲刺期间的顺利进行、遇到的问题以及这些问题是如何解决的(或没有解决)。
Scrum 团队确定了最有用的更改,以提高其有效性。尽快解决影响最大的改进问题。它们甚至可能添加到下一个冲刺的冲刺积压中。
冲刺回顾结束了冲刺。一个月的冲刺时间最长为三小时。对于较短的冲刺,事件通常更短。
Scrum 文物 (Artifacts)
Scrum 的器件代表工作或价值。它们旨在最大限度地提高关键信息的透明度。因此,每个检查它们的人都有同样的适应基础。
每个神器都包含一项承诺,即确保它提供提高透明度的信息,并集中衡量可衡量进展:
-
对于产品积压,它是产品目标。
-
对于冲刺积压,它是冲刺目标。
-
对于增量,它是完成的定义。
这些承诺旨在加强 Scrum 团队及其利益相关者的经验主义和 Scrum 价值观。
产品积压 (Product Backlog)
产品积压是改进产品所需的紧急订单列表。它是 Scrum 团队开展工作的单一来源。
Scrum 团队可以在一个冲刺中完成的产品积压项目被视为已准备好在冲刺计划活动中进行选择。他们通常在精炼活动后获得这种程度的透明度。产品积压细化是分解并进一步将产品积压项目定义为更小、更精确的项目的行为。这是一个持续的活动,以添加详细信息,如描述、订单和大小。属性通常随工作领域而异。
将执行该工作的开发人员负责大小。产品所有者可以通过帮助开发人员理解和选择权衡来影响开发人员。
承诺:产品目标
产品目标描述了产品的未来状态,可以作为 Scrum 团队计划的目标。产品目标在产品积压中。产品积压的其余部分将出现,以定义"什么"将实现产品目标。
产品是实现价值的工具。它有一个明确的边界,已知的利益相关者,定义明确的用户或客户。产品可以是服务、物理产品或更抽象的产品。
产品目标是 Scrum 团队的长期目标。他们必须在实现(或放弃)一个目标之前,采取下一个。
冲刺积压 (Sprint Backlog)
冲刺积压由冲刺目标(为什么)、为冲刺选择的产品积压项目集(什么)以及交付增量(如何)的可操作计划组成。
冲刺积压是开发人员的计划。这是开发人员计划在冲刺期间完成的工作的高度可见的实时图片,以实现冲刺目标。因此,随着更多知识的学习,冲刺积压会在整个冲刺过程中进行更新。它应该有足够的细节,他们可以检查他们在每日Scrum的进展。
承诺:冲刺目标
冲刺目标是冲刺的单一目标。虽然 Sprint 目标是开发人员的承诺,但它在实现目标所需的确切工作方面提供了灵活性。冲刺目标还创建一致性和专注性,鼓励 Scrum 团队协同工作,而不是单独制定计划。
冲刺目标在冲刺计划活动期间创建,然后添加到冲刺积压中。当开发人员在冲刺期间工作时,他们会记住冲刺目标。如果工作结果与预期不同,他们将与产品所有者合作,在不影响冲刺目标的情况下,在 Sprint 中协商冲刺积压的范围。
增加 (Increment)
增量是实现产品目标的一块具体垫脚石。每个增量都添加到所有先前的增量中并经过彻底验证,确保所有增量协同工作。为了提供价值,增量必须可用。
可在冲刺中创建多个增量。增量的总和在冲刺审查中提出,从而支持经验主义。但是,增量可能会在冲刺结束前交付给利益相关者。冲刺审查绝不应被视为释放价值的大门。
除非工作符合"完成定义",否则不能将其视为增量的一部分。
承诺:完成的定义 (Definition of Done)
完成定义是当增量符合产品所需的质量措施时,对增量状态的正式描述。
当产品积压项目符合完成定义时,增量就诞生了。
"完成定义"通过让每个人共同了解作为增量的一部分完成的工作,从而创造了透明度。如果产品积压项目不符合完成定义,则无法发布,甚至无法在冲刺审查中显示。相反,它返回到产品积压供将来考虑。
如果增量完成定义是组织标准的一部分,则所有 Scrum 团队必须至少遵循该定义。如果这不是组织标准,Scrum 团队必须创建适合产品的"完成定义"。
开发人员必须遵守"完成"定义。如果多个 Scrum 团队共同开发产品,则必须相互定义并遵守相同的"完成定义"。
posted on 2021-10-26 11:36 Lynch_Warren 阅读(523) 评论(0) 编辑 收藏 举报