Scrum框架介绍 - 敏捷开发的实施方案
什么是Scrum
Scrum是一个团队管理框架。Scrum应用了“敏捷”的原则,提供了一套具体的工作、实践和角色来实施敏捷概念。
Scrum生命周期
下图揭示了Scrum生命周期的各个环节。
Scrum的生命周期都是一个固定长度的时间段,通常这个时间段被成为“迭代”,每一轮迭代时长在2-4周。
角色
Scrum内的角色分为:
- 产品拥有者(Product Owner)
- 负责团队创造什么样的产品,以及为什么创造这样的产品。负责更新backlog,确保事项保持优先级顺序
- Scrum负责人(Scrum Master)
- 确保Scrum的进程正常进行
- 负责团队的持续优化,以及迭代过程中障碍、阻塞问题的排查
- Scrum负责人的角色像是教练、团队成员、啦啦队的结合体
- Scrum团队
- 实际创建产品的个人
- 负责产品的工程以及质量
产品backlog
产品backlog是一个团队可交付的价值优先级排序表。产品拥有者负责backlog的添加、变更以及有限度排序。最上方的事项永远准备供团队执行。
迭代计划以及迭代backlog
在计划迭代中,团队选择下一轮迭代中执行的backlog的事项。这种选择是基于优先度和可完成性的。迭代backlog列出了下一轮迭代团队需要交付的事项。通常,每一个事项被转化成多个任务,所有成员一致通过迭代backlog之后,下一轮迭代开始。
迭代的执行以及每日scrum
一旦迭代开始,团队将执行迭代backlog。Scrum并不具体要求团队如何执行,这一部分留给团队决定。
Scrum定义了一项“日常scrum”的工作,也被成为“站立会议“,在日常scrum中,会议的长度被限制为15分钟。团队成员经常在会议中保持站立以确保会议的简洁。每一个成员简短地报告进度,今日计划以及任何阻碍进程地事项。为了保证日常scrum的效率,团队经常集中于两个部分:
任务看板
列出每一项团队正在进行的事项,或者将它们转化为为了完成目标所需的任务。任务分别有”待完成“”进行中“以及”已完成“的类别,提供了一个可视化的任务进度。
迭代拆解
绘制每日积压工作的总览图。剩余工作被精确至小时。它提供了确保团队是否按照计划进展。
迭代回顾以及回溯
在迭代的末尾,团队有两种做法:
迭代回顾
团队向利益相关者展示完成的工作,演示软件并展现其价值。
迭代回溯
团队复盘哪里做得好,哪里需要提升。回溯中的结果将在下一轮迭代中产生效果。
增量
一轮迭代的产物被称为增量或潜在可交付增量。抛开概念,一轮迭代的产出应该具备可交付的质量,即使它是更大的产品的一部分并且无法单独交付。它必须满足团队、产品负责人设定的质量标准。
重复。学习。提升。
整个流程在下一轮迭代中重复,迭代计划选择产品backlog中的下一轮事项并且循环往复。在团队执行迭代的过程中,产品负责人确保backlog的上方事项时刻可以开始执行。
这种较短的迭代周期为团队提供了许多学习、提升的机会。一个传统的项目通常具有较长的周期,例如6-12个月。而团队在传统项目中学习的机会远远少于执行两周为周期迭代的项目。
这是敏捷开发中最基础的特征。
Scrum框架流行的一个原始是它提供了恰好的规则去指导团队如何进行敏捷式的团队管理,并留下足够的灵活性让其自由决定执行方式。它的概念简单,容易学习。团队可以快速开始并在进行中学习。因此,Scrum是一个快速应用敏捷概念的首选。