Scrum 是一个用于开发和维护复杂产品的框架 ,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每一个Sprint的建议长度是2到4周(互联网产品研发可使用1周的Sprint)。在Scrum中,使用产品Backlog来管理产品的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式一般为用户故事。Scrum团队老是先开发对客户具备较高价值的需求。在Sprint中,Scrum团队从产品Backlog中挑选最高优先级的需求进行开发。挑选的需求在Sprint计划会议上通过讨论、分析和估算获得相应的任务列表,咱们称它为Sprint backlog。在每一个迭代结束时,Scrum团队将递交潜在可交付的产品增量。 Scrum起源于软件开发项目,但它适用于任何复杂的或是创新性的项目。框架
Scrum流程以下图:优化
Scrum以经验性过程控制理论(经验主义)作为理论基础的过程。经验主义主张知识源于经验, 以及基于已知的东西作决定。Scrum 采用迭代、增量的方法来优化可预见性并控制风险。spa
Scrum 的三大支柱支撑起每一个经验性过程控制的实现:透明性、检验和适应。Scrum的三大支柱以下:blog
透明度是指,在软件开发过程的各个环节保持高度的可见性,影响交付成果的各个方面对于参与交付的全部人、管理生产结果的人保持透明。管理生产成果的人不只要可以看到过程的这些方面,并且必须理解他们看到的内容。也就是说,当某我的在检验一个过程,并确信某一个任务已经完成时,这个完成必须等同于他们对完成的定义。排序
开发过程当中的各方面必须作到足够频繁地检验,确保可以及时发现过程当中的重大误差。在肯定检验频率时,须要考虑到检验会引发全部过程发生变化。当规定的检验频率超出了过程检验所能允许的程度,那么就会出现问题。幸运的是,软件开发并不会出现这种状况。另外一个因素就是检验工做成果人员的技能水平和积极性。事件
若是检验人员检验的时候发现过程当中的一个或多个方面不知足验收标准,而且最终产品是不合格的,那么便须要对过程或是材料进行调整。调整工做必须尽快实施,以减小进一步的误差。开发
Scrum中经过三个活动进行检验和适应:每日例会检验Sprint目标的进展,作出调整,从而优化第二天的工做价值;Sprint评审和计划会议检验发布目标的进展,作出调整,从而优化下一个Sprint的工做价值;Sprint回顾会议是用来回顾已经完成的Sprint,而且肯定作出什么样的改善可使接下来的Sprint更加高效、更加使人满意,而且工做更快乐。rem