瀑布式开发的流程如下图所示:
这种开发流程存在着一个问题,就是在开发的过程中,如果市场的需求出现了变动亦或者在计划阶段没有很好的理解需求,就意味着产品可能会需要从头开始进行开发,亦或者为了增加新的功能而进行延期。
而scrum的开发流程如下所示:
先围绕着最小化可行产品的特性进行产品规划,然后将最小可行化产品开发出来,接着评测这个产品。
这个过程将会耗费1~3周的时间,并且这个过程将会被不断的重复,直到开发出这样的一款产品。
这样的每一个过程被称之为叫做 sprint,一个sprint耗费1~3周的时间:
团队成员有三个角色:
三个角色所对应的功能为:
- 产品经理(Product Owner)会确认产品特性,同时产品经理会提出产品亮点。
- 敏捷专家(Scrum Master)是整个团队的负责人,负责帮助团队尽可能完成工作,组织日常会议和保障其他工作。
- 敏捷团队(Scrum Team)是由开发人员,测试人员,文案以及其他帮助研发的人组成。
在Scrume中有三种常用的可视化文档:
产品开发列表(Product Backlog)中会包含产品经理从众多用户故事中选择出来的优先项,需求列表会随着每次的Sprint迭代进行更改。
用户故事是指:
一种如上图所示的表达产品需求的语言格式,产品经理会通过用户故事来了解需求的细节和为Scrum团队合理制定任务优先级。
最优先的用户故事将会进入Sprint代办列表(Sprint Backlog),剩下继续评估优先级,交到下次Sprint中。
燃尽图用来展示整个Sprint代办列表的进度,当燃尽图曲线接近0时,也就意味着这次Sprint即将完工。
Scrum方法中有三种不同形式的会议需要用到:
Sprint 计划会议,是产品经理,Scrum Master和开发团队碰头的会议。用于讨论用户故事并且估算任务量。
每日会议,也就是站会,该会议用来让整个团队简述工作进度和整个团队阐述工作进度,并且用来讨论是否有任务需要搁置或者加派人手。
Sprint回顾会议(Sprint Review)则是在一个Sprint接近尾声的时候所进行的会议,这时研发团队会向产品经理演示开发好的功能,然后由整个团队讨论是否又需要改进的地方。
Scrum的工作流程可以被总结为: