整体流程
在一个采用 Scrum 的项目中,首先要将所有需要完成的工作列在一个 Product Backlog 中,项目开发过程中需求的改变也要写进去。
在每个 Sprint 开始之前,要召开一个 Sprint 计划会议。在这个会上,产品责任人(Product Owner)为 Product Backlog 中的各项功能需求确定优先级。
随后,Scrum 开发团队按照优先级,从 Product Backlog 中挑选出他们认为能在这个 Sprint 中完成的任务,并把这些任务从 Product Backlog 中挪到 Sprint Backlog 中去。
在 Sprint 的进行过程中,Scrum 团队每天都要举行一个简短的每日 Scrum 会议,以便团队成员了解开发进度。
一个 Sprint 结束之后,需要召开 Sprint 评审会议。开发团队在会上把这个 Sprint 的开发成果展示给大家。
另外需要有一个 Sprint 回顾会议,团队成员们会回顾刚刚过去的这个 Sprint,从中总结经验和教训。
产品 Backlog
产品 Backlog 指根据初始需求分解出的任务列表,包括功能性的和非功能性的所有功能,由 Product Owner 为 Product Backlog 中的任务确定优先级别,当开发团队开始某个任务的时候,再精确定义和分解这个任务。
例子
编号 | 标题 | 描述 | 优先级 | Story Point |
---|---|---|---|---|
01 | Safari浏览器支持 | 用户能够使用Safari浏览器访问电子商务通,使电子商务通完全兼容于Safari | 2 | 20 |
… | … | … | … | … |
User Story
User Story 即为某个任务的描述,可采用通用公式:作为<某个角色>,我可以<做什么>,以完成<什么目的>。
更详细的实现细节需要在 Sprint 开始前确定下来。
Story Point
Story Point 即为任务的工作量。每一个任务都应让所有人一起参与工作量评估,直到大家的意见达成统一后确定。
Sprint 开始前
制定 Sprint Goal
Sprint Goal 用于让整个团队明确该 Sprint 最重要的是什么,必须是实实在在的。
确定 Sprint 周期
通常为两周 - 两个月,视具体情况而定。
Sprint 计划会议
把每个 Sprint 的要做的工作从 Product Backlog 中按照优先级顺序排序,确定需求,将任务进一步分解,如人员分工等。
团队成员的技能培训、环境搭建等是要在做 Sprint 计划时就考虑在内的。
每日 Scrum 会议
三个问题
每日的 Scrum 会议需回答三个问题——
- 昨天都做了什么
- 今天打算做什么
- 遇到哪些问题
这是团队成员之间的交流,也是相互的承诺,主要通过三个问题使同步团队信息,并不是用来向老板汇报工作进度的。
团队成员们遇到的问题可以在会上提出来,而有能力解决这些问题的人可以在会后帮助他们解决问题,使会议控制在15分钟内。
任务板
每日都需要对当前任务板进行准确的更新。
未开始 | 被阻塞 | 进行中 | 已完成 | |
---|---|---|---|---|
Mike | ||||
Jack | ||||
… | … | … | … | … |
可通过燃尽图更好地观察项目情况。
Sprint 评审会议
Sprint 评审会议在 Sprint 结束时召开,由开发团队展示这个 Sprint 中完成的功能,长度为两个小时左右,不需要 PPT,一般是已经完成功能的 Demo,而且所有对该产品感兴趣的人都可以参加。
演示时不谈技术,单纯展示功能。
Sprint 回顾会议
Sprint 回顾会议由产品责任人、Scrum 团队和 Scrum Master 参加。Scrum Master 首先给大家看 Sprint Backlog,总结这个 Sprint,大家讨论在这个 Sprint 中发生的一些比较重要的事件。
与会人员轮流发言,每个人都有机会发表自己的意见:他认为哪些方面做得好、哪些方面需要改进、如何改进等。还要对比 Sprint Backlog 中各个 Story 的估计值与它们的实际完成时间,如果差距太大,就应该好好分析出现这种情况的原因。
在会议即将结束之前,Scrum Master 总结会上的讨论成果,即“团队如何才能在下个 Sprint 中做得更好”。
其他准备
- 使用工具
- 如何结合测试