Download presentation
Presentation is loading. Please wait.
1
1
2
Outline 起源与精髓 应用与益处 Scrum 过程 什么时候不该使用 Scrum 2
3
Scrum
4
There's nothing more deadly to your career than having a reputation of being so concerned with process that you don't accomplish anything. Joel Spolsky
5
我们将输掉这场 ‘ 接力跑 ’ Hirotaka Takeuchi and Ikujiro Nonaka, “The New New Product Development Game”, Harvard Business Review, January 1986. “‘ 接力跑 ’ 式的产品开发 …… 模式一定程度上违 背了以人为本,最大化生产力,灵活的生产方 式的原则。相反另一种团队,如同一场橄榄球 赛的团队合作方式 —— 这种模式下,整个团队 通过无间合作,灵活机动的处理接球,传球, 并像一个整体迅速突破防线 —— 这可能更加适 应于今天更具挑战市场需求。
6
SCRUM 使得我们能够专注于如何在最短的时间内 实现最有价值的部分。 SCRUM 使得我们能够快速的经常的监督实际产品 发展的状况. (每两周或一个月) 团队按照商业价值的高低先完成高优先级的产品 功能,并自主管理,凝结了团队智慧创造出最好 的方法因而提高效率。 每隔一两周或者一个月,我们就可以看到实实在 在的可以上线的产品。此时,就可以下一步的决 定是继续完善功能实现更多需求或者直接发布了。 Scrum 的精髓
7
Scrum An Empirical Methodology for Maximizing ROI of Software Development Projects
8
Scrum is a Disciplined Management Methodology Wrapper for existing engineering practices Maximizes ROI, but doesn’t change I PMI can wrap Scrum Scrum works with XP and any other engineering practice you care to entertain Yes, Scrum works with RUP!!!
10
Scrum is Defined There is a simple, Boolean test for whether a project is practicing Scrum Scrum has specific roles Scrum has specific practices Scrum has specific artefacts Everything else is not part of Scrum
11
Scrum has a mindset Scrum is commitment-oriented: You’ll be introduced to chickens later. Scrum is results-oriented: projects produce increments of a shippable product, activities are time boxed, and ceremony is discouraged. Scrum is disciplined. There are practices you must follow on a specified time table.
12
Scrum 知名人物 Jeff Sutherland Initial scrums at Easel Corp in 1993 IDX and 500+ people doing Scrum Ken Schwaber ADM Scrum presented at OOPSLA 96 with Sutherland Author of three books on Scrum Mike Beedle Scrum patterns in PLOPD4 Ken Schwaber and Mike Cohn Co-founded Scrum Alliance in 2002, initially within the Agile Alliance
13
Scrum 被知名企业广泛采用 : 微软 雅虎 谷歌 电艺 飞利浦 西门子 诺基亚 英国广播公司 尼尔森视界公司 第一美国不动产经纪公司 美国第一资本投资国际集团 Intuit High Moon Studios Lockheed Martin BMC Software Ipswitch John Deere Lexis Nexis Sabre Salesforce.com Time Warner Turner Broadcasting Oce
14
哪些类型的项目已经在使用 Scrum ( 1 ) 大型企业级软件项目 商业软件产品 消费者软件项目 / 大型网站 美国 FDA 批准的应用于 X 射线和 MRI 的软 件 高可靠性系统( 99.9999 %以上) 财务支付系统 智能家居项目 战斗机项
15
哪些类型的项目已经在使用 Scrum ( 2 ) 大型数据库应用 嵌入式电信系统 手机项目 CMMI5 级的组织 多地点同步开发 支撑和维护项目 非软件项目 ……
16
Scrum 在 Yahoo !的应用 Yahoo! 在全球有超过 200 个团队(超过两 千人)使用 Scrum 面向用户的项目 关键的基础设施项目 分布式项目 全新产品开发 维护型项目 这份调查的数据是在 Yahoo! 采纳 Scrum 后 18 个月时采集 反映 80 个团队的情况 采用匿名方式 得到 84% 的调查响应率
17
与传统方法的对比:团队生产 力
18
与传统方法的对比:士气
19
与传统方法的对比:责任感与主人翁 意识
20
与传统方法的对比:协调与合 作
21
与传统方法的对比:交付质量
22
有多少人愿意继续使用 Scrum
23
特点 自我管理的团队 以 “sprint” 为周期迭代的产品开发 以一系列 “ 产品 Backlog” 记录了产品需 求 没有特定的工程实践惯例 在以生成规则创造的敏捷开发环境交付 产品 他是其中一种 “ 敏捷方法 ”
24
敏捷宣言作者们的价值观 开发过程和工具 个人与交互 重于 始终遵循固定的计划 对变化的响应变化 重于 资源来自 : www.agilemanifesto.org 复杂的文档 可用的软件 重于 对合同的谈判 寻求客户的合作 重于 重视
25
项目噪音水平 简单的 复杂度 混乱的 较复杂的 技术难度 需求数量 远离一致 接近一致 接近团 队能力 远远超出 团队能力 Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.
26
Scrum CancelGift wrapReturn 迭代周期 2-4 周 功能 1 Sprint 目标 迭代 backlog 潜在可以发布的 增量产品 产品 backlog 功能 3 功能 4 功能 3 功能 2 24 小时
27
全面视角的 Scrum 开发 图片源于 www.mountaingoatsoftware.com/scrum
28
Sprints Scrum 项目周期以一组迭代周期 “sprints” 组成 可以和极限开发的迭代周期类比 典型的迭代周期为 2-4 周或者最多一个自 然月 一个固定的周期能够创造出项目的更优美 的节奏感 产品的设计,开发,测试全部都在一个迭 代内完成
29
顺序 vs. 重叠开发过程 资源来自 : “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986. Scrum 并非以一段时间 集中完成一个过程... 而是将所有过程中必 须的每一部分集中在这 段时间内完成 需求设计代码测试
30
确保一个迭代周期的稳定 一个迭代周期的长短的设定取决于您能够保障 多长时间需求变化不影响到产品开发 变化
31
Scrum 结构框架 产品所有者 ScrumMaster 团队 职能 迭代计划 迭代验收 迭代回顾 每天召开的 scrum 会议 仪式 产品 backlog 迭代 backlog 进度曲线图 产出
32
Scrum 结构框架 迭代计划 迭代验收 迭代回顾 每天召开的 scrum 会议 仪式 产品 backlog 迭代 backlog 进度曲线图 产出 产品所有者 ScrumMaster 团队 职能
33
产品所有者 定义所有产品功能 决定产品发布的内容以及日期 对产品的投入产出负责 根据市场变化对需要开发的功能排列优 先顺序 合理的调整产品功能和迭代顺序 认同或者拒绝迭代的交付
34
ScrumMaster 对项目的直接管理 领导团队完成 Scrum 的实践以及体现其 价值 排除团队遇到的困难 确保团队的胜任其工作,并保持高效的 生产率 使得团队紧密合作,使得团队个人具有 多方面职能的工作能力 保护团队不受到外来无端影响
35
团队 经典团队拥有 5-9 人 团队成员都是是多面手 : 程序员, 测试员, 用户经验设计, 等等. 团队成员都全职工作 特殊职能可以例外 ( 例如, 数据库管理员 ) 团队自我组织和管理 团队关系在一个迭代中应该是固定的,个人的 职能可以在新迭代开始时发生调整
36
产品 backlog 迭代 backlog 进度曲线图 产出 Scrum 结构框架 产品所有者 ScrumMaster 团队 职能 迭代计划 迭代验收 迭代回顾 每天召开的 scrum 会议 仪式
37
迭代 计划会议 迭代 优先级 分析和评估产品 Backlog 各项 目 选择一些作为迭代的目标 迭代 计划 决定如何实现迭代目标 从产品的 backlog 中选择一些 创建迭代 backlog( 任务 ) 以小时为单位评估迭代任务工 作量 迭代目 标 迭代 backlog 商业机会 团队能力 产品 backlog 技术 写有产品
38
迭代计划 团队自己从产品的 backlog 中选择一些他们能够完成的 任务作为迭代的 backlog 迭代 backlog 被创建 任务被确认并且每一任务估计工作量应该在 1-16 小时左右 迭代的 backlog 的确定是团队协作的结果,而不是只有 scrummaster 的决定 概要设计已经讨论过 为了选择好去处度 过这个假期,我需 要先看到酒店的照 片. 编写后台和中间层 (8 小时 ) 编写界面 (4) 编写测试用例 (4) 写类 foo(6) 更新性能测试用例 (4)
39
每天的 Scrum 会议 属性 每天都会开 15 分钟结束 站着开会 不是为了解决问题 所有相关的人被邀请 只有 Scrum master ,产品所有者,团队成员能够在 会上发言 避免无关的讨论
40
迭代结果的验收 团队需要演示所完成的迭代工作 典型的做法是使用演示形式展示新功能 或者底层架构的实现 非正式的 2 小时的提前准备 不需要正式演示文档 整个团队都需要参加 邀请所有关注产品的人参加
41
迭代的回顾 周期性的回顾,总结工作中的经验和教训 一般 15–30 分钟 在每个迭代结束时开始做 整个团队都需要参加 ScrumMaster 产品所有者 团队 可能还包括客户
42
启动 / 停止 / 继续 整个团队集结一起讨论以下方案 : 开始做开始做 停止做 继续做继续做 仅仅是诸多迭代 回顾的活动的一 种参考.
43
Scrum 结构框架 产品所有人 ScrumMaster 团队 职能 迭代计划 迭代验收 迭代回顾 每天召开的 scrum 会议 仪式 产品 backlog 迭代 backlog 进度曲线图 产出
44
产品 backlog 需求 项目中待完成的工作列表 理想的是每一个待完成的工 作都将对客户和用户产生价 值 产品所有者将对这个列表进 行优先级排序 每个迭代开始前优先级的排 序工作还需要再度修正 一组产品 backlog
45
迭代目标 简短陈述这个迭代将要完成什么 数据库应用 金融服务 生命科学 功能用于人口遗传学研究. 提供比 ABC 更实时的数据流 量来支持更多的技术指标. 应用可以运行于 Oracle 和 SQL Server 环境.
46
管理迭代的 backlog 团队的个人将要签收其将拥有的工作 工作不是单向的分配 对于剩余工作量的估计每天需要更新 团队中任何人都可以添加,删减或者更改迭代 中的工作项目 为了迭代目标以及将发布的结果而工作 如果对将要面对的困难不清楚,最好先定义一 个相对工作量较大的工作项目然后适时在以后 将其分散成较小额工作量的几个部分 更新每个项目的剩余工作量
47
迭代耗散图 小时数
48
扩展性 典型的一支敏捷团队的人数是 7± 2 人 通过 “ 团队中团队 ” 的方法扩展 扩展团队时需要考虑的因素 所开发产品的类型 团队大小 团队的分布 项目周期 Scrum 方法可用于总数超过 500 人的项 目
49
通过 “Scrum of scrums” 的方式扩 展团队
50
Scrum of scrums of scrums
53
It’s all about Pigs and Chickens A joke about opening a diner The definition of a Pig is “someone who makes a personal commitment to the success of the project” One perspective is that Scrum is all about getting rid of the Chickens!
54
“You’re Fired!” A really simple metric: If you can be fired for allowing the project to fail, you are a pig. If you keep your job even if the project fails, you are a chicken.
55
Why all the fuss about Pigs and Chickens? The discussion of Pigs vs. Chickens scales to all aspects of software development projects. Aspects of the projects that are most directly related to the success of the project must be allowed to flourish without interference by practices, rituals, and obstructions that are orthogonal to or inimical to project success.
56
Is your next project “Scrum-Worthy?”
57
Some reasons to avoid Scrum Your current software development produces acceptable results You are a ‘chicken’ You are a pig, but you work in a ‘chicken coop’ Your project cannot be decomposed into good, increment-able requirements (“big ball of mud”)
58
More reasons to run from Scrum Your engineering practices embrace heavy, up-front design, the construction of baroque frameworks, and throw-it- over-the-wall attitudes towards QA. Nobody can agree on ‘done-ness’ Your management practices embrace ‘do it now and forget what I told you to do yesterday’.
59
Yet another slide of reasons to flee from Scrum as you would flee fleas Your company prides itself on being ‘flexible’ and ‘adaptive’: these are code words for lack of discipline. The software really doesn’t matter: development isn’t a core competency and that’s okay because the software isn’t mission critical.
60
推荐资源 www.mountaingoatsoftware.com/scrum www.scrumalliance.org www.controlchaos.com scrumdevelopment@yahoogroups.com
61
推荐书籍 Agile and Iterative Development: A Manager’s Guide by Craig Larman Agile Estimating and Planning by Mike Cohn Agile Project Management with Scrum by Ken Schwaber Agile Retrospectives by Esther Derby and Diana Larsen Agile Software Development Ecosystems by Jim Highsmith Agile Software Development with Scrum by Ken Schwaber and Mike Beedle Scrum and The Enterprise by Ken Schwaber User Stories Applied for Agile Software Development by Mike Cohn Lots of weekly articles at www.scrumalliance.org
62
感谢 Mike Cohn Reginald Braithwaite-Lee Dong Shao 62
Similar presentations