SlideShare a Scribd company logo
1 of 36
Download to read offline
2012Esri中国开发者大会
欢迎您
Scrum敏捷开发示例
Esri北京研发中心 陈晓燕 刘军山
2012Esri中国开发者大会
• 瀑布开发过程的问题
• 敏捷宣言
• Scrum是什么
• Scrum开发过程(以ABC产品开发过程为例)
• ABC产品开发的Scrum最佳实践
内容
2012Esri中国开发者大会
随时交流
2012Esri中国开发者大会
瀑布开发过程
需求分析
系统设计
系统实现
系统集成
系统测试
2012Esri中国开发者大会
基于以下假设:
• 需求定义可以相当明确
• 刚开始的时候我们只能有一个模糊的需求说明
• 开发过程中需求变化很小而且可控
• 需求经常变化,而且有时影响范围很大
• 系统集成会顺利进行
• 系统集成经常会成为大麻烦
• 我们可以作出一个详尽的、长周期的工作计划
• 事实证明任务分解树完全不适合软件开发工作
瀑布开发过程的问题
2012Esri中国开发者大会
个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
也就是说,尽管右项有其价值,
我们更重视左项的价值。
2001年,敏捷领袖Kent Beck, Martin Fowler等
敏捷宣言
2012Esri中国开发者大会
Scrum是什么
2012Esri中国开发者大会
主要特性:
• 迭代式、增量式
• 自组织的小团队
• 快速反馈的短周期
• 按照业务价值的优先级排序
Scrum是什么
2012Esri中国开发者大会
Scrum中的角色
2012Esri中国开发者大会
Scrum中的团队 – 跨功能的团队
2012Esri中国开发者大会
• 产品规划
• 编制用户故事列表(Product Backlog)
• 制定迭代计划(Sprint Planning)
• 迭代开发
• 迭代评审、回顾
• 制定发布计划(Release Planning)
Scrum软件开发过程
2012Esri中国开发者大会
• 产品高层框架图
• 不是瀑布开发中的系统设计
• 建立团队
产品规划
2012Esri中国开发者大会
一个可以和arcgis.com集成的
模块
ABC产品的产品规划
2012Esri中国开发者大会
• Product Owner: BOSS
• Scrum Master: 组织、协调,不是上下级管理关系
• 团队:开发人员3名、UE设计师1名、测试人员1名
ABC产品规划——我们的团队
沟通、平等
2012Esri中国开发者大会
• 用户故事是什么?
• 描述系统需求的一个单元
• (“谁” “做什么”)[ “目的”]
• 特性:
• 独立
• 可更改
• 有价值
• 可估计
• 大小合适
• 可测试
编制用户故事
2012Esri中国开发者大会
• Product Owner提出最初的产品设想,主要的用户故事
• 头脑风暴
• IceScrum
• 任何人都可以创建用户故事,新创建的故事放在Sandbox
中
• 开会讨论,建立用户故事列表(Product Backlog)
ABC产品的用户故事
2012Esri中国开发者大会
ABC产品的用户故事
2012Esri中国开发者大会
• 调整用户故事(增加、删除、修改、改变优先级等)
• 确定迭代时间长度
• 描述迭代目标
• 按照优先级选取用户故事
• 每个用户故事的工作量估计
• 任务分解
• 确定迭代演示和回顾日期,并立刻发出会议通知
• 确定每日站立会议时间,并立刻发出会议通知
迭代计划
2012Esri中国开发者大会
• 会议:
• 四个小时
• 团队成员均参加
• 确定迭代时间长度:
• 3周
• 描述迭代目标
• 用HTML5和JS重新实现产品中的web客户端
ABC产品的某一个迭代计划
2012Esri中国开发者大会
• 每个用户故事的工作量估计
• 用户故事描述的比较详细,单位: “理想人天”
• 使用“计划扑克牌”(Planning Poker),可选值:0 , 1 , 2 , 3
,5 , 8 , 13 , ?
• 理想人天*1.5
• 关于迭代速率(velocity)的历史数据
• 任务分解
• 会议结束之后,所有细分任务都有一个明确的责任人
ABC产品的某一个迭代计划
2012Esri中国开发者大会
ABC产品的某一个迭代计划
2012Esri中国开发者大会
• 确定迭代演示和回顾日期,并立刻发出会议通知
• 确定每日站立会议时间,并立刻发出会议通知
ABC产品的某一个迭代计划
2012Esri中国开发者大会
• 团队沟通和协作
• 参考使用XP(极限编程)的工程实践,如持续集成、重构
、结对编程等
• 代码审查
• Bug生命周期管理
迭代开发
2012Esri中国开发者大会
• 上午10点,10分钟左右
• 每个人都发言:昨天做了什么,今天计划做什么,有什么
问题
• 技术细节问题,会后单独讨论
ABC产品开发的每日站立会议
2012Esri中国开发者大会
• 及时更新IceScrum系统中任务的状态
• 不定期的结对编程
• 代码审查
• 迭代内,所有代码都要被审查
• 持续集成
• Bug跟踪:
• 我们目前使用Redmine作为工具
• 任何人发现bug,都可以提交
• 一些小的功能增强,也可以bug的方式进行跟踪
ABC产品的迭代开发
2012Esri中国开发者大会
ABC产品的迭代开发
2012Esri中国开发者大会
迭代演示 (Sprint Review)
• 一定要有一个可工作的迭代增量
• 对管理层:更好的项目可视度
• 对团队:阶段性压力、阶段性成就感 – 激励团队
迭代回顾(Sprint Retrospective)
• 针对工程实践,而不是产品功能本身
• 做得好的
• 需要改进的
迭代演示和回顾
2012Esri中国开发者大会
• Scrum Master主持会议
• 查看迭代目标和迭代内承诺交付的用户故事
• 产品演示
ABC产品的一次迭代演示和回顾
2012Esri中国开发者大会
• 迭代回顾:开会之前会先召集项目组成员开一个短会讨论
• 做得好的
• 基于迭代目标的用户故事裁减
• 需要改进的
• 持续集成开发环境
• 相关其他产品的有关知识
ABC产品的一次迭代演示和回顾
2012Esri中国开发者大会
ABC产品的一次迭代演示和回顾
2012Esri中国开发者大会
ABC产品的一次迭代演示和回顾
2012Esri中国开发者大会
• 工作量估计
• 速率(velocity)估计
• 根据以往迭代,进行估计
• 留有余地
• 确定之后,要明确告知团队和相关利益负责人
• 可以调整
• 记住,范围(发布那些用户故事)是有弹性的
发布计划
2012Esri中国开发者大会
• 为什么在两个迭代之后才制定发布计划?
• 对arcgis.com的分析需要时间
• 团队能力的评估需要实际的数据支撑
• 具体计划:
• 两个里程碑:
• Sprint #5,功能开发完成
• Sprint #8,发布α版本
• 确定优先级:先功能,后UI/UE改进
ABC产品的发布计划
2012Esri中国开发者大会
• 估计用户故事之前,要明确其范围
• 使用“计划扑克牌”(Planning Poker)的技术进行估计
• 端到端的集成,从第一个迭代开始,贯穿始终
• 迭代计划会议上明确任务分解和责任人
• 迭代演示和回顾日期在迭代计划会议之后就确定,并立
刻发出会议通知
• 渐进式功能开发,过早优化是陷阱
ABC产品开发的Scrum最佳实践
Scrum敏捷开发示例

