基于SCRUM的研发管理流程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于SCRUM的研发管理流程
Scrum 是什么?
SCRUM是一种敏捷开发的模型,是一个迭代性、增量性的流程,适用于任何 的产品开发以及工作管理。Scrum 将软件开发团队比拟成橄榄球队,有明确 的最高目标,熟悉开发流程中所需具备的最佳典范与技术,具有高度自主权 ,紧密地沟通合作,以高度弹性解决各种挑战,确保每天、每个阶段都朝向 目标有明确的推进。
•Burndown charts燃尽图
产品负责人(Product Owner)
定义产品特性 决定发布日期和内容 对产品收益负责(ROI) 根据商业价值排定特性的优先级 根据需要在每个迭代中调整产品特性和优先级 接受或否决开发结果
Scrum教练(Scrum Master)
对项目组来说代表管理层 负责制定Scrum价值观念和实践,确保每一个成员都
一个Sprint周期内需求不发生变更
计划Sprint周期的长度要依赖于你能在多长时间内 保证在Sprint期间需求不发生变更
Change
时间盒迭代(timeboxing)
时间盒迭代(timeboxing/timeboxed iterations)的核心思 想:在预算时间内对完不成的功能进行删减或者延迟,而不 是拖延预算的时间。
Sprint长度通常2-4周,它是一个时间箱,在项目进行过程中 不允许延长或缩短Sprint长度。
稳定的周期会带来更好的节奏
Sprint由Sprint计划会议、开发工作(需求分析、设计、开发 、测试、质量控制等)、每日站会、Sprint评审会议和Sprint 回顾会议等活动组成。
Sprint一个紧跟一个进行,之间没有任何时间间隔。
派其工作量为 2 个Story Point。以这个最小用例的工作量标准,分配 Backlog 中其 他问题的 Story Point — 如果 Backlog 中的一些问题尚未被评估:根据其他问题工作量,评估这些问题的 Story Point 量 — 如果产品 Backlog 中的各项还没能合理地按优先级排序:产品负责人对产品 Backlog 中的各项按优先级排序
1. 我们最优先要做的是通过尽早的、持续的交付有价值的软 件来使客户满意。
2. 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变 化来为客户创造竞争优势。
3. 经常性的交付可以工作的软件,交付的间隔可以从几个星 期到几个月,交付的时间间隔越短越好。
4. 在整个项目开发期间,业务人员和开发人员必须天天都在 一起工作。
5. 围绕被激励起来的个体来构建项目。给他们提供所需的环 境和支持,并且信任他们能够完成工作。
6. 在团队内部,最具有效果并且富有效率的传递信息的方法 ,就是面对面的交谈。
敏捷实践原则
5. 工作的软件是首要的进度度量标准。
6. 敏捷过程提倡可持续的开发进度。责任人、开发 者和用户应保持一个长期恒定的开发速度。
9. 不断关注优秀的技能和好的设计会增强敏捷能力
10. 简单——使未完百度文库的工作最大化的艺术——是根 本的。
11. 最好的构架、需求和设计出自于自组织的团队。
12. 每隔一定时间,团队会在如何才能更有效的工作 方面进行反省,然后相应地对自己的行为进行调 整
Scrum成功案例:公司
• Microsoft • Yahoo • Google • Electronic Arts • Philips • Siemens • Nokia • Salesforce.com • BBC
够的勇气来对大家说“不”,比如不能承诺时,对纳入sprint的故事说“ 不”等
4
Scrum理论的三大支柱
Scrum是以经验过程控制理论为依据,采用迭代、增量的方法 来提高产品开发的可预见性并控制风险。Scrum的三大支柱支 撑起每个经验过程控制的实现。
第一大支柱是高透明性(Transparency)
5
Scrum特点
Scrum规定了一个非常简单的开发流程。
Scrum是现有设计流程的总结。
Scrum以团队为基础,是一种在需求迅速变化情况下迭代地、增量地开发 系统和产品的方法。
Scrum是一个控制由利益和需求冲突导致的混乱的流程。
Scrum是改善交流并最优化合作的方式。
Scrum是一种检测产品开发和生产过程中障碍并将其去除的方式。
性)中创建sprint backlog (任 务)
• 估计sprint backlog 故事点(人
天)
Sprint 目标
Sprint backlog
Sprint计划会议1
产品负责人和团队一起,在先前评估的成果基础上,定出 Sprint 目标 和既定产品Backlog。
目标
— 定出 Sprint 目标和既定产品 Backlog
Scrum是最大化生产率的一种方法。
Scrum适用于单一的项目到整个组织。Scrum可以控制并组织多个具有相关 性的产品开发以及拥有超过千名开发者和执行者的项目实施过程。
Scrum能让每个参与者都对自己所做的工作以及自己做出的贡献感到骄傲 ,并让他们发挥到最佳水平。
6
敏捷联盟宣言
敏捷实践原则
会议准备
— 邀请与会者:产品负责人、Scrum Master、团队所有成员 — 已按优先级排列产品 Backlog 中各项问题 — 已评估 Backlog 中的各项问题 — 把产品 Backlog 公开给会议中的每个人,保证其可被获取 — 预期团队中有哪些人已明确会缺席(如度假) — 保证房间环境适合小组讨论 — 每个人都可以获取上次 Sprint 评审会议和 Sprint 回顾会议的结果 — Sprint 时间表已经安排 — (可选)为既定 Backlog 准备图钉板:一个至少 2x2 米的图钉板、卡片和贴纸、荧
15
Scrum Framework
角色(Roles)
•产品负责人 •Scrum教练 •团队
仪式(Ceremonies)
•Sprint 计划 •Sprint 评审 •Sprint 回顾 •每日scrum例会
产出工件(Artifacts)
•Product backlog •Sprint backlog
认同Scrum价值观和遵守其游戏规则 组织每天的Daily Scrum会议 帮助Scrum Team规划Sprint计划 清除障碍 确保团队功能完备富有效率 促进所有角色和职能的紧密协作 替团队抵御外部干扰
Scrum团队
一般5-9人 跨部门:程序员,测试员,界面设计人员等等 团队自我组织:理想情况下,团队成员是平等的,不分头衔 一个sprint中保持成员稳定 负责将Product Backlog转化成Sprint中的工作项目 所有团队成员协调,合作完成Sprint中每一个规定的工作 所有团队成员和Scrum Master负责每一个Sprint的成功
—高透明度确保管理结果的人看得到那些影响结果的过程方面。这些过 程方面不仅要透明,而且那些被观察到的方面也必须被充分了解。
第二大支柱是检验(Inspection)
—开发过程中的各方面必须做到经常性的检验,以确保及时发现过程中 的重大偏差。
第三大支柱是适应(Adaptation)
—如果检查员经检验发现过程中的一个或多个方面不满足可接受标准, 并且最终产品是不合格的,那么检查员就必须对过程进行调整。调整 工作必须尽快实施以减少进一步的偏差。
Scrum Framework
Roles
•Product owner
•Scrum Master
•Team
仪式
•Sprint 计划 •Sprint 评审 •Sprint 回顾 •每日scrum例会
Artifacts
•Product backlog •Sprint backlog •Burndown charts
wiki页面或者仪表盘工具上获知项目当前状况,能够了解多少功能已经完 成,哪些正在做,每次迭代和发布的目标是什么
尊重(Respect):每个团队成员都必须被尊重的看待,大家一起指定
工作规范(working agreements)
勇气(Courage):为了接受并负责任的交付产品,团队成员必须有足
单的答应去完成。它是建立在目标之 上的来自内心的接受和应许,这里 只有“做”和“不做”,没有“让我试试”
专注(Focus):像邮件和不相关的会议就是很常见的一些分散注意力
的事情,我们需要做得是不转移注意力,把精力全部集中在承诺的事务上
公开(Openness):保持一直让任何有兴趣的人员都可以在墙上、
— 产品负责人和小组成员相互认可这 Sprint 目标和既定产品 Backlog
会议结果
— 为 Sprint 计划会议2的进行准备好既定产品 Backlog
24
Sprint计划会议2
在 Sprint 计划会议 2 中,团队将既定产品 Backlog 中的 每一项细化成多个任务。每个任务完成的时间限定在一天内
Sprint计划会议(Sprint Planning Meeting)
Sprint计划会议包含两部分内容:“做什么”和“怎么做”
Sprint计划会议1:确定该Sprint将要完成什么任务,用时4 小时。
—产品负责人给团队介绍最高优先级的Product Backlog条目,并一起决定接下 来的Sprint中开发什么功能。Sprint计划会议需要输入包括产品Backlog、最 新的产品增量、团队的能力和以往的表现。团队自己决定选择多少Product Backlog的条目。
21
团队能力
Product backlog 业务约束 条件
现有产品
技术
Sprint计划会议
Sprint 计划会议
Sprint计划会议1:做什么
• 分析和评估 product backlog • 确定sprint目标 • 排定优先级
Sprint计划会议2:怎么做
• 决定怎样实现sprint目标 (设计) • 从产品backlog(用户故事或特
Sprint计划会议2:团队研究在Sprint内如何构建产品增量, 用时4小时。
—团队先以设计展开工作,设计过程中,团队确定任务,这些任务就是将 Product Backlog转化成可用软件的具体工作。任务需要被分解,以便在一天 之内完成。这个任务列表就是Sprint Backlog。团队通过自组织,并且是自 己认领的方式分担任务,任务认领可以在Sprint计划会议上进行,或也可以 Sprint中及时(Just-in-time)确定。
如果在迭代进行中,开发团队发现进度落后,无法完成全部 的迭代开发任务和计划的需求功能时,敏捷方法通常允许或 要求开发团队与客户协商,减少开发任务或需求(可以放入 下一次迭代中),以保证在既定的时间点提交高质量的成果 (尽管这个成果可能不完整)。
参考:
为什么时间盒迭代提倡删减需求任务?
EssUP迭代核心——时间盒 Time boxing
• 腾讯 • 阿里巴巴 • 华为 • 盛大 • 淘宝 • Facebook • Twitter • Time Warner • others
Scrum 核心过程
Scrum on a page
12
Sprints(冲刺)
Sprint的本意是指冲刺,在Scrum中,一个Sprint就是一个迭 代,Scrum 项目通过一系列的sprints来推进,Sprints类似 于极限编程的迭代。
光笔 — (可选)用作计划纸牌的卡片
Sprint计划会议1
会议进程(2~4 小时)
— 把 Sprint 时间表公开给所有人 — 把 Sprint 评审会议的结果公开给所有人 — 把 Sprint 回顾会议的结果公开给所有人 — 产品负责人向团队产品阐述产品远景 — 产品负责人和团队一起确定 Sprint 目标 — 如果 Backlog 里有问题遗漏:产品负责人有权限往 Backlog 里添加问题 — 如果产品 Backlog 完全未被评估:选择 Backlog 中您认为是最小用例的问题,并指
2
Scrum 目标
Manage Complexity, Unpredictability and Change through Visibility, Inspection and Adaptation
通过高透明性、检验和适应性来管理复杂性、不可预测性和变化
Scrum 核心价值观
承诺(Commitment):承诺不只是把一项工作分配给团队,也不是简
Scrum 是什么?
SCRUM是一种敏捷开发的模型,是一个迭代性、增量性的流程,适用于任何 的产品开发以及工作管理。Scrum 将软件开发团队比拟成橄榄球队,有明确 的最高目标,熟悉开发流程中所需具备的最佳典范与技术,具有高度自主权 ,紧密地沟通合作,以高度弹性解决各种挑战,确保每天、每个阶段都朝向 目标有明确的推进。
•Burndown charts燃尽图
产品负责人(Product Owner)
定义产品特性 决定发布日期和内容 对产品收益负责(ROI) 根据商业价值排定特性的优先级 根据需要在每个迭代中调整产品特性和优先级 接受或否决开发结果
Scrum教练(Scrum Master)
对项目组来说代表管理层 负责制定Scrum价值观念和实践,确保每一个成员都
一个Sprint周期内需求不发生变更
计划Sprint周期的长度要依赖于你能在多长时间内 保证在Sprint期间需求不发生变更
Change
时间盒迭代(timeboxing)
时间盒迭代(timeboxing/timeboxed iterations)的核心思 想:在预算时间内对完不成的功能进行删减或者延迟,而不 是拖延预算的时间。
Sprint长度通常2-4周,它是一个时间箱,在项目进行过程中 不允许延长或缩短Sprint长度。
稳定的周期会带来更好的节奏
Sprint由Sprint计划会议、开发工作(需求分析、设计、开发 、测试、质量控制等)、每日站会、Sprint评审会议和Sprint 回顾会议等活动组成。
Sprint一个紧跟一个进行,之间没有任何时间间隔。
派其工作量为 2 个Story Point。以这个最小用例的工作量标准,分配 Backlog 中其 他问题的 Story Point — 如果 Backlog 中的一些问题尚未被评估:根据其他问题工作量,评估这些问题的 Story Point 量 — 如果产品 Backlog 中的各项还没能合理地按优先级排序:产品负责人对产品 Backlog 中的各项按优先级排序
1. 我们最优先要做的是通过尽早的、持续的交付有价值的软 件来使客户满意。
2. 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变 化来为客户创造竞争优势。
3. 经常性的交付可以工作的软件,交付的间隔可以从几个星 期到几个月,交付的时间间隔越短越好。
4. 在整个项目开发期间,业务人员和开发人员必须天天都在 一起工作。
5. 围绕被激励起来的个体来构建项目。给他们提供所需的环 境和支持,并且信任他们能够完成工作。
6. 在团队内部,最具有效果并且富有效率的传递信息的方法 ,就是面对面的交谈。
敏捷实践原则
5. 工作的软件是首要的进度度量标准。
6. 敏捷过程提倡可持续的开发进度。责任人、开发 者和用户应保持一个长期恒定的开发速度。
9. 不断关注优秀的技能和好的设计会增强敏捷能力
10. 简单——使未完百度文库的工作最大化的艺术——是根 本的。
11. 最好的构架、需求和设计出自于自组织的团队。
12. 每隔一定时间,团队会在如何才能更有效的工作 方面进行反省,然后相应地对自己的行为进行调 整
Scrum成功案例:公司
• Microsoft • Yahoo • Google • Electronic Arts • Philips • Siemens • Nokia • Salesforce.com • BBC
够的勇气来对大家说“不”,比如不能承诺时,对纳入sprint的故事说“ 不”等
4
Scrum理论的三大支柱
Scrum是以经验过程控制理论为依据,采用迭代、增量的方法 来提高产品开发的可预见性并控制风险。Scrum的三大支柱支 撑起每个经验过程控制的实现。
第一大支柱是高透明性(Transparency)
5
Scrum特点
Scrum规定了一个非常简单的开发流程。
Scrum是现有设计流程的总结。
Scrum以团队为基础,是一种在需求迅速变化情况下迭代地、增量地开发 系统和产品的方法。
Scrum是一个控制由利益和需求冲突导致的混乱的流程。
Scrum是改善交流并最优化合作的方式。
Scrum是一种检测产品开发和生产过程中障碍并将其去除的方式。
性)中创建sprint backlog (任 务)
• 估计sprint backlog 故事点(人
天)
Sprint 目标
Sprint backlog
Sprint计划会议1
产品负责人和团队一起,在先前评估的成果基础上,定出 Sprint 目标 和既定产品Backlog。
目标
— 定出 Sprint 目标和既定产品 Backlog
Scrum是最大化生产率的一种方法。
Scrum适用于单一的项目到整个组织。Scrum可以控制并组织多个具有相关 性的产品开发以及拥有超过千名开发者和执行者的项目实施过程。
Scrum能让每个参与者都对自己所做的工作以及自己做出的贡献感到骄傲 ,并让他们发挥到最佳水平。
6
敏捷联盟宣言
敏捷实践原则
会议准备
— 邀请与会者:产品负责人、Scrum Master、团队所有成员 — 已按优先级排列产品 Backlog 中各项问题 — 已评估 Backlog 中的各项问题 — 把产品 Backlog 公开给会议中的每个人,保证其可被获取 — 预期团队中有哪些人已明确会缺席(如度假) — 保证房间环境适合小组讨论 — 每个人都可以获取上次 Sprint 评审会议和 Sprint 回顾会议的结果 — Sprint 时间表已经安排 — (可选)为既定 Backlog 准备图钉板:一个至少 2x2 米的图钉板、卡片和贴纸、荧
15
Scrum Framework
角色(Roles)
•产品负责人 •Scrum教练 •团队
仪式(Ceremonies)
•Sprint 计划 •Sprint 评审 •Sprint 回顾 •每日scrum例会
产出工件(Artifacts)
•Product backlog •Sprint backlog
认同Scrum价值观和遵守其游戏规则 组织每天的Daily Scrum会议 帮助Scrum Team规划Sprint计划 清除障碍 确保团队功能完备富有效率 促进所有角色和职能的紧密协作 替团队抵御外部干扰
Scrum团队
一般5-9人 跨部门:程序员,测试员,界面设计人员等等 团队自我组织:理想情况下,团队成员是平等的,不分头衔 一个sprint中保持成员稳定 负责将Product Backlog转化成Sprint中的工作项目 所有团队成员协调,合作完成Sprint中每一个规定的工作 所有团队成员和Scrum Master负责每一个Sprint的成功
—高透明度确保管理结果的人看得到那些影响结果的过程方面。这些过 程方面不仅要透明,而且那些被观察到的方面也必须被充分了解。
第二大支柱是检验(Inspection)
—开发过程中的各方面必须做到经常性的检验,以确保及时发现过程中 的重大偏差。
第三大支柱是适应(Adaptation)
—如果检查员经检验发现过程中的一个或多个方面不满足可接受标准, 并且最终产品是不合格的,那么检查员就必须对过程进行调整。调整 工作必须尽快实施以减少进一步的偏差。
Scrum Framework
Roles
•Product owner
•Scrum Master
•Team
仪式
•Sprint 计划 •Sprint 评审 •Sprint 回顾 •每日scrum例会
Artifacts
•Product backlog •Sprint backlog •Burndown charts
wiki页面或者仪表盘工具上获知项目当前状况,能够了解多少功能已经完 成,哪些正在做,每次迭代和发布的目标是什么
尊重(Respect):每个团队成员都必须被尊重的看待,大家一起指定
工作规范(working agreements)
勇气(Courage):为了接受并负责任的交付产品,团队成员必须有足
单的答应去完成。它是建立在目标之 上的来自内心的接受和应许,这里 只有“做”和“不做”,没有“让我试试”
专注(Focus):像邮件和不相关的会议就是很常见的一些分散注意力
的事情,我们需要做得是不转移注意力,把精力全部集中在承诺的事务上
公开(Openness):保持一直让任何有兴趣的人员都可以在墙上、
— 产品负责人和小组成员相互认可这 Sprint 目标和既定产品 Backlog
会议结果
— 为 Sprint 计划会议2的进行准备好既定产品 Backlog
24
Sprint计划会议2
在 Sprint 计划会议 2 中,团队将既定产品 Backlog 中的 每一项细化成多个任务。每个任务完成的时间限定在一天内
Sprint计划会议(Sprint Planning Meeting)
Sprint计划会议包含两部分内容:“做什么”和“怎么做”
Sprint计划会议1:确定该Sprint将要完成什么任务,用时4 小时。
—产品负责人给团队介绍最高优先级的Product Backlog条目,并一起决定接下 来的Sprint中开发什么功能。Sprint计划会议需要输入包括产品Backlog、最 新的产品增量、团队的能力和以往的表现。团队自己决定选择多少Product Backlog的条目。
21
团队能力
Product backlog 业务约束 条件
现有产品
技术
Sprint计划会议
Sprint 计划会议
Sprint计划会议1:做什么
• 分析和评估 product backlog • 确定sprint目标 • 排定优先级
Sprint计划会议2:怎么做
• 决定怎样实现sprint目标 (设计) • 从产品backlog(用户故事或特
Sprint计划会议2:团队研究在Sprint内如何构建产品增量, 用时4小时。
—团队先以设计展开工作,设计过程中,团队确定任务,这些任务就是将 Product Backlog转化成可用软件的具体工作。任务需要被分解,以便在一天 之内完成。这个任务列表就是Sprint Backlog。团队通过自组织,并且是自 己认领的方式分担任务,任务认领可以在Sprint计划会议上进行,或也可以 Sprint中及时(Just-in-time)确定。
如果在迭代进行中,开发团队发现进度落后,无法完成全部 的迭代开发任务和计划的需求功能时,敏捷方法通常允许或 要求开发团队与客户协商,减少开发任务或需求(可以放入 下一次迭代中),以保证在既定的时间点提交高质量的成果 (尽管这个成果可能不完整)。
参考:
为什么时间盒迭代提倡删减需求任务?
EssUP迭代核心——时间盒 Time boxing
• 腾讯 • 阿里巴巴 • 华为 • 盛大 • 淘宝 • Facebook • Twitter • Time Warner • others
Scrum 核心过程
Scrum on a page
12
Sprints(冲刺)
Sprint的本意是指冲刺,在Scrum中,一个Sprint就是一个迭 代,Scrum 项目通过一系列的sprints来推进,Sprints类似 于极限编程的迭代。
光笔 — (可选)用作计划纸牌的卡片
Sprint计划会议1
会议进程(2~4 小时)
— 把 Sprint 时间表公开给所有人 — 把 Sprint 评审会议的结果公开给所有人 — 把 Sprint 回顾会议的结果公开给所有人 — 产品负责人向团队产品阐述产品远景 — 产品负责人和团队一起确定 Sprint 目标 — 如果 Backlog 里有问题遗漏:产品负责人有权限往 Backlog 里添加问题 — 如果产品 Backlog 完全未被评估:选择 Backlog 中您认为是最小用例的问题,并指
2
Scrum 目标
Manage Complexity, Unpredictability and Change through Visibility, Inspection and Adaptation
通过高透明性、检验和适应性来管理复杂性、不可预测性和变化
Scrum 核心价值观
承诺(Commitment):承诺不只是把一项工作分配给团队,也不是简