Scrum 是什么?
Scrum 是什么?
Scrum 是当前最流行的敏捷软件开发方法论和实施框架。但就像人们对 “Agile” 术语的不同理解一样,不同的人对 “Scrum” 也有着不同的理解。那么,到底 Scrum 是什么?
标准释义(来自 Scrum Guide 中文版 English):
Scrum 是一个框架,在这个框架中人们可以解决复杂的自适应问题,同时也能高效并有创造性地交付尽可能高价值的产品。
我的理解:
Scrum 是一种团队管理工作的方式,其将工作分解为较小的工作单元,并在周期性固定的时间段内持续地交付工作单元。
在进行详细解释之前,我们需要先了解几个基本术语。
上面描述的周期性固定的时间段,称为迭代(Iteration)或者冲刺(Sprint)。
上面描述的较小的工作单元,称为用户故事(User Story)。
用户故事可以使用特定的格式来描述,其描述了一个对于客户有价值的工作,而且可以在一个迭代周期内完成。
Scrum 框架结构
Scrum 的框架结构通常由 “3 of 3s” 组成,即 3 种角色,3 种事件,3 种工件。

3 种角色(Roles)
- 开发团队(Development Team):一个自组织的跨技能的小团队,承担实际开发工作,负责在周期性的迭代中不断的交付有价值的工作。开发团队通过集体共同交付价值,而不是通过个体。
- 产品负责人(Product Owner):产品负责人是产品最终用户的代表,负责确定产品的方向和愿景,定义产品发布的计划、内容和优先级。Product Owner 要不断的与开发团队沟通,保证团队在做从业务角度来说最正确的事情。
- Scrum 教练(Scrum Master):Scrum 定义了一个全新的全职工作角色 Scrum Master。Scrum Master 负责确保团队合理的运作 Scrum,帮助团队移除实施中的障碍。
3 种事件(Events)
- 迭代计划会议(Sprint Planning Meeting):在每个迭代之初,开发团队和 Product Owner 共同来计划在迭代周期内要完成的工作。Product Owner 负责向团队讲解要完成的工作的内容,开发团队负责对工作进行估计。
- 每日站立会议(Daily Standup Meeting):每天,开发团队和产品负责人都要进行一个短暂的沟通。在会议期间,每个团队成员都要回答 3 个问题:“我昨天做了什么?”,“我今天准备做什么?”,“我遇到了什么问题?”。
- 迭代评审会议(Sprint Review Meeting):在迭代周期结束时,开发团队向产品负责人及所有干系人进行演示,并接受反馈。
3 种工件(Artifacts)
- 产品待办列表(Product Backlog):这是一个 Product Owner 想要交付的产品功能列表。 Product Owner 负责维护该列表,并且列表项按照交付优先级进行排序。
- 冲刺待办列表(Sprint Backlog):这是一个迭代计划会议的输出,包含开发团队在迭代周期内所要完成的工作列表。
- 产品增量(Product Increment):每个迭代周期都需要交付高质量的产品增量。产品增量必须满足 Scrum 团队对完成标准(Definition of Done)的定义。
随着时间的推移,Scrum 的 “3 of 3s” 框架也在不断的扩展。比如,很多团队发现在迭代结束时,通过回顾会议可以改进团队以交付更大的价值。所以,现在迭代回顾会议已经成为了框架中第 4 种会议。
- 迭代回顾会议(Sprint Retrospective Meeting):在迭代周期结束时,Scrum 团队通过会议来对迭代的过程进行总结,以促使团队自我持续改进。
- 产品待办列表精化会议(Product Backlog Refinement Meeting):通过会议的形式,对 Product Backlog 进行精化,以促进和加深团队对产品的理解。
- 项目计划会议(Project Planning Meeting):项目启动会议。
- 产品发布计划会议(Product Release Planning Meeting):制定产品发布的计划。
Scrum 理论
Scrum 基于经验主义。经验主义主张知识源于经验,而决策基于已知的事物。Scrum 采用迭代增量式的方法来优化可预测性和管理风险。透明性、检视、调整是经验型流程的三大支柱,支撑起每个经验型控制流程的实施。
- 透明性(Transparency):流程中的关键环节必须为那些对产出负责的人可见。例如,负责完成工作和验收工作的人必须对 “Definition of Done” 有一致的定义。
- 检视(Inspection):Scrum 的使用者必须经常检视 Scrum 的工件和完成 Sprint 目标的进度,以发现不必要的偏差。
- 调整(Adaptation):如果检视者发现流程中的一个或多个方面背离了可接受的标准,并且将会导致产品不合格时,就必须对流程本身或者流程化的内容进行调整。Scrum 通过所提供的多种事件来及时调整以缩小偏差。
Scrum 价值观
Scrum 的 5 个核心价值观:
- 承诺(Commitment):我们对团队承担的工作有了更大的掌控,更加坚定了对成功的承诺。
- 专注(Focus):我们将全部精力和技能都聚焦在所承诺的工作上,团队同心协力来促使更快的交付。
- 公开(Openness):团队通过自己的方式共同完成工作,每个成员都对进展和问题了如指掌。
- 敬重(Respect):团队中的每个人都有其特定的背景和经验,互相尊重,谦虚学习。
- 勇气(Courage):我们不是一个人在战斗,有了整个团队的支持,我们有了更大的勇气来进行挑战。
参考资料
- Scrum Guide
- Scrum on Wikipedia
- What Is Scrum?
- 敏捷软件开发揭秘
- The Five Scrum values and why they matter
- Scrum Values
- The Agile Project Manager: Core Scrum Values & Courage
Scrum 是什么?的更多相关文章
- [转载]敏捷开发之Scrum扫盲篇
现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述S ...
- 敏捷测试模式之Scrum及其实践
一. 敏捷开发模式简介 敏捷是近年来软件研发领域很火的一个词,采用敏捷开发模式的研发团队是越来越多了,尤其是敏捷模式中的Scrum更是佼佼者大行其道,这表明敏捷模式确有其好处,能给企业带来效率的 ...
- 小谈Scrum敏捷开发流程
一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...
- 软件工程的引入:Scrum开发框架总结
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点如下: 软件工程概念 敏捷开发过程scrum 一.什么是软件工程?请用一句话描述. 软件工程是一门研究性的学科:它用工程化 ...
- 关于Agile Scrum的笔记
Roles: Scrum Master -- advisor but leader, 替Team消除障碍 Product Owner -- 定sprint的交付内容, 优先级 Team -- 干活的, ...
- 每日Scrum站会实践推荐
流程 1.团队在Scrum 白板前集中,推荐围成一个半圆形状. 2.最左边的成员开始讲述昨天/上一次Scrum每日站会后到现在为止,完成了什么任务,只需讲对应的任务就行了,不要讲很长的故事. 3.讲述 ...
- Scrum Meeting 20161205
本周Sprint Master 史少帅 一. 会议概要 作为一个新的sprint的开端,本次scrum meeting总结了每个人过去以来的工作,并明确了下一步的计划,具体如下: 工作总结: · 陈双 ...
- Scrum meeting 记录
本周Scrum Master 侯宇泰 一. 工作完成内容记录 · 陈双: 1. 后端数据库Azure Storage设计 2. Offline 上传Movie信息 3. 主页和配音页面的连接 · 鲍航 ...
- Beta阶段第十次Scrum Meeting
情况简述 BETA阶段第十次Scrum Meeting 敏捷开发起始时间 2017/1/4 00:00 敏捷开发终止时间 2017/1/5 00:00 会议基本内容摘要 deadline到来 参与讨论 ...
- Beta阶段第九次Scrum Meeting
情况简述 BETA阶段第九次Scrum Meeting 敏捷开发起始时间 2017/1/2 00:00 敏捷开发终止时间 2017/1/3 00:00 会议基本内容摘要 deadline临近 参与讨论 ...
随机推荐
- 关于new/delete、malloc/free的内存泄漏检测
情况一 new/delete 内存泄漏 1.在MFC中可以每一个cpp文件的头部添加以下一段宏来检测new申请而没用free释放的内存泄漏 #ifdef _DEBUG #define new DEBU ...
- asp.net web api 测试帮助页面建立并测试
asp.net web api 测试帮助页面建立并测试 现在使用WEB API来开发,越来越流行. 在开发过程中的测试调试,可以使用Fiddler等工具来帮助测试外,还有: 在asp.net 中有种方 ...
- linux(debian)下邮件发送
关键字: exim4 mutt smtp 主要的事情就是配置exim4,按照网上的流程来.在这里总结一下: 需要修改的文件有三个:/etc/exim4/update-exim4.conf.conf ...
- z-tree
1 获取所有的节点集合 var nodes = treeObj.getNodes();//只获取根节点 var nodesAll = treeObj.transformToArray(nodes);/ ...
- Linux内核分析第五周学习总结:扒开系统调用的三层皮(下)
韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.给MenuO ...
- 未能加载文件或程序集Microsoft.ReportViewer.WebForms, Version=10.0.0.0
解决方案如下ASP.NET项目使用VS2010开发,部署到windows 2008环境中,出现未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=1 ...
- spring结合Quartz的集群功能实现
一:前沿 在上一篇(http://www.cnblogs.com/wuhao1991/p/4331613.html)的博客中记载了定时的功能,但是集成是没有成功的,在这篇中,我在解释下这里的”集成的含 ...
- 定位一组对象-checkbox 、radiobutton
webdriver 可以很方便的使用find_element 方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,WebElement 接口同样提供了定位一组元素的方法find_element ...
- phpcms v9编辑器ckeditor设置回车换行br为段落p标签
phpcms v9和dedecms自带的编辑器都是使用的ckeditor,在默认情况下使用ckeditor编辑内容时,按下回车键后在源代码显示的是<br>而非<p>标签,对于习 ...
- 咏南IOCP中间件
咏南IOCP中间件 特大好消息,咏南中间件系列新增加——咏南IOCP中间件.咏南IOCP中间件完全兼容咏南DATASNAP中间件的远程方法接口. 中间件DELPHI7~DELPHI XE10.1.1都 ...