SCRUM——是一种敏捷软件开发的管理方法,用于迭代式增量软件开发过程。Scrum是一个包括了一系列实践和预定义角色的过程骨架。
Scrum中的主要角色包括:
- Scrum Master,Scrum教练和团队带头人,确保团队合理的运作Scrum,并帮助团队扫除实施中的障碍;
- 产品负责人,负责确定产品的方向和愿景,定义产品发布的内容、优先级及交付时间,为产品投資報酬率负责;
- 开发团队,一个跨职能的小团队,人数5-9人,团队拥有交付可用软件需要的各种技能。
除了角色,还需解释一些名词。
冲刺(sprint):本意是短距离赛跑的意思,这里面指的是一次迭代,而一次迭代的周期是1个月时间(即4个星期),也就是我们要把一次迭代的开发内容以最快的速度完成它,这个过程我们称它为Sprint。
产品订单(product backlog):即产品需求池,包含定义需求,需求描述,优先级,预计人/工时。
冲刺订单(sprint backlog):是大大细化了的文档,包含团队如何实现下一个冲刺的需求的信息。任务被分解为以小时为单位,没有任务可以超过16个小时。如果一个任务超过16个小时,那么它就应该被进一步分解。冲刺订单上的任务不会被分派,而是由团队成员签名认领他们喜爱的任务。
在每一次冲刺或迭代(一个15到30天的周期,其长度由开发团队决定)当中,开发团队创建可用的(可以随时推出)软件的一个增量。每一个迭代所要实现的功能来自产品订单。产品订单按照优先级排列工作需求。在迭代计划会议中,产品负责人告诉开发团队需要完成产品订单中的哪些订单项。开发团队决定在下一次迭代中他们能够承诺完成多少订单项。在迭代的过程中,没有人能够变更迭代订单,这意味着在一个迭代中需求是被冻结的。