Scrum敏捷精要
本文抽取Scrum中的一些重要思想和概念,对Scrum敏捷执行的主题流程进行精要的介绍。
一、基本思想
个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划

二、主要特性:
- 迭代式、增量式
- 自组织的小团队
- 快速反馈的短周期
- 按照业务价值的优先级排序
三、scrum中的角色
Stakeholders:利益相关人
Scrum master:保证流程正确

四、开发过程
- 产品规划
- 编制用户故事列表(Product Backlog)
- 制定迭代计划(Sprint Planning)
- 迭代开发
- 迭代评审、回顾
- 制定发布计划(Release Planning)
五、用户故事
icesrcum:用户故事管理软件
用户故事是什么?
描述系统需求的一个单元,(“谁” “做什么”)[ “目的”]
特性:
- 独立
- 可更改
- 有价值
- 可估计
- 大小合适
- 可测试
实践:
- Product Owner提出最初的产品设想,主要的用户故事
- 头脑风暴
- IceScrum
- 任何人都可以创建用户故事,新创建的故事放在Sandbox中
- 开会讨论,建立用户故事列表(Product Backlog)
六、迭代计划
- 调整用户故事(增加、删除、修改、改变优先级等)
- 确定迭代时间长度
- 描述迭代目标
- 按照优先级选取用户故事
- 每个用户故事的工作量估计
- 任务分解
- 确定迭代演示和回顾日期,并立刻发出会议通知
- 确定每日站立会议时间,并立刻发出会议通知
每个用户故事的工作量估计
- 用户故事描述的比较详细,单位: “理想人天”
- 使用“计划扑克牌”(Planning Poker),可选值:0 , 1 , 2 , 3,5 , 8 , 13 , ?
- 理想人天*1.5
- 关于迭代速率(velocity)的历史数据
- 团队成员都可以针对用户故事给出自己的工作量评估牌
任务分解
- 会议结束之后,所有细分任务都有一个明确的责任人
- 确定迭代演示和回顾日期,并立刻发出会议通知
- 确定每日站立会议时间,并立刻发出会议通知
七、迭代开发
- 团队沟通和协作
- 参考使用XP(极限编程)的工程实践,如持续集成、重构、结对编程等
- 代码审查
- Bug生命周期管理
每日站立会议主题:昨天做了什么,今天计划什么,有什么问题(迭代计划并不确定任务的完成时间段)
实践:
及时更新IceScrum系统中任务的状态
不定期的结对编程
代码审查
- 迭代内,所有代码都要被审查
持续集成
- 持续构建
- 持续审查
- 持续测试
- 持续数据库集成
- 持续部署
- 持续通知
Bug跟踪:
- 我们目前使用Redmine作为工具
- 任何人发现bug,都可以提交
- 一些小的功能增强,也可以bug的方式进行跟踪
八、迭代演示和回顾
迭代演示 (Sprint Review)
- 一定要有一个可工作的迭代增量
- 对管理层:更好的项目可视度
- 对团队:阶段性压力、阶段性成就感 – 激励团队
迭代回顾(Sprint Retrospective)
- 针对工程实践,而不是产品功能本身
- 做得好的:用户故事裁剪
- 需要改进的:持续集成
实践:
- Scrum Master主持会议
- 查看迭代目标和迭代内承诺交付的用户故事
- 产品演示
九、发布计划
工作量估计
速率(velocity)估计
- 根据以往迭代,进行估计
- 留有余地
确定之后,要明确告知团队和相关利益负责人
可以调整
- 记住,范围(发布那些用户故事)是有弹性的
十、Scrum整体流程最佳实践
- 估计用户故事之前,要明确其范围
- 使用“计划扑克牌”(Planning Poker)的技术进行估计
- 端到端的集成,从第一个迭代开始,贯穿始终
- 迭代计划会议上明确任务分解和责任人
- 迭代演示和回顾日期在迭代计划会议之后就确定,并立刻发出会议通知
- 渐进式功能开发,过早优化是陷阱
Scrum敏捷精要的更多相关文章
- Scrum敏捷项目管理精要
1. 简介: 敏捷项目管理在我们国家起步比较晚,成功运用的项目不多 百分之六十五的敏捷项目用户为scrum 2.互联网时代的特征,雷军的话: 专注,极致,口碑,快(敏捷项目开发就是要快速) 3.敏捷开 ...
- XP+devOps开发模式与scrum敏捷开发对比,docker虚拟化
XP+devOps开发模式与scrum敏捷开发对比,docker虚拟化 我们现在用的就是典型的XP+devOps模式,已经放弃scrum了 现在还很多公司弄docker虚拟化docker非常复杂,当然 ...
- Scrum敏捷开发简介
Agile 敏捷开发实践中,强调团队的自我管理.在 Scrum 中,自我团队管理体现在每天的 Scrum 会议中和日常的协同工作,在每天的 Scrum 例会中,团队成员一般回答一下几个问题 : 昨天完 ...
- scrum敏捷开发
团队PM:袁佩佩 scrum敏捷开发计划制定: 确定项目实施具体阶段目标 确定项目相关任务分解 确定每日站立会议进行计划 确定项目计划总结日程 确定风险解决方案
- 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划
菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 采用Sc ...
- 菜鸟Scrum敏捷实践系列(二)用户故事验收
菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 一.用户 ...
- 菜鸟Scrum敏捷实践系列(一)用户故事概念
菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 敏捷开发 ...
- 产品经理-需求分析-用户故事-敏捷开发 详解 一张图帮你了解Scrum敏捷流程
产品经理-需求分析-用户故事-敏捷开发 详解 用户故事是从用户的角度来描述用户渴望得到的功能.一个好的用户故事包括三个要素:1. 角色:谁要使用这个功能.2. 活动:需要完成什么样的功能.3. 商业价 ...
- 如何避免Scrum敏捷开发团队反思会形式化,海星法介绍
如何避免Scrum敏捷开发团队反思会形式化? 迭代压力很大,根本没时间,而且,反思会上大家都在互相推脱责任,会议成了“批斗大会”,所以团队的人都觉得这个会很鸡肋. 很多团队在开反思会时是这么干的:产品 ...
随机推荐
- [转载] 关于PreparedStatement.addBatch()方法
Statement和PreparedStatement的区别就不多废话了,直接说PreparedStatement最重要的addbatch()结构的使用. 1.建立链接(打电话拨号) Connecti ...
- ajax回调中的this.href不执行跳转的解决办法
1. 问题背景 如下所示代码: $.post("/ems/register",indata, function(data){ if(data != null && ...
- 我的Windows核心编程——完成端口+套接字 图解
========================声明============================ 本文原创,转载请注明作者和出处,并保证文章的完整性(包括本声明). 本文不定期修改完善,为 ...
- jquery-qrcode生成二维码
一.jquery-qrcode jquery-qrcode是一个为浏览器生成二维码的jquery插件.我们很容易将它集成到我们的应用.该插件也可以独立使用,也比较小.它是直接在客户端生成二维码生成.所 ...
- 关于Solr搜索标点与符号的中文分词你必须知道的(mmseg源码改造)
关于Solr搜索标点与符号的中文分词你必须知道的(mmseg源码改造) 摘要:在中文搜索中的标点.符号往往也是有语义的,比如我们要搜索“C++”或是“C#”,我们不希望搜索出来的全是“C”吧?那样对程 ...
- 最小的k个数
// 最小的k个数.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #include & ...
- iTOP-4412开发板---Linux系统学习下载步骤
本文转自迅为论坛:http://www.topeetboard.com 1.cd /home/topeet/Linux-simple/console 下建立.c文件 2. 编译命令,就在此目录下 # ...
- hadooop2.6 job pending research
https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/ClusterSetup.html 我使用的是已经运行在 ...
- Java语言中的基本词汇
1.标识符包.类.方法.参数和变量的名称.大小写字母.数字._和$符号的组合,不以数字开始,不能使关键字,不能包括分隔符和换行.(严格区分大小写,最大长度255个字符) 2.字面量 某种类型的值(具 ...
- MIT jos 6.828 Fall 2014 训练记录(lab 2)
注: 源代码参见我的github:https://github.com/YaoZengzeng/jos Part1 : Physical Page Management mem_init函数: /*该 ...