2011年4月14-15日,有幸参加全球敏捷联盟的CSM(Certified Scrum Master)培训,虽然我们在平时工作中一直使用Scrum开发模式,但是对Scrum的理论我还不是十分的清楚,两天全英文的培训使我全面了解了Scrum的基本流程,总结一下培训重点,希望和更多使用Scrum模式的人共同交流探讨,某些术语翻译的不准确,希望批评指正。

1.Scrum简介:

Scrum一词来自橄榄球运动,在软件工程中,Scrum是以经验过程为依据,采用迭代、增量的方法来提高产品开发的可预见性并控制风险的理论,Scrum不是一种过程,也不是一项构建产品的技术,而是一个框架,在Scrum框架中可以应用各种过程和技术,Scrum的作用是让开发实践方法的相对功效显现出来以便随时改进。

2.敏捷开发中的Scrum模式:

Scrum是敏捷(Agile)开发的一种实践模式,敏捷开发强调拥抱需求变化,快速响应不断变化的需求,并尽可能快地提供可以工作的软件产品,敏捷最强调的是可以正常工作的软件产品,文档等不是非常的强调(并非不要文档,只是需要必要的文档),敏捷理论认为面对面的沟通交流远比文档更有效。

敏捷开发的Scrum模式是以价值驱动(Value-Driven)的开发模式,即认为用户的需求并不一定需要100%实现,最重要的是将对用户最有价值的功能实现并交付.

敏捷开发中Scrum开发流程如下:

3.Scrum框架元素:

Scrum框架的主要元素有:

(1).3种角色:

a.Scrum Master。

b.Scrum团队。

c.产品负责人(Product Owner)。

(2).4种会议:

a. Sprint规划会(Sprint Planning Meeting)。

b.每日站会(Daily Scrum Meeting)。

c.Sprint评审会(Sprint Review Meeting)。

d.Sprint回顾会(Sprint Retrospective Meeting)。

(3).2个Backlog列表:

a.产品需求Backlog列表(Product Backlog list)。

b.Sprint Backlog列表。

(4).2个燃点图:

a.产品发布燃点图(Product release burndown chart)。

b.Sprint燃点图(Sprint buirndown chart)。

4.Scrum角色介绍:

(1).Scrum Master:

Scrum Master的主要职责是:

a.排除产品开发和产品负责人之间的障碍,确保产品负责人直接推动开发工作;

b.教授产品负责人如何实现投资回报最大化,以及如何利用Scrum达成目标;

c.激发创造力和放权,从而改善开发团队的环境;

d.千方百计实践和工具,确保每个功能增量都具备潜在可交付行;

e.向各方确保团队工作进展实时更新并高度可视;

(2).Scrum团队:

Scrum团队是Scrum框架的核心,Scrum团队是一个自我管理的组织(Self Organize Team),Scrum团队不需要命令,成员根据自己的兴趣任意选取Sprint Backlog中分解的任务,整个团队为了在Sprint迭代开发周期中提交可工作的软件产品目标而相互合作,Scrum团队的特性:

a.具有不同特长的团队成员,人数控制在5-9个左右。

一个Scrum团队中,开发,测试等人员都需要有,人数不能太多,否则沟通成本太高。

b.确定Sprint目标和具体说明的工作成果。

c.在项目向导范围内有权利做任何事情已确保达到Sprint的目标。

d.高度的自我管理能力。

e.向Product Owner演示产品功能。

Scrum团队的成员们必须有这样一个意识:整个团队要么一起成功,要么一起灭亡,没有个体的概念,每个成员只要为了Sprint目标,可以做什么事情。

(3).产品负责人(Product Owner):

产品负责人(PO)负责收集客户需求,并根据产品功能点对用户需求的价值,将客户需求排列优先级形成产品Backlog作为Scrum团队Sprint开发周期的输入。产品负责人的特性如下:

a.确定产品的功能。

b.决定发布的日期和发布内容。

c.根据市场价值确定功能优先级。

即Value-Driven,根据功能客户的价值/投资回报率对来确定优先级。

d.在Sprint周期内调整功能和调整功能优先级。

e.接受或拒绝接受开发团队的工作成果。

5. Scrum4种会议介绍:

在介绍Scrum4种会议之前,首先介绍Scrum中一个很重要的概念——Sprint.

Sprint是一个固定时间段的迭代开发周期,一般为2-4周,最长不要超过一个月,Sprint太长风险不易控制,太短则Sprint会议会占用大量时间。一个Sprint由Sprint规划会、每日站会、Sprint评审会和Sprint回顾会组成,Sprint的输入是产品Backlog,输出是包含了Sprint提交的可运行的软件。

(1).Sprint规划会(Sprint Planning Meeting):

Sprint规划会议制定迭代计划,Sprint计划会议的内容包括以下两个部分:

a.产品负责人告诉Scrum团队决定Sprint做什么:

产品负责人把具有最高优先级的产品Backlog呈现给Scrum团队,并一起决定接下来的Sprint中开发什么功能。

b.Scrum团队研究如何实现功能:

Scrum团队根据Sprint规划会议第一部分的产品Backlog,将产品Backlog分解成具体的开发任务,即Sprint Backlog,并估算完成每个任务所需要的大概时间。

