Scrum软件开发流程

2001年2月由17位世界轻量级方法学家提出了一份敏捷联盟宣言,这个宣言只是简单的四 句话,但却是敏捷方法的精髓,也是对敏捷的高度抽象,这便是敏捷之道的最高境界:

  • 人与交互 胜过 过程与工具
  • 可以工作的软件 胜过 面面俱到的文档
  • 客户协作 胜过 合同谈判
  • 响应变化 胜过 遵循计划

 

Scrum 方法简介

 

Scrum 是目前最为流行的 Agile 开发方法,它简单易懂,并且易于采用。Scrum 实施的重点是团队领导和需求管理,强调对客户需求的快速反应以及团队的共同协作和自我管理。Scrum 方法通过将整个开发过程划分为若干个固定时间长度的 Sprint(迭代,有人也习惯叫 Iteration,其实是同一个概念),在每个 Sprint 结束时得到一个可以执行并演示的产品的增量版本,来推动产品的不断演进,直到最终发布。

 

Scrum 中的角色

在 Scrum 方法中共有 3 种角色:

  • Product Owner(产品负责人):负责制定软件开发需求,确定待开发产品各项功能需求的优先级,并为产品的最终发布负责。
  • Scrum Master(Scrum 导师):对整个 Scrum 过程负责,主持并参与所有 Scrum 工作会议。指导并督促全体项目成员遵从 Scrum 规则和实践,定期检查整个 Scrum 项目的执行情况。
  • Team(开发团队):负责软件的具体开发测试。负责在每一个 Sprint (迭代)实现规划的软件功能,并在 Sprint 结束时生成可运行、演示的产品的增量版本供全体成员预览并检查。

Scrum 开发流程

Scrum 项目开发的大致流程如下图所示:


图 1. Scrum 流程图
图 1 Scrum 流程图

Product Backlog for Release k

  • Iteration (Sprint) 1
    • Feature 1
    • Feature 2
  • Iteration 2
    • Feature 3
    • Feature 4
  • ...
  • Iteration n

Iteration (Sprint) Backlog

  • User Story 1 in Feature 1
    • Task 1
    • Task 2
    • ...
  • User Story 2 in Feature 1
    • Task 1
    • Task 2
    • ....
  • User Story 3 in Feature m
    • Task 1
    • Task 2
    • ....

Work Item

  • User Story: 定义用户角度的产品特征
  • Tasks: 工作任务,如设计、开发、测试
  • Test Case: 定义测试用例
  • Bugs:测试后发现软件中存在的错误
  • Issues: 定义对项目有影响的风险

 

Scrum 项目的起点是由 Product Owner 制定的待开发项目的 Product Backlog (需求列表)。这是一张包含功能性需求和非功能性需求的清单,并且按各项需求的优先级进行排序。然后,在此基础上,Product Owner 与开发团队一起进行评估并制定软件开发计划,计算出需要多少个 Sprint(迭代)来完成该项目。注意:Product Backlog 里的内容以及优先级会随着项目的进行而不断变化,这是由于 Agile 开发注重对客户要求的快速反应所决定的。

 

在每个 Sprint 将要开始时,从 Product Backlog 中拿出优先级较高的部分需求来实现,并按不同的开发组将需求的开发测试分解成各个不同的 Task(任务),从而制定该 Sprint 的开发计划,也就是 Sprint Plan。一个 Sprint 的时间是固定的,通常是 1 个月或 2 个星期。

在 Sprint 开始后,所有团队成员每天都要进行一项重要的 Scrum 实践,那就是 Daily Scrum Meeting(每日例会),时间十五分钟,会议的目标是检查开发进度,并协调团队工作。每位开发团队成员都需要回答三个问题:

  1. 从上次例会后的一天里你做了什么?
  2. 从现在到下次例会的一天时间里,你准备做什么?
  3. 在实现 Sprint 和项目目标的工作中,你碰到了什么困难?

在 Sprint 的结束后,所有人一起召开 Review Meeting,对团队提交的可运行的产品增量版本进行检查及评审,保证所实现的功能与需求一致。紧接着开始下一个 Sprint,周而复始,直到所有需求开发完成为止。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值