Scrum是一种敏捷方法,旨在指导团队进行产品的迭代和增量交付。通常被称为“敏捷项目管理框架”,其重点是使用经验过程,使团队能够快速,有效,有效地做出改变。传统的项目管理方法确定了需求,以控制时间和成本; 另一方面,Scrum修复了控制需求的时间和成本。这是使用时间框,协作仪式,优先产品积压和频繁的反馈周期来完成的。整个项目中业务的参与至关重要,因为Scrum在很大程度上依赖于团队与客户或客户代表之间的协作,以精益 (Lean) 方式创建合适的产品。

什么是Scrum?

我们首先应该清楚Scrum不是什么。有一种常见的误解,认为敏捷就是 Scrum。虽然Scrum确实很敏捷,但它并不是实现敏捷原则的唯一方法。Scrum只是产品开发的众多敏捷方法之一。其他方法包括极限编程(XP),晶体,特征驱动开发,DSDM Atern等。所有这些方法都遵循敏捷宣言及其相关原则。一个有用的比喻是认为敏捷是冰淇淋 (ice Cream),而Scrum,XP,水晶 (Crystal) 等,都是不同的口味,如巧克力,草莓,香草。它们都很敏捷,它们都很好,很多都可以组合使用。

简而言之,Scrum是一种灵活的迭代和增量产品交付方法,它使用频繁的反馈和协作决策。

历史

Scrum基于1986年由Hirotaka Takeuchi和Ikujiro Nonaka撰写的题为“新产品开发游戏” 的哈佛商业评论的论文。在本文中,作者用橄榄球运动作为比喻来描述自我的好处。组织团队进行创新产品开发和交付。Jeff Sutherland,Ken Schwaber和Mike Beedle从本文中提取了这些想法,包括隐喻,并将其应用于他们的软件开发领域。在橄榄球术语之后,他们称他们的新方法为Scrum,这个术语描述了球队如何形成一个圆圈并且让球再次发挥作用。他们在1993年首次在Easel公司应用了这种方法.Schwaber和Beedle在Scrum的敏捷软件开发一书中写下了他们的经历。2002年,Schwaber 在2004年与Scrum一起出版了敏捷项目管理书,其中包括Schwaber与Primavera合作完成的工作。

Scrum框架

Schwaber将Scrum称为框架而非方法论​​。这主要是由于“方法论”这个词的内涵,许多人认为这些词汇本质上是规定性的。相比之下,Scrum只提供了一个交付结构,但并没有告诉你如何做特定的实践,而是将其留给团队来确定。图1显示了基本的Scrum框架。

图表1. Scrum Process Canvas

该项目始于企业提供的清晰愿景,以及按重要性排列的一系列产品功能。这些功能是产品待办事项的一部分,由客户或客户代表(称为产品负责人)维护。通常称为迭代或冲刺的时间框是团队必须完成所选功能的设定时间量。短跑的长度通常为一到四周,并且在整个项目的整个生命周期中保持这个长度以便建立节奏。团队从产品待办事项中选择它认为可以在sprint中完成的项目,并在sprint规划会议中创建包含功能和任务的sprint backlog。

一旦团队致力于sprint积压,任务工作就开始了。在sprint的这段时间内,团队可以免受中断,并且可以专注于满足sprint目标。不允许更改sprint backlog; 但是,可以更改产品积压以准备下一个sprint。

在冲刺 (Sprint) 期间,团队每天以15分钟的会议(称为scrum Standup)的形式互相讨论和沟通。团队围成一圈,每个成员都说明了他们昨天做了什么,他们打算今天做什么,以及他们的方式是什么。

在sprint结束时,团队将他们完成的工作演示给利益相关者,并收集反馈,这将影响他们在下一个sprint中的工作。他们还举办了一次回顾展,以了解如何改进。这次会议至关重要,因为它的重点是Scrum的三大支柱:透明度,检查和适应性。

角色和责任

Scrum中只有三个角色:ScrumMaster,产品负责人 (Prodcut Owner) 和开发团队 (Development Team)。

ScrumMaster是流程的守护者,团队的倡导者和团队的保护者。他们消除障碍,促进团队沟通,调解团队内部的讨论,并与团队外部人员进行协商。最重要的是,它们存在于团队服务中。

