首先通过wiki来简单的了解一下Scrum的定义:Scrum是一个用于软件开发管理的框架,用于迭代式增量软件开发过程,这种方法可以有效的提高软件开发的速度和灵活性。
Scrum框架的应用实施过程可以表述如下(图片来自于:https://twitter.com/khoza_sizwe):
根据上图所示,可以把Scrum Framework的工作流程总结如下:
- Product Owner将待完成的项目需求列一个wish list 叫做Product Backlog,任务列表里面的需求会按照优先级顺序进行排序,排在最上面的优先级最高。
- 针对Product Owner列出的wish list,项目组成员会开一个Sprint Planning会议。经过会议协商评估后,按照优先级顺序从Product Backlog里面选择尽量多的需求去实现,并且决定实现方式。
- Sprint planning选定的任务会被写入Sprint Backlog,即一个Sprint内需要完成的任务列表。有些任务会被拆分成更小的任务块,然后分配给项目组成员去实现。任务需要在规定的时间范围内完成,这里的时间范围叫做1个sprint,一般是2-4周的时间。
- 为更好的完成开发任务,项目成员每天都会开一个小型的会议(Daily Scrum Meeting),主要用来确认各自的项目进度,会议时间一般在15min左右。
- Sprint结束后,Sprint Backlog里面的任务必须都是可交付的状态。换句话说,项目需要在规定的时间范围(sprint)内全部完成,并且是可以交付给客户直接使用的状态。
- 一个Sp