这个阶段的会议不要超过4个小时。

(2).每日站会(Daily Scrum Meeting):

一旦Sprint计划阶段结束,2-4周的Sprint就开始了。Scrum Master需要组织团队成员每天开站会. 这个会议是用最多15分钟的时间来让大家过一下scrum的状态。在会上,每个团队成员需要问3个问题:

a.我昨天做了什么.

b.今天做什么.

c.遇到哪些障碍。

谁都可以参加这个会议,但只有Scrum团队成员有发言权。这个会议的目标是得到一个项目的全局观,用于发现任何新的依赖,定位Scrum成员的要求,实时的调整当天开发计划.

注意:每日站会时,只通报进展情况,不做讨论,深入具体的讨论在会议结束之后找时间进行。

(3).Sprint评审会(Sprint Review Meeting):

在Sprint结束的时候召开Sprint评审会,这个会议最多不超过4个小时.Scrum团队演示在这个Sprint中开发的产品功能给产品负责人.产品负责人会组织这阶段的会议并且邀请相关的利益相关者参加。业务,市场,技术都要做相关的评审。由产品负责人来决定Product Backlog中的哪些功能已经开发完成 。

(4).Sprint回顾会(Sprint Retrospective Meeting):

由Scrum Master和Scrum 团队一起回顾当前的Sprint。团队评估大家在一起的工作方式,找出好的方式以后继续发扬,找出需要做的更好的地方,想办法提升。Sprint评审会结束后,新一轮的迭代又继续开始(中间最好修整半天或者隔个周末),迭代会一直继续,直到开发了足够多的功能去交付一个产品。

Sprint回顾会时,汇报经理和产品负责人一般不被邀请参加,主要是为了给Scrum团队一个安全的、畅所欲言的开放环境,毫无顾虑地提出意见帮助Scrum团队更好地工作。

Sprint回顾会时,最好Scrum选择一个好的方面,一个不好的方面讨论,容易在有限时间里充分讨论形成一致意见,并确定责任人执行。

6.Scrum的Backlog:

Sprint中有两种Backlog:产品Backlog和Sprint Backlog.

(1).产品Backlog:

在产品/项目开始的时候,产品负责人要准备一个根据商业价值排好序的客户需求列表。这个列表就是Prodct Backlog,一个最终会交付给客户的产品特性列表,它们根据商业价值来排列优先级,是Scrum团队每个Sprint的输入。

Scrum团队会根据Product backlog来做工作量的估计。Product backlog应该涵盖所有用来构建满足客户需要的产品特性,包括技术上的需求。高优先级的一些产品特性需要足够的细化以便于我们做工作量估计和做测试。

产品Backlog列表中的最小单位为用户故事(User story),用户故事的需要必须独立、可评估大小(用户故事的相对大小),对于用户故事的估计方法如下:

a.选择用户故事大小参照物。

b.Scrum团队使用扑克牌估计用户故事的大小,尽可能意见比较一致或相近。

c.使用菲伯纳西数列:1,2,3,5,8,13,21……表示用户故事的相对大小。

d.对于过大的用户故事需要拆分成小的用户故事。

(2).Sprint Backlog:

当Scrum团队选择并承诺了产品Backlog中要递交的一些高优先级的产品功能点后,这些功能点就会被细化成为Sprint Backlog:一个完成Product Backlog功能点的必需的任务列表.这些点会被细化为更小的任务,工作量小于2天。Sprint backlog完成后,Scrum团队会根据它重新估计工作量,如果这些工作量和原始估计的工作量有较大差异,Scrum团队和产品负责人协商,调整合理得工作量到Sprint中,以确保Sprint的成功实施。

7.2个燃点图:

(1).产品发布燃点图:

产品发布燃点图记录在一段时间内产品Backlog的总剩余估算工作量,估算工作量是以Scrum团队和组织决定的单位为标准,时间是以Sprint为单位。产品发布燃点图是产品剩余工作量趋势图。

(2).Sprint燃点图:

Sprint燃点图展现的是当前Sprint内剩余的Sprint backlog工作量,创建该图需要通过累计Sprint中没人Backlog估算来确定剩余工作量,Sprint内剩余工作量就是所有Sprint Backlog的剩余工作总量,Scrum团队在每日站会过当前Sprint工作状态时,会同步更新Sprint燃点图,时刻显示剩余工作量。用线将图上的点连接起来,团队就可以控制完成Sprint工作的进程,所耗时长并不属于Scrum的关注范围,剩余工作量和完成日期才是利益相关因素。

Sprint燃点图以及Sprint任务分解的重点不是关注是否精确,而是确保Scrum团队可以保持一个稳定的开发速度和产出效率,Scrum团队通过长期对Sprint燃点图的统计分析可以估算出团队的乐观速度,悲观速度和平均速度,在Sprint规划会时可以给出Sprint可以完成的Product Backlog乐观的、悲观的和平均的估计。

8.定义完成(Definition of Done):