产品负责人 (Prodcut Owner) 代表客户的声音,并有权决定产品。此人拥有产品待办事项,负责将愿景传达给团队,并定义积压项目并确定其优先级。产品负责人每天与团队合作,回答问题并提供产品指导。

该开发团 (Development Team)队由七个正负两个人组成,他们共同负责产品的交付。他们拥有估算,做出任务承诺,并在每日Scrum中相互报告每日状态。它们是自组织的,意味着结构在没有外界明确干预的情况下出现。换句话说,团队拥有如何选择构建产​​品功能 - 团队拥有“如何”,而产品所有者拥有“什么”。

Scrum的应用

Scrum通过一系列仪式 (Scrum Ceremonies) 或会议 (Meetings) 来应用。必要的Scrum仪式包括sprint计划会议 (Sprint Planning),每日scrum (Daily Standup),sprint审查 (Sprint Review) 和sprint回顾 (Sprint Retrospective)。还需要使用称为冲刺的时间框。发布计划会议是可选的,允许规划和预测冲刺组。

Sprint计划会议

冲刺计划会议在每个冲刺的第一天举行。ScrumMaster,产品负责人和团队都出席了会议。产品负责人提供他或她希望在sprint中完成的功能集(“什么”),然后团队确定实现这些功能所需的任务(“如何”)。将审核工作估算,以确定团队是否有时间完成sprint中请求的所有功能。如果是这样,团队承诺冲刺。如果没有,优先级较低的功能将返回到产品待办事项中,直到sprint的工作负载小到足以获得团队的承诺。

跟踪进度

一旦冲刺计划 (Sprint Planning) 会议完成并且团队做出了承诺,团队就会开始使用高度可见的信息辐射器跟踪其进度。这些散热器包括燃尽图和任务板。

团队使用任务板跟踪每个功能的任务进度。使用的最小列是“待办事宜”,“执行”和“完成”。团队将在任务委员会举行每日Scrum会议,并在陈述他们昨天做了什么,他们打算今天做什么以及他们正在努力解决的障碍时,全面移动项目。有关软件开发项目的示例任务板,请参见图2。

图表2. Scrum任务板示例

燃尽图显示了冲刺中剩余工作量的趋势线。x轴是sprint中的天数,y轴是sprint规划会议中定义的所有任务的小时数。在冲刺期间,指示剩余工作量的线应该在冲刺的最后一天趋势下降到零。有关sprint burndown图表示例,请参阅图表3。

图表3. Sprint Burndown图表示例

使用燃尽图表,任务板和每日Scrum跟踪Sprint进度。结合起来,这三件事可以清楚地描述正在进行的工作,已完成的工作,仍有待完成的工作,是否能够及时完成,以及可能阻止团队满足其冲刺和/或发布目标。

Sprint评论 (Sprint Review)

在sprint结束时,团队邀请利益相关者参加sprint评审会议,在会议中演示sprint中完成的功能并请求反馈。产品负责人会跟踪反馈并根据需要将其合并到产品待办事项中。

一旦审查完成,团队(没有利益相关者)进行回顾,以确定他们希望继续做什么,他们挣扎的是什么,以及他们对未来的改变有什么建议。创建一个行动计划,这些项目将在下一个sprint的过程中实施,并在下一个sprint回顾中进行审查。

发布计划 (Release Plan)

发布计划也是Scrum的一部分,是一种对包含多个sprint的时间框进行长期规划的方法。这通常是按季度完成的,本季度的结果不一定是向客户发布的,但可能只是内部版本以确认系统集成和验证。图表4显示了发布计划如何适应Scrum框架的其余部分。

整个团队参加发布计划会议,产品负责人在会议中展示他/她希望在本季度完成的功能。然而,该团队并未对这些功能进行任务,而是提供总体水平估算,以确定在什么样的冲刺中可以完成哪些功能,以及在本季度末可以完成多少这些功能。发布计划可以是功能驱动的(完成这组功能需要多少冲刺?),时间驱动(我们期望在截止日期前完成多少功能?)或成本驱动(考虑到这个预算,我们的日程安排是什么样的,我们在没钱之前会做些什么?)

图表4. Scrum中的发布计划