More Related Content

What's hot

姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发Trinea Trinea
 
Agile introduction
Agile introductionAgile introduction
Agile introductionJen-Chieh Ko
 
2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美
2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美
2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美AgileCommunity
 
網站可靠性工程工作手冊
網站可靠性工程工作手冊網站可靠性工程工作手冊
網站可靠性工程工作手冊偉君 方
 
Nb的敏捷
Nb的敏捷Nb的敏捷
Nb的敏捷oulan
 
MySQL设计、优化、运维
MySQL设计、优化、运维MySQL设计、优化、运维
MySQL设计、优化、运维Jinrong Ye
 
Agile meetuphsinchu201508 scrumvskanban
Agile meetuphsinchu201508 scrumvskanbanAgile meetuphsinchu201508 scrumvskanban
Agile meetuphsinchu201508 scrumvskanbanJen-Chieh Ko
 
Scrum深入淺出
Scrum深入淺出Scrum深入淺出
Scrum深入淺出Taien Wang
 
Scrum essential
Scrum essentialScrum essential
Scrum essential國昭 張
 
Inception自动审核系统设计与实现 王竹峰
Inception自动审核系统设计与实现 王竹峰Inception自动审核系统设计与实现 王竹峰
Inception自动审核系统设计与实现 王竹峰Cheng Feng
 
敏捷开发
敏捷开发敏捷开发
敏捷开发yinwm
 
Open source的devops工具箱 公開版@coscup2016
Open source的devops工具箱 公開版@coscup2016Open source的devops工具箱 公開版@coscup2016
Open source的devops工具箱 公開版@coscup2016Kirk Chen
 
持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版Kirk Chen
 
