Your SlideShare is downloading. ×
Scrum
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Scrum

1,717
views

Published on

Scrum入门

Scrum入门


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

No Downloads
Views
Total Views
1,717
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
21
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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

×