Scrum要求团队在每个Sprint内构建可交付的软件产品功能增量,因为对于产品Baclog的功能是否完成每个人的理解可能不同,因此需要定义完成的含义,定义完成由Scrum团队和产品负责人一起讨论决定,只有所完成所规定的工作全部完成时,产品Backlog才算完成,未完成的产品Backlog导入到产品Backlog中,继续下一个Sprint迭代。

CSM(Certified Scrum Master)敏捷大师培训总结相关推荐

  1. 什么是CSM(Certified Scrum Master) 敏捷教练认证?

    什么是CSM? CSM即Certified Scrum Master,Scrum Master负责确保所有人都能正确地理解并实施Scrum,确保Scrum团队遵循Scrum的理论.实践和规则.Scru ...

  2. CSM(Certified Scrum Master) 敏捷认证是什么?

    Scrum 是用于开发和持续支持复杂产品的一个框架.Scrum 基于试验性过程控制理论,借鉴了精益思想.时间盒.模块化设计等,并完整地体现了敏捷宣言和敏捷原则.Scrum 采用一种迭代.增量式的方法来 ...

  3. 什么是CSM(Certified Scrum Master) 敏捷认证

    什么是CSM CSM,即Certified ScrumMaster,是Scrum联盟发起的Scrum认证.CSM可以帮助团队正确使用Scrum,从而提高项目整体成功的可能性.CSMs深刻理解Scrum ...

  4. 权威的国际敏捷认证Certified Scrum Master (CSM)

    权威的国际敏捷认证Certified Scrum Master (CSM) A. 认证前 在学习Certified Scrum Master (CSM)之前,你需要了解: 什么是CSM CSM认证与其 ...

  5. 敏捷CSM认证:Scrum Master的真正职责是什么?

    敏捷CSM认证:Scrum Master的真正职责是什么? Scrum Master 负责根据Scrum 指南中的定义来促进和支持Scrum.Scrum Master 通过帮助每个人理解Scrum 理 ...

  6. 优普丰(CSM认证)2天的Certified Scrum Master培训学习笔记

    2012年10月27-28日参加了优普丰组织的在北京为期2天的Certified(不是Certificated) Scrum Master认证培训(CSM认证),收获多多.培训前邮件中介绍Vernon ...

  7. Certified Scrum Master(CSM)题目总结!

    CSM证书题目总结  图1:Scrum联盟官方Scrum认证体系 Sprint Backlog中包含哪些内容? A:用户故事 B:任务 C:用例 D:测试 一旦项目进行中,计划的方法是? A:计划不应 ...

  8. Certified Scrum Master (CSM) 敏捷ScrumMaster认证考试部分题目

    CSM 笔试常见的题目(这里是16年的版本,后期应该有较大改动),题目较简单,目的主要是让大家把两天培训的内容复习一遍.可自行选择英语.汉语,但汉语的翻译有时候比较难懂,建议还是使用英文,也便于根据答 ...

  9. 记一次CRM敏捷认证培训学习总结

    前言 最近公司组织了一次关于CRM敏捷认证的培训和考试活动.为了加深记忆和留待以后回顾复习,也为了想要了解敏捷的同学提供一定的帮助,特此写了一篇关于敏捷培训的总结. 学习链接: Scrum指南2020 ...

最新文章

  1. Synchronized的两个用法
  2. Linux系统状态查看命令2
  3. gparted 不能起作用的时候,用fdisk
  4. jsp设置背景图片并使得图片扩大到整个屏幕
  5. 列表左右箭头滑动_我写了一套框架,把滑动窗口算法变成了默写题
  6. Nis服务器主从安装配置
  7. 乐高无限的服务器怎么建,乐高无限悬空房子怎么建造 建造方法介绍
  8. 利用python生成一个导出数据库的bat脚本文件
  9. centos7系统使用杀毒软件clamav
  10. 织梦手机站搜索结果显示为电脑站的搜索结果模板的解决方法
  11. 【网络入侵检测】K均值与层次聚类分析(sklearn,scipy,手写实现)
  12. 计算机数值换算在线,计算机单位换算(计算机单位换算在线)
  13. Python爬虫初学(4)登陆武汉理工大学教务处并转到成绩管理
  14. Linux 常用命令大全
  15. 【日拱一卒行而不辍20220921】自制操作系统
  16. 资料外泄:给系统管理者的警告
  17. 红旗linux如何开远程桌面,配置VNC服务实现红旗Linux远程桌面访问
  18. 收藏的一些好用的网站
  19. 计算机许可管理器服务器名称是什么意思,部署 - 安装后的许可证服务器是什么?...
  20. 正确率/精度(precision),召回率(recall),F1-score,ROC 曲线,AUC值

热门文章

  1. 硬核:科学家打造全套人工神经系统,让瘫痪病人重新控制身体
  2. SMP865X广告机之破解dcchd
  3. 基于Tushare一键生成股票基本面数据
  4. 「 English 」英语口语练习-持续更新
  5. 祖母与猫 - 推荐图片组
  6. PMBOK第六版(中文)
  7. 一个古老软件工具的逆向重生
  8. Simple INF 解析
  9. (三)以太坊创建多重签名钱包
  10. Android学习笔记Android必备开发工具之一命令行创建Git库