Scrum and xp from the trenches (1st edition, Chinese)
Scrum and xp from the trenches   (1st edition, Chinese)Scrum and xp from the trenches   (1st edition, Chinese)
Scrum and xp from the trenches (1st edition, Chinese)Jen-Chieh Ko
 
MySQL数据库设计、优化
MySQL数据库设计、优化MySQL数据库设计、优化
MySQL数据库设计、优化Jinrong Ye
 
KiCAD 從電路圖到電路板
KiCAD 從電路圖到電路板KiCAD 從電路圖到電路板
KiCAD 從電路圖到電路板dahai pon
 
云运维的理念和思维
云运维的理念和思维云运维的理念和思维
云运维的理念和思维昕 姚
 
敏捷自动化测试中的教训 45min 中文
敏捷自动化测试中的教训 45min   中文敏捷自动化测试中的教训 45min   中文
敏捷自动化测试中的教训 45min 中文Shuyong Lin
 

What's hot (19)

姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发
 
Agile introduction
Agile introductionAgile introduction
Agile introduction
 
2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美
2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美
2013/10: Q con shanghai2013-davidko-如何利用 kanban让 scrum 更完美
 
網站可靠性工程工作手冊
網站可靠性工程工作手冊網站可靠性工程工作手冊
網站可靠性工程工作手冊
 
Nb的敏捷
Nb的敏捷Nb的敏捷
Nb的敏捷
 
MySQL设计、优化、运维
MySQL设计、优化、运维MySQL设计、优化、运维
MySQL设计、优化、运维
 
Agile meetuphsinchu201508 scrumvskanban
Agile meetuphsinchu201508 scrumvskanbanAgile meetuphsinchu201508 scrumvskanban
Agile meetuphsinchu201508 scrumvskanban
 
Scrum深入淺出
Scrum深入淺出Scrum深入淺出
Scrum深入淺出
 
Scrum essential
Scrum essentialScrum essential
Scrum essential
 
Inception自动审核系统设计与实现 王竹峰
Inception自动审核系统设计与实现 王竹峰Inception自动审核系统设计与实现 王竹峰
Inception自动审核系统设计与实现 王竹峰
 
敏捷开发
敏捷开发敏捷开发
敏捷开发
 
Open source的devops工具箱 公開版@coscup2016
Open source的devops工具箱 公開版@coscup2016Open source的devops工具箱 公開版@coscup2016
Open source的devops工具箱 公開版@coscup2016
 
持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版
 
Scrum and xp from the trenches (1st edition, Chinese)
Scrum and xp from the trenches   (1st edition, Chinese)Scrum and xp from the trenches   (1st edition, Chinese)
Scrum and xp from the trenches (1st edition, Chinese)
 
MySQL数据库设计、优化
MySQL数据库设计、优化MySQL数据库设计、优化
MySQL数据库设计、优化
 
Scrum用一半的時間做兩倍的事(書本筆記)
Scrum用一半的時間做兩倍的事(書本筆記)Scrum用一半的時間做兩倍的事(書本筆記)
Scrum用一半的時間做兩倍的事(書本筆記)
 
KiCAD 從電路圖到電路板
KiCAD 從電路圖到電路板KiCAD 從電路圖到電路板
KiCAD 從電路圖到電路板
 
云运维的理念和思维
云运维的理念和思维云运维的理念和思维
云运维的理念和思维
 
敏捷自动化测试中的教训 45min 中文
敏捷自动化测试中的教训 45min   中文敏捷自动化测试中的教训 45min   中文
敏捷自动化测试中的教训 45min 中文
 

Similar to Scrum敏捷开发示例

Scrum gathering 2014sharing v4
Scrum gathering 2014sharing v4Scrum gathering 2014sharing v4
Scrum gathering 2014sharing v4Jen-Chieh Ko
 
Agile development
Agile developmentAgile development
Agile developmentSway Wang
 
Agile taichung 50個人跑scrum
Agile taichung 50個人跑scrumAgile taichung 50個人跑scrum
Agile taichung 50個人跑scrumTerry Wang
 
QCon shanghai2013-davidko-如何利用 kanban让 scrum 更完美
QCon shanghai2013-davidko-如何利用 kanban让 scrum 更完美QCon shanghai2013-davidko-如何利用 kanban让 scrum 更完美
QCon shanghai2013-davidko-如何利用 kanban让 scrum 更完美Jen-Chieh Ko
 
Scrum敏捷实施实例讲解
Scrum敏捷实施实例讲解Scrum敏捷实施实例讲解
Scrum敏捷实施实例讲解Brenda Bao
 
Angular從入門到實戰(二)
Angular從入門到實戰(二)Angular從入門到實戰(二)
Angular從入門到實戰(二)志龍 陳
 