使用Scrum进行敏捷项目管理相关推荐

  1. 使用Scrum进行敏捷项目管理的10个简单步骤

    敏捷项目管理:如今,工作场所中无法逃脱."将其放入积压中." "我们将在下一个冲刺阶段进行处理." "与Scrum教练交谈." 敏捷项目管理 ...

  2. 一起搞定-传统项目管理和敏捷项目管理

    让我们一起来搞定 [传统项目管理和敏捷项目管理] 先来一张大图 价值理念 首先来看看在理念方面,两者有何不同.项目管理的铁三角是围绕着范围.成本和时间展开的.传统项目管理的特点是强计划驱动,需求范围固 ...

  3. 研发协作Scrum看板工具项目管理团队协通敏捷开发平台

    Leangoo官网:www.leangoo.com Leangoo是由国内敏捷最权威的 Scrum中文网 研发的一款敏捷项目管理协作平台,适用于团队产品研发.项目管理等的协作平台. 看板式管理 简洁. ...

  4. 禅道项目管理_推荐一个项目管理工具,落地基于Scrum的敏捷开发!

    作为一个开发人员,我们也该懂一些项目管理的知识,今天我们来讲一个基于Scrum的项目管理工具禅道.本文将从禅道的安装部署开始讲起,然后讲讲Scrum的核心概念,最后通过禅道的一套操作来实践下Scrum ...

  5. CODING 敏捷实战系列课第二讲:Scrum 敏捷项目管理核心要素之 3355

    Scrum 是敏捷开发流派中最著名和最落地的一支,全球 70% 以上公司的敏捷转型都是以 Scrum 起步.CODING 特邀敏捷顾问.CST & CTC 认证敏捷教练申健老师将在本课程 &l ...

  6. 敏捷项目管理之Scrum教练篇

    Scrum是一种项目管理方法,可让团队进行自我组织并快速进行更改.因此,Scrum主管是遵循此方法的团队负责人.如果你是新的Scrum管理员,并且正在寻找关于如何打造敏捷小队的信息,那么你来对地方了. ...

  7. scrum敏捷项目管理_Scrum –敏捷项目的最好朋友

    scrum敏捷项目管理 In an earlier article I wrote, we took a general look at project management and discusse ...

  8. Scrum敏捷项目管理入门

    Scrum开发 1. 定义 ​ 用于开发和维护复杂产品的框架 ,是一个增量的.迭代的开发过程.整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是2 ...

  9. 怎样做好敏捷项目管理?

    如今,项目管理的步伐越来越快.项目管理需要更灵活.更积极地,响应客户的需求. 敏捷开发则是以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发的一种方法. 敏捷的优势日益显现,目的是为了迅速响 ...

最新文章

  1. 如何继承和重写一个Bundle的某部分
  2. 使用 Android Studio 跑新浪微博SDK Demo遇到的问题及解决
  3. 【AndroidSupport】LinearLayoutCompat
  4. keepalived实现lvs高可用并负载均衡lamp
  5. gorm 密码字段隐藏_非常专业且免费的密码管理工具
  6. Mongodb基本使用方法
  7. 37岁程序员被裁员,面试华为阿里被拒,无奈降薪去小公司,结局出乎意料!
  8. 物联网技术周报第 109 期: 从设计理念解读实时操作系统 RT-Thread
  9. 网站建设中常见的21个漏洞及预防方法
  10. Maven实战读书笔记
  11. 从DWG导入SKP后的封面问题
  12. OpenPose的使用
  13. Charles最新版破解注册方法
  14. vscode下载与安装,解决安装包下载慢问题
  15. golang gin框架全局捕获500和404
  16. Centos使用chrony做时间同步
  17. 你不知道的Word中制作表格的7个技巧
  18. 我读经典管理书籍《管理的实践》有感
  19. 【详解】二维数组的长度问题。int[][] arr = new arr[3][4];arr.length;arr[0].length;
  20. CAE(Convolutional Auto-Encode) 卷积自编码

热门文章

  1. 神经网络图用什么软件做,神经网络示意图怎么画
  2. 新的空难事故,正在酝酿中……?
  3. CNN卷积神经网络结构
  4. SD 模块与FICO、MM、PS、QM、PP的集成点
  5. 什么是项目,有哪些特点,以及项目启动背景
  6. BCDEdit命令修改windows启动菜单
  7. 触点通RTC文档管理模块
  8. MacBook笔记本打不开github解决方案
  9. Armbian Bionic 桌面视频和3D加速
  10. Kaggle HousePrice : LB 0.11666(前15%), 用搭积木的方式(2.实践-特征工程部分)...