写点什么

敏捷开发的核心原则和方法实践 - 深入理解 Scrum

作者:顿顿顿
  • 2023-10-20
    甘肃
  • 本文字数:2875 字

    阅读完需:约 9 分钟

什么是 Scrum 敏捷开发方法?

Scrum 是一种广泛使用的敏捷开发方法,旨在提高软件开发和项目管理的效率。Scrum 强调迭代、协作、自组织和透明度,使团队能够更好地应对不断变化的需求和复杂性。Scrum 方法的核心思想是通过一系列短期周期来交付功能,每个周期通常称为 Sprint,以便及早获取用户反馈、适应变化并提供高质量的产品。

Scrum 中的角色

Scrum 框架中有三个核心角色,每个角色都扮演关键的角色以确保项目的成功和敏捷开发的有效实施。1、Product Owner 产品负责人,其核心职责有:规划产品的方向和路线图,决定产品要做什么。清晰的将产品的路线图、需求传递给开发团队。确保开发团队按照产品的路线图和需求,交付正确的产品。2、Scrum Master,Scrum 团队的 Scrum 教练,确保产品经理和团队按照敏捷的原则和实践开展工作。 3、Developers 开发团队,核心职责:承诺并完成 Sprint 的目标。全权负责 Sprint 目标的实现,包括工作任务的规划、技术方案的确定,确保符合交付质量要求。按照敏捷的原则和实践开展工作。 

Scrum 的工件

Scrum 框架中有三个核心工件,这些工件有助于确保项目的可见性、透明度和有效的协作。这些工件分别是:

1、产品 Backlog,产品 backlog 是一个按照价值排序的需求清单。为了达成产品目标,所有的需求都需要放到产品 backlog 中进行管理和规划。由产品负责人负责管理和维护。

产品 Backlog 管理示例:


2、Sprint Backlog,Sprint Backlog 是当前 Sprint 需要完成的产品 Backlog 条目,以及为了实现这些条目拆解出的任务。这些条目是从产品 Backlog 中挑选出的优先级最高的条目。

Sprint Backlog 管理示例:


3、产品增量,每个 Sprint 结束时,团队交付一个可用的增量,即已完成的工作成果。这个增量可能是一个功能的一部分,或者是一个完整的功能,具体取决于团队的能力和 Sprint 目标。这个增量是可部署的,可以交付给用户,或者集成到产品中。

Scrum 中的会议

Scrum 框架中包含一些关键的会议,以促进团队协作、提高项目的透明度和支持敏捷开发。

1、产品 Backlog 梳理,对下个 Sprint 的需求进行需求细节梳理和精化,识别技术风险和依赖,完成估算和优先级排序。2、Sprint 计划会,确定 Sprint 目标和 DoD。确定 Sprint Backlog:用户故事、任务拆分。识别 Sprint 中的问题和风险,确定应对措施。3、每日站会,这是每日的短会议,通常持续 15 分钟。回顾昨天团队目标和每个人的任务的完成情况。明确今天的团队目标和每个人的任务。识别障碍和问题。4、Sprint 评审会,向 PO 和干系人演示已经完成的用户故事,获得干系人的反馈,并确定已经达到可上线标准的用户故事。5、Sprint 回顾会,团队进行 Sprint 回顾会议,通常持续 1 到 2 小时。识别本 Sprint 的开发过程中存在的工作方式、方法问题,并确定下迭代改进计划。

sprint 回顾会管理示例:


Scrum 中的需求和迭代开发管理:

​Leangoo 领歌:Leangoo 领歌是国产的永久免费的敏捷项目管理软件,支持包括小型团队敏捷开发规模化敏捷SAFeScrum of Scrums大规模敏捷等敏捷开发方法,具有产品管理和项目管理的功能。可以私有部署,私有部署收费。在线版本全部免费,没有任何限制。

在敏捷系统内新建一个 Scrum 敏捷开发项目,在项目内新建一个产品 Backlog 看板,填写好看板名称,如下图:

 

需求看板创建完成后,系统会自动为您创建几个列表,列表一般代表需求的状态。

在 Leangoo 领歌敏捷看板上,我们可以根据实际场景自定义列表,通常我们会在在产品 backlog 看板中创建这几个列表:“用户故事池、用户故事-待梳理、用户故事-梳理完成、用户故事-实现中,用户故事-已完成”,通过列表流转,让团队直观的了解需求的优先级和规划安排。然后在每个列表上添加需求卡片,一个需求一张卡片。

