什么是SCRUM?

Scrum 是用于开发、交付和持续支持复杂产品的一个框架,是一个增量的、迭代的开发过程。

  • 在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是一至四周。
  • 在Scrum中,使用产品Backlog来管理产品的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。
  • Scrum团队总是先开发对客户具有较高价值的需求。在Sprint中,Scrum团队从产品Backlog中挑选最高优先级的需求进行开发。
  • 挑选的需求在Sprint计划会议上经过讨论、分析和估算得到相应的任务列表,我们称它为Sprint backlog。
  • 在每个迭代结束时,Scrum团队将递交潜在可交付的产品增量。

Scrum起源于软件开发项目,但它适用于任何复杂的或是创新性的项目。Scrum 目前已被用于开发软件、硬件、嵌入式软件、交互功能网络、自动驾驶、学校、政府、市场、管理组织运营,以及几乎我们(作为个体和群体)日常生活中所使用的一切。

SCRUM框架

Scrum框架包括3个角色、3个工件、5个事件、5个价值:

3个角色

  1. 产品负责人(Product Owner):
  2. Scrum Master
  3. 开发团队

3个工件

  1. 产品Backlog(Product Backlog)
  2. SprintBacklog
  3. 产品增量(Increment)

5个事件

  1. Sprint(Sprint本身是一个事件,包括了如下4个事件)
  2. Sprint计划会议(Sprint Planning Meeting)
  3. 每日站会(Daily Scrum Meeting)
  4. Sprint评审会议(Sprint Review Meeting)
  5. Sprint回顾会议(Sprint Retrospective Meeting)

5个价值

  1. 承诺 – 愿意对目标做出承诺
  2. 专注– 把你的心思和能力都用到你承诺的工作上去
  3. 开放– Scrum 把项目中的一切开放给每个人看
  4. 尊重– 每个人都有他独特的背景和经验
  5. 勇气– 有勇气做出承诺,履行承诺,接受别人的尊重

SCRUM理论基础

Scrum以经验性过程控制理论(经验主义)做为理论基础的过程。经验主义主张知识源于经验, 以及基于已知的东西做决定。Scrum 采用迭代、增量的方法来优化可预见性并控制风险。

Scrum 的三大支柱支撑起每个经验性过程控制的实现:透明性、检验和适应。Scrum的三大支柱如下:

第一:透明性(Transparency)

透明度是指,在软件开发过程的各个环节保持高度的可见性,影响交付成果的各个方面对于参与交付的所有人、管理生产结果的人保持透明。管理生产成果的人不仅要能够看到过程的这些方面,而且必须理解他们看到的内容。也就是说,当某个人在检验一个过程,并确信某一个任务已经完成时,这个完成必须等同于他们对完成的定义。

第二:检验(Inspection)

开发过程中的各方面必须做到足够频繁地检验,确保能够及时发现过程中的重大偏差。在确定检验频率时,需要考虑到检验会引起所有过程发生变化。当规定的检验频率超出了过程检验所能容许的程度,那么就会出现问题。幸运的是,软件开发并不会出现这种情况。另一个因素就是检验工作成果人员的技能水平和积极性。

第三:适应(Adaptation)

如果检验人员检验的时候发现过程中的一个或多个方面不满足验收标准,并且最终产品是不合格的,那么便需要对过程或是材料进行调整。调整工作必须尽快实施,以减少进一步的偏差。

Scrum中通过三个活动进行检验和适应:

  • 每日例会检验Sprint目标的进展,做出调整,从而优化次日的工作价值;
  • Sprint评审和计划会议检验发布目标的进展,做出调整,从而优化下一个Sprint的工作价值;
  • Sprint回顾会议是用来回顾已经完成的Sprint,并且确定做出什么样的改善可以使接下来的Sprint更加高效、更加令人满意,并且工作更快乐。

本文分享自微信公众号 - 物联俱乐部(wu_lian_club),作者:瓜哥

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 敏捷的3355

    Product Owner:主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。

    公众号php_pachong
  • 软件开发模式之敏捷开发

    什么是敏捷开发 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。 在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经...

    公众号php_pachong
  • 敏捷词汇表

    Scrum:Scrum无对应中文翻译 Agile:敏捷 Lean:精益 Iterative:迭代式的 Iteration:迭代 Agile Manifesto:...

    公众号php_pachong
  • 【原创工具】github监控工具

    前段时间朋友想要我写的github监控工具,我本着独乐乐不如众乐乐的心态,就答应我朋友说过几天发到公众号上,今天实现一下子诺言,工具获取方法在文章底部。如果您觉...

    7089bAt@PowerLi
  • 如何使用java代码通过JDBC连接Hive(附github源码)

    前面我们讲过《如何使用java代码通过JDBC连接Impala(附Github源码)》,本篇文章主要讲述如何使用Java代码通过JDBC的方式连接Hive。

    Fayson
  • 在Java中如何实现“Pless presss any key to continue.”

    import java.util.*; class Continue{ public static void main(String[] args){ ...

    用户1174983
  • 深度学习下的医学图像分析(一)

    AI 研习社按:本文由图普科技编译自《Medical Image Analysis with Deep Learning 》,雷锋网(公众号:雷锋网)独家首发。...

    AI研习社
  • Python基础

    Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。

    用户7678152
  • python入门基础

    字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中引号包括单引号和双引号。这种灵活性能够在字符串中包含引号和撇号,如:

    用户1679793
  • Python version 2.7 r

    显示:--- Python 2.7 is now registered!  则表示成功

    py3study

扫码关注云+社区

领取腾讯云代金券