Scrum 简介 <ul><li>10/20/10 </li></ul>
 
What Scrum ? <ul><li>Scrum 是一个敏捷开发框架(模型) </li></ul><ul><li>Scrum 是一个迭代式的软件开发渐进过程 , 通常被用于敏捷软件的开发。  </li></ul><ul><li>Scrum ...
Why Scrum? <ul><li>有效:经过时间考验的,实用和有效的方法 </li></ul><ul><li>简单:学习简单、使用简单 </li></ul><ul><li>价值:客户可以尽早的看到可以工作的软件 </li></ul><ul>...
Scrum 的不足 <ul><li>不能解决资源稀缺的问题 </li></ul><ul><li>不能解决需求变更的问题 </li></ul><ul><li>不适用于无规则无计划短任务的管理 </li></ul>
How Scrum ? <ul><li>角色 </li></ul><ul><li>过程 & 形式 </li></ul><ul><li>工具 & 方法 </li></ul>
Scrum 中的角色 <ul><li>项目的拥有者:内部角色 </li></ul><ul><li>外部角色  --  Chicken </li></ul><ul><li>Users </li></ul><ul><li>Managers </li...
A Chicken & Pig Story
Scrum 中的过程 & 形式 <ul><li>Sprint Planning Meeting </li></ul><ul><li>Daily Scrum Meeting </li></ul><ul><li>Sprint Review Meet...
Sprint Planning Meeting <ul><li>Sprint 中最重要的工作; </li></ul><ul><li>在启动每个 sprint 前召开。一般为一天时间( 4~8 小时),分为上下两个半场,团队成员都要参加。 </l...
Scrum 中的术语 <ul><li>Product Backlog  </li></ul><ul><li>软件项目中可以预知的所有任务,包括功能性的和非功能性的所有任务。 </li></ul><ul><li>Sprint </li></ul>...
Sprint <ul><li>有明确的目标 </li></ul><ul><li>有明确的开始和结束时间,一般不超过 30 天 </li></ul><ul><li>有明确的产品范围— Sprint Backlog </li></ul><ul><l...
Sprint Planning Meeting <ul><li>不要把所有事情都留在计划会议上才去解决,计划会议前, scrum master 要和产品负责人进行沟通,帮助产品负责人制定 backlog 。尽量避免计划会议后才去解决问题的情况发...
Sprint 计划会议 <ul><li>Sprint 计划会议是 Scrum 中最重要的活动 </li></ul><ul><li>在 sprint 计划会议之前,要确保产品 backlog 的井然有序。 </li></ul><ul><li>计划...
Sprint Backlog 的组成 <ul><li>ID—— 统一标识符,就是个自增长的数字而已。以防重命名故事以后找不到它们。  </li></ul><ul><li>Name (名称)——简短的、描述性的故事名。比如“查看你自己的交易明细”...
Backlog 示例
如何讨论 backlog 的细节?  <ul><li>对故事进行估算、重定优先级、进一步确认细节、拆分,等等都会在会议上完成。 </li></ul><ul><li>使用索引卡或者其它辅助工具,纸片、 excel 随便什么,只要方便大家查看 </...
如何将 backlog 拆分成任务 <ul><li>把故事拆分成任务后,时间估算就变得更容易(也更精确) </li></ul><ul><li>时间估算推荐使用“计划纸牌” </li></ul><ul><li>为了更好的激发开发人员的热情,可以让...
Sprint 计划会议会产生的成果 <ul><li>sprint 目标。􀂃  </li></ul><ul><li>团队成员名单(以及他们的投入程度,如果不是 100% 的话)。􀂃  </li></ul><ul><li>sprint backlo...
Sprint 计划会议的目的 <ul><li>举办 Sprint 计划会议,是为了让团队获得足够的信息,能够在几个星期内不受干扰地工作,也是为了让产品负责人能对此有充分的信心。  </li></ul>
计划会议后马上要做的事情 <ul><li>Sprint backlog---- 推荐使用 jira 来维护,所有的任务都可以作为 backlog 的子任务 </li></ul><ul><li>http://192.168.0.5/jira/se...
Sprint 计划会议时间表 <ul><li>13:00 – 17:00  (每小时休息 10 分钟) </li></ul><ul><li>13:00 – 13:30 。产品负责人对 sprint 目标进行总体介绍,概括产品 backlog 。...
Daily Scrum Meeting <ul><li>开发团队成员召开,一般为 15 分钟。每个开发成员需要向 ScrumMaster 汇报三个项目: </li></ul><ul><li>今天完成了什么?  </li></ul><ul><li...
任务白板 <ul><li>使用任务白板对计划进行跟踪 </li></ul>
Sprint Review Meeting  <ul><li>在每个 Sprint 末尾,这个 Team 将这个 Sprint 的工作成果演示给 ProductOwner 和其他相关的人员。 </li></ul><ul><li>Sprint R...
Sprint Retrospective   Meeting <ul><li>Sprint 中第二重要的工作;  </li></ul><ul><li>对刚结束的 Sprint 进行总结。会议的参与人员为项目组成员。 </li></ul><ul>...
实施 Scrum 的过程简单介绍  <ul><li>召开 Sprintplanningmeeting ,将整个产品的 ProductBacklog 分解成 SprintBacklog ,标注任务的优先级并分配给每个成员。 </li></ul><...
工具 & 方法 <ul><li>Backlog 及任务 :excel 或 jira </li></ul><ul><li>进度跟踪:任务白板、燃尽图 </li></ul><ul><li>Bug 跟踪: jira </li></ul><ul><li...
交流与讨论 <ul><li>如何组建 scrum 团队?(成员结构) </li></ul><ul><li>如何让团队保持热情?(管理与激励) </li></ul>
谢谢
Upcoming SlideShare
Loading in …5
×