下图就是一个产品 Backlog 示例看板:

 

上图需求卡片右下角的图标分别代表了这张需求卡片的工作量、对这个需求的一些讨论,以及需求的验收测试要点等。

Leangoo 中,验收测试要点是以检查项的方式体现。

打开需求卡片,我们可以添加更多信息,比如:评论,检查项,开始截止时间、标签等,通过标签对卡片进行分类或卡片优先级排序。如下图所示:

 

在 Leangoo 中,每个需求卡片的优先级体现有两种方式:

1、由它的位置来决定,每个列表里面的卡片根据位置对卡片进行强制排序,高优先级的卡片放到最上面,低优先级的需求卡片在下面。

2、使用标签,标签可以自由命名,为标签命名后可直接将标签拖拽至卡片上即可一目了然的了解需求优先级。

用户故事添加完成后,团队可以对优先级较高的用户故事进行梳理。可以将完成用户故事需要的任务项添加到卡片内的检查项中,以便后续用户故事规划到 Sprint 中后,方便拆解成更小的任务卡片。

需求规划至迭代看板进行迭代开发

每个迭代开始前,我们需要将已梳理完成且优先级最高的用户故事规划到迭代看板内,以便准备迭代中需要完成的内容。

点击看板内“Sprint 规划”按钮,将计划在“Sprint1”内做的用户故事拖拽到“Sprint1”看板内。

注:规划过的卡片左上角会有蓝色的规划标记。


Sprint 规划完成后,点击进入 Sprint 看板,可以看到上一步已规划的用户故事已分别放置在独立泳道中,泳道可横向对应用户故事和拆分的任务。

Sprint 开始后,团队根据这些用户故事相关信息(比如检查项、描述内的信息),将其拆解为更小的任务,然后大家各自领取开发。

通过列表流转,体现任务的进展及完成情况。


Scrum 的优势和挑战

Scrum 作为一种敏捷开发方法,具有许多优势,但也面临一些挑战。以下是 Scrum 的主要优势和挑战:

Scrum 优势:

  1. 快速交付价值: Scrum 采用迭代开发方法,每个 Sprint 周期结束时交付一个可用的增量,使团队能够快速交付高质量的产品或功能。

  2. 灵活性和适应性: Scrum 鼓励团队适应变化,使其更容易处理需求变更和不确定性。团队可以在每个 Sprint 中重新评估和调整项目方向。

  3. 用户导向: Scrum 强调与用户合作,及早获取用户反馈,确保项目按照用户需求进行。这有助于提供更具用户价值的产品。

  4. 协作和团队合作: Scrum 鼓励团队协作和自组织,促进团队合作和跨功能性。这有助于提高团队的效率和创造力。

  5. 可见性和透明度: Scrum 提供了项目的可见性,包括产品需求、Sprint 计划、每日 Scrum、Sprint 评审和 Sprint 回顾等仪式,以确保项目状态对所有团队成员和利益相关者可见。

  6. 不断改进: 通过每个 Sprint 结束后的 Sprint 回顾,团队有机会识别问题并提出改进建议,以不断改进工作方式。

Scrum 的挑战:

  1. 复杂性管理: Scrum 要求团队自主管理和自组织,这可能对某些团队来说具有挑战性,特别是在处理复杂项目时。

  2. 文化转变: 采用 Scrum 需要组织进行文化转变,包括领导力、协作和团队合作的改变。这可能需要时间和努力。

  3. 明确的角色和责任: Scrum 中的角色和责任需要明确定义和遵守,否则可能会导致混淆和问题。

  4. 需求管理: 管理产品需求可以是具有挑战性的,需要产品负责人具备清晰的愿景和优先级排序能力。

  5. 团队协作: Scrum 依赖于紧密的团队协作,如果团队成员之间缺乏协作和沟通,可能会导致项目问题。

总的来说,Scrum 是一种强大的敏捷开发方法,具有许多优势,但也需要克服一些挑战。成功实施 Scrum 需要组织的承诺、文化改变和培训,以确保团队能够充分发挥 Scrum 方法的潜力。

 

用户头像

顿顿顿

关注

还未添加个人签名 2021-12-06 加入

还未添加个人简介

评论

发布
暂无评论
敏捷开发的核心原则和方法实践-深入理解Scrum_Scrum_顿顿顿_InfoQ写作社区