硝烟中的Scrum和XP-我们如何实施Scrum 1-3
硝烟中的Scrum和XP-我们如何实施Scrum(ScrumAndXpFromTheTrenches)
序
Nokia对Scrum回顾, 总结迭代开发需求:
1) 迭代有固定时长 [时间盒Time Box 不能超过6Weeks; ]
2) 每一次迭代的结尾, 代码必须经过QA测试, 可正常运行;
Nokia的Scrum标准:
1) Scrum团队要有产品负责人且让团队每个人知道;
2) 产品负责人要有产品Backlog, 包括团队的预估;
3) 团队必须有燃尽图, 了解生产率;
4) 在一个 Sprint中, 外人不能干扰团队;
Scrum产物: 产品Backlog; 对于Backlog的估算; 燃尽图;
Scrum和极限编程XP都要求团队在迭代的结尾完成一些可交付的工作片段;
注重实践而非理论研究;
应该了解优秀的实践和应用的范围, 没有最佳的实践, 只有更适合的模式;
---序 End---
前言
Scrum是一种方法, 一种框架;
1 简介
What is Scrum 一种框架 Spring Backlog(Excel, JIRA, Index Cards, Rally...)
敏捷宣言遵循的原则: http://agilemanifesto.org/iso/zhchs/
Scrum Methodology http://www.mountaingoatsoftware.com/topics/scrum
XP(Extreme Programming) http://www.xprogramming.com/xpmag/whatisxp.htm
---简介 End---
2 编写产品Backlog
Backlog是Scrum的核心, 一切的起源, 故事Story/条目Backlog; 是一个需求, 故事或特性组成的列表, 按照重要性的级别进行了排序; 包含的是用客户的术语描述的需求;
包含字段:
ID 统一标识符, 自增长的数字; [US1012]
Name 简短的, 描述性的故事名, 开发个和产品负责人明白其含义;
Importance 重要性, 产品负责人评估数字, 10..20..30, 重要性和数字成正比 (当出现更重要的任务时可以增加数字级别, 优先级方式有限制, 1为最高, 以后出现更高优先级无法适用, 优先级0?)
Initial Estimate 初始估算, 团队初步估算, 与其他故事相比, 完成此故事所需工作量, 最小单位为Story Point, 可以相当于 [1 person/day] man-day;
可以按照"3个人一起做需要4天时间"得出12个Point这样做初始估算;
不需要保证绝对时间, 这只是一个粗略度量的单位, 要确认的是US之间的相对度量的正确性 [5个点的US比2个点的需要2倍以上的时间];
How to demo 演示, 描述了US怎样在Sprint上示范, 本质上是一个简单测试规范 [Step1 Step2 ... 验收];
如果使用的是TDD测试驱动开发, 可以验收测试的伪代码;
Notes 简短的注解, 相关信息, 解释说明, 资料引用;
通常放在Shared驱动器的Excel文档内, 由PO所有, 但是可以让团队成员共享, 多个用户可编辑, Dev经常打开以便了解Stroy, 修改Estimation.
(Excel)
额外字段
为了PO判断优先级别和管理, backlog中会有其他字段
Track 类别, Ex. 后台系统, 优化, 用户界面...便于整理查看以及进行filter修改;
Components 组件, 用Excel中的复选框来设定, 进行标识; Ex.数据库 服务器 客户端... 有利于多个Scrum Team合作, 找到相关Task;
Requestor 请求者, 产品负责人记录哪个客户提出的需求, 在后续工作中提供反馈;
Bug Tracking ID Defect ID, bug跟踪系统 Ex. JIRA
让Backlog停留在业务层
产品负责人需要关注的是业务目标, 使用何种技术实现功能或解决问题由开发团队决定;
不用技术细节, 用业务化的客户和团队都能理解的描述, 技术细节可作为注释;
使用技术细节描述的US不是Good US, 需要描述的是客户的需求;
---Backlog End---
3 准备Sprint计划
PlanningMeeting之前, 确保Backlog井然有序;
1) 事先制定好产品Backlog;
2) 一个Backlog和一个产品负责人(对于一个产品)
3) 重要性已经评估, 优先级高的对应了不同的分数; 优先级低的可以使用重复的分数;
重要性低的条目可能不会在首次Planning中出现; 需要在下个Spint中实现的US, 会被划分到特定重要性层次; 重要性是为了排序, 数字不代表实际意义; 可以在10, 20之间出现15来代表中间程度, 数值没有实际度量(20比10重要, 但不是两倍的关系)
4) 产品负责人应当理解每个US, 编写US, 处理请求, 划分次序, 不需知道如何实现, 需要知道业务重要性;
Note 除了产品负责人, 其他人也可以在Backlog添加US, 但是要由产品负责人设定重要性, 开发团队估算时间;
其他方式
JIRA, 比Excel繁琐, Excel更便捷有效 Ex.颜色块, 添加列和注解, 导入导出;
VersionOne, ScrumWorks, XPlanner, Rally...
---准备计划 End---