Scrum

1,863 views

Published on

Scrum入门

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,863
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
21
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Scrum

  1. 1. Scrum 简介 <ul><li>10/20/10 </li></ul>
  2. 3. What Scrum ? <ul><li>Scrum 是一个敏捷开发框架(模型) </li></ul><ul><li>Scrum 是一个迭代式的软件开发渐进过程 , 通常被用于敏捷软件的开发。 </li></ul><ul><li>Scrum 要求团队在每一次迭代的结尾完成一些可以交付的工作片段。迭代要短,有时间限制。 </li></ul>
  3. 4. Why Scrum? <ul><li>有效:经过时间考验的,实用和有效的方法 </li></ul><ul><li>简单:学习简单、使用简单 </li></ul><ul><li>价值:客户可以尽早的看到可以工作的软件 </li></ul><ul><li>通过频繁的交付,尽早发现问题、处理变更 </li></ul>
  4. 5. Scrum 的不足 <ul><li>不能解决资源稀缺的问题 </li></ul><ul><li>不能解决需求变更的问题 </li></ul><ul><li>不适用于无规则无计划短任务的管理 </li></ul>
  5. 6. How Scrum ? <ul><li>角色 </li></ul><ul><li>过程 & 形式 </li></ul><ul><li>工具 & 方法 </li></ul>
  6. 7. Scrum 中的角色 <ul><li>项目的拥有者:内部角色 </li></ul><ul><li>外部角色 -- Chicken </li></ul><ul><li>Users </li></ul><ul><li>Managers </li></ul><ul><li>Other stakeholders </li></ul><ul><li>内部角色 -- Pig </li></ul><ul><li>Product Owner </li></ul><ul><li>Scrum Master </li></ul><ul><li>Team </li></ul>
  7. 8. A Chicken & Pig Story
  8. 9. Scrum 中的过程 & 形式 <ul><li>Sprint Planning Meeting </li></ul><ul><li>Daily Scrum Meeting </li></ul><ul><li>Sprint Review Meeting </li></ul><ul><li>Sprint Retrospective Meeting </li></ul>
  9. 10. Sprint Planning Meeting <ul><li>Sprint 中最重要的工作; </li></ul><ul><li>在启动每个 sprint 前召开。一般为一天时间( 4~8 小时),分为上下两个半场,团队成员都要参加。 </li></ul><ul><li>上半场:产品 Owner 向团队成员详细介绍 backlog 内容,并与团队成员商讨在这个 sprint 中将要完成哪些 backlog 的条目,并制定优先级。 </li></ul><ul><li>下半场:团队成员将 backlog 分解为可以开发的任务,并进行工时预估和工作分工。下半场产品 Owner 可以不参加。 </li></ul>
  10. 11. Scrum 中的术语 <ul><li>Product Backlog </li></ul><ul><li>软件项目中可以预知的所有任务,包括功能性的和非功能性的所有任务。 </li></ul><ul><li>Sprint </li></ul><ul><li>一次跌代开发的时间周期,一般以 30 天为一个周期 . 在这段时间内,开发团队需要完成一个制定的 backlog, 并且最终成果是一个增量的,可以交付的产品。 </li></ul><ul><li>Sprint Backlog </li></ul><ul><li>一个 sprint 周期内所需要完成的任务。 </li></ul><ul><li>Burndown Chart </li></ul><ul><li>标示团队开发进度的图表 </li></ul>
  11. 12. Sprint <ul><li>有明确的目标 </li></ul><ul><li>有明确的开始和结束时间,一般不超过 30 天 </li></ul><ul><li>有明确的产品范围— Sprint Backlog </li></ul><ul><li>有明确的演示时间 </li></ul><ul><li>每个 Sprint 间隔期, Product owner 可以重新调整 product backlog </li></ul><ul><li>Sprint 一旦开始则需求不可变更 </li></ul>
  12. 13. Sprint Planning Meeting <ul><li>不要把所有事情都留在计划会议上才去解决,计划会议前, scrum master 要和产品负责人进行沟通,帮助产品负责人制定 backlog 。尽量避免计划会议后才去解决问题的情况发生。 </li></ul><ul><li>计划会议相当于进行需求评审和设计评审。 </li></ul><ul><li>计划会议不一定只有一次,对于新项目或比较复杂的功能,为了能够将需求理解清楚并给出最终的设计方案,可以进行多次计划会议,必要时在计划会议前进行设计讨论,也可以将其制定为一个任务,在计划会议后进行。 </li></ul><ul><li>除了 sprint backlog 外,计划会议还需要做的事情有如下内容: </li></ul><ul><li>确定资源 ( 内部和外部 ) 及使用时间、数据库部署方式、服务器部署方式、测试评审时间及测试方法(压力测试)及测试周期,试运行方式及时间,使用手册,等等。 </li></ul>
  13. 14. Sprint 计划会议 <ul><li>Sprint 计划会议是 Scrum 中最重要的活动 </li></ul><ul><li>在 sprint 计划会议之前,要确保产品 backlog 的井然有序。 </li></ul><ul><li>计划会议重点对 How to demo 和 Notes 进行讨论,讨论结果必须确定,并要求团队中每个人员都清楚,开发人员以此为依据进行设计开发,测试人员以此为依据进行用例编写。 </li></ul><ul><li>如果 sprint 的结束的标志是上线,则测试人员就要求必须参加计划会议,并做为项目组成员全程跟踪项目进展,对项目完成负责。 </li></ul>
  14. 15. Sprint Backlog 的组成 <ul><li>ID—— 统一标识符,就是个自增长的数字而已。以防重命名故事以后找不到它们。 </li></ul><ul><li>Name (名称)——简短的、描述性的故事名。比如“查看你自己的交易明细”。它必须要含义明确,这样开发人员和产品负责人才能大致明白我们说的是什么东西,跟其他故事区分开。它一般由 2 到 10 个字组成。 </li></ul><ul><li>Importance (重要性)——产品负责人评出一个数值,指示这个故事有多重要。例如 10 或 150 。分数越高越重要。 </li></ul><ul><li>Initial estimate (初始估算)——团队的初步估算,表示与其他故事相比,完成该故事所需的工作量。最小的单位是故事点( story point ),一般大致相当于一个“理想的人天( man-day )”。 </li></ul><ul><li>How to demo (如何做演示)——它大略描述了这个故事应该如何在 sprint 演示上进行示范,本质就是一个简单的测试规范。“先这样做,然后那样做,就应该得到……的结果”。 </li></ul><ul><li>Notes (注解)——相关信息、解释说明和对其它资料的引用等等。一般都非常简短。 </li></ul>
  15. 16. Backlog 示例
  16. 17. 如何讨论 backlog 的细节? <ul><li>对故事进行估算、重定优先级、进一步确认细节、拆分,等等都会在会议上完成。 </li></ul><ul><li>使用索引卡或者其它辅助工具,纸片、 excel 随便什么,只要方便大家查看 </li></ul>
  17. 18. 如何将 backlog 拆分成任务 <ul><li>把故事拆分成任务后,时间估算就变得更容易(也更精确) </li></ul><ul><li>时间估算推荐使用“计划纸牌” </li></ul><ul><li>为了更好的激发开发人员的热情,可以让开发人员自己选择任务 </li></ul>
  18. 19. Sprint 计划会议会产生的成果 <ul><li>sprint 目标。􀂃 </li></ul><ul><li>团队成员名单(以及他们的投入程度,如果不是 100% 的话)。􀂃 </li></ul><ul><li>sprint backlog (即 sprint 中包括的故事列表)。 </li></ul><ul><li>确定好 sprint 演示日期。􀂃 </li></ul><ul><li>确定好时间地点,供举行每日 scrum 会议。 </li></ul>
  19. 20. Sprint 计划会议的目的 <ul><li>举办 Sprint 计划会议,是为了让团队获得足够的信息,能够在几个星期内不受干扰地工作,也是为了让产品负责人能对此有充分的信心。 </li></ul>
  20. 21. 计划会议后马上要做的事情 <ul><li>Sprint backlog---- 推荐使用 jira 来维护,所有的任务都可以作为 backlog 的子任务 </li></ul><ul><li>http://192.168.0.5/jira/secure/IssueNavigator.jspa?mode=hide&requestId=10451 </li></ul><ul><li>项目 wiki---- 维护项目相关信息 </li></ul><ul><li>http://192.168.0.5/wiki/RND/Project/POINTS#preview </li></ul><ul><li>Scrum 建议第一时间将项目启动情况通知给全体人员,这样做意味着对外承诺,给自己压力同时也是动力,目的是保证项目的按时高效的顺利进行,推荐使用邮件的形式 </li></ul>
  21. 22. Sprint 计划会议时间表 <ul><li>13:00 – 17:00 (每小时休息 10 分钟) </li></ul><ul><li>13:00 – 13:30 。产品负责人对 sprint 目标进行总体介绍,概括产品 backlog 。定下演示的时间地点。 </li></ul><ul><li>13:30 – 15:00 。团队估算时间,在必要的情况下拆分 backlog 条目。产品负责人在必要时修改重要性评分。理清每个条目的含义。所有重要性高的 backlog 条目都要填写“如何演示”。 </li></ul><ul><li>15:00 – 16:00 。团队选择要放入 sprint 中的故事。计算生产率,用作核查工作安排的基础。 </li></ul><ul><li>16:00 – 17:00 。为每日 scrum 会议(以下简称每日例会)安排固定的时间地点(如果和上次不同的话)。把故事进一步拆分成任务。 </li></ul>
  22. 23. Daily Scrum Meeting <ul><li>开发团队成员召开,一般为 15 分钟。每个开发成员需要向 ScrumMaster 汇报三个项目: </li></ul><ul><li>今天完成了什么?  </li></ul><ul><li>是否遇到了障碍?  </li></ul><ul><li>即将要做什么? </li></ul><ul><li>通过该会议,团队成员可以相互了解项目进度。 </li></ul>
  23. 24. 任务白板 <ul><li>使用任务白板对计划进行跟踪 </li></ul>
  24. 25. Sprint Review Meeting <ul><li>在每个 Sprint 末尾,这个 Team 将这个 Sprint 的工作成果演示给 ProductOwner 和其他相关的人员。 </li></ul><ul><li>Sprint Review Meeting 可做为培训会议 </li></ul>
  25. 26. Sprint Retrospective Meeting <ul><li>Sprint 中第二重要的工作; </li></ul><ul><li>对刚结束的 Sprint 进行总结。会议的参与人员为项目组成员。 </li></ul><ul><li>http://192.168.0.5/wiki/RND/Project/POINTS/sprint1/review </li></ul><ul><li>Scrum 推荐总结会议后要将总结发送给全体人员,目的是告知相关人员项目结束,同时总结内容也可以共享,建议使用邮件。 </li></ul>
  26. 27. 实施 Scrum 的过程简单介绍 <ul><li>召开 Sprintplanningmeeting ,将整个产品的 ProductBacklog 分解成 SprintBacklog ,标注任务的优先级并分配给每个成员。 </li></ul><ul><li>进入 Sprint 开发周期,在这个周期内,每天需要召开 DailyScrummeeting 。 </li></ul><ul><li>整个 Sprint 周期结束,召开 Sprintreviewmeeting ,将成果演示给 ProductOwner. </li></ul><ul><li>团队成员最后召开 Sprintretrospectivemeeting ,总结问题和经验。 </li></ul><ul><li>这样周而复始,按照同样的步骤进行下一次 Sprint. </li></ul>
  27. 28. 工具 & 方法 <ul><li>Backlog 及任务 :excel 或 jira </li></ul><ul><li>进度跟踪:任务白板、燃尽图 </li></ul><ul><li>Bug 跟踪: jira </li></ul><ul><li>任务估算:计划纸牌(或者扑克牌) </li></ul><ul><li>项目资料维护: wiki </li></ul><ul><li>开发方式:可以借鉴 XP </li></ul><ul><li>工具不是万能的,沟通才是硬道理! </li></ul>
  28. 29. 交流与讨论 <ul><li>如何组建 scrum 团队?(成员结构) </li></ul><ul><li>如何让团队保持热情?(管理与激励) </li></ul>
  29. 30. 谢谢

×