现代化敏捷测试工作者
现代化敏捷测试工作者现代化敏捷测试工作者
现代化敏捷测试工作者Yi Xu
 
Scrum敏捷实施实例讲解 out_softingtemplate.ppt_
 Scrum敏捷实施实例讲解 out_softingtemplate.ppt_ Scrum敏捷实施实例讲解 out_softingtemplate.ppt_
Scrum敏捷实施实例讲解 out_softingtemplate.ppt_Odd-e
 
从CI到CD[麻袋理财王天青]v1
从CI到CD[麻袋理财王天青]v1从CI到CD[麻袋理财王天青]v1
从CI到CD[麻袋理财王天青]v1天青 王
 
浅谈架构升级
浅谈架构升级浅谈架构升级
浅谈架构升级Hardway Hou
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介pan weizeng
 
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean StartupWen-Tien Chang
 
李成银:前端编译平台
李成银:前端编译平台李成银:前端编译平台
李成银:前端编译平台taobao.com
 
前端编译平台
前端编译平台前端编译平台
前端编译平台Welefen Lee
 
Scrum introduction in hsin chu-agilemeetup
Scrum introduction in hsin chu-agilemeetupScrum introduction in hsin chu-agilemeetup
Scrum introduction in hsin chu-agilemeetupJen-Chieh Ko
 
Query store查詢調校新利器
Query store查詢調校新利器Query store查詢調校新利器
Query store查詢調校新利器Rico Chen
 
美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New翀 刘
 
Agile和cmmi 朋友还是敌人
Agile和cmmi 朋友还是敌人Agile和cmmi 朋友还是敌人
Agile和cmmi 朋友还是敌人SEMP
 

Similar to Scrum敏捷开发示例 (20)

Scrum gathering 2014sharing v4
Scrum gathering 2014sharing v4Scrum gathering 2014sharing v4
Scrum gathering 2014sharing v4
 
Agile development
Agile developmentAgile development
Agile development
 
Agile taichung 50個人跑scrum
Agile taichung 50個人跑scrumAgile taichung 50個人跑scrum
Agile taichung 50個人跑scrum
 
QCon shanghai2013-davidko-如何利用 kanban让 scrum 更完美
QCon shanghai2013-davidko-如何利用 kanban让 scrum 更完美QCon shanghai2013-davidko-如何利用 kanban让 scrum 更完美
QCon shanghai2013-davidko-如何利用 kanban让 scrum 更完美
 
Scrum敏捷实施实例讲解
Scrum敏捷实施实例讲解Scrum敏捷实施实例讲解
Scrum敏捷实施实例讲解
 
Angular從入門到實戰(二)
Angular從入門到實戰(二)Angular從入門到實戰(二)
Angular從入門到實戰(二)
 
现代化敏捷测试工作者
现代化敏捷测试工作者现代化敏捷测试工作者
现代化敏捷测试工作者
 
Nb的敏捷
Nb的敏捷Nb的敏捷
Nb的敏捷
 
Scrum敏捷实施实例讲解 out_softingtemplate.ppt_
 Scrum敏捷实施实例讲解 out_softingtemplate.ppt_ Scrum敏捷实施实例讲解 out_softingtemplate.ppt_
Scrum敏捷实施实例讲解 out_softingtemplate.ppt_
 
从CI到CD[麻袋理财王天青]v1
从CI到CD[麻袋理财王天青]v1从CI到CD[麻袋理财王天青]v1
从CI到CD[麻袋理财王天青]v1
 
浅谈架构升级
浅谈架构升级浅谈架构升级
浅谈架构升级
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
 
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
 
李成银:前端编译平台
李成银:前端编译平台李成银:前端编译平台
李成银:前端编译平台
 
前端编译平台
前端编译平台前端编译平台
前端编译平台
 
Scrum introduction in hsin chu-agilemeetup
Scrum introduction in hsin chu-agilemeetupScrum introduction in hsin chu-agilemeetup
Scrum introduction in hsin chu-agilemeetup
 
Query store查詢調校新利器
Query store查詢調校新利器Query store查詢調校新利器
Query store查詢調校新利器
 
UiGathering 2012.07 Slide (Derek Liu)
UiGathering 2012.07 Slide (Derek Liu)UiGathering 2012.07 Slide (Derek Liu)
UiGathering 2012.07 Slide (Derek Liu)
 
美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New美丽说的架构发展与变迁 New
美丽说的架构发展与变迁 New
 
Agile和cmmi 朋友还是敌人
Agile和cmmi 朋友还是敌人Agile和cmmi 朋友还是敌人
Agile和cmmi 朋友还是敌人
 

Scrum敏捷开发示例