什么是Scrum:
Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum在英语的意思是橄榄球里的争球。
发展历史: 1986年,竹内弘高和 野中郁次郎阐述了一种新的整体性的方法 ,该方法能够提高商业新产品开发的速度和灵活性:他们将这种新的'整体性方法与橄榄球相比较,前者各阶段相互重叠,并且由一个跨职能团队在不同的阶段完成整个过程,而后者整个团队"tries to go to the distance as a unit, passing the ball back and forth"。他们对来自汽车,照片机器,计算机和打印机等产业的案例进行了研究。1991年,DeGrace和Stahl在《Wicked Problems, Righteous Solutions》一书中将这种方法称为 Scrum,在竹内弘高和 野中郁次郎的文章中提到的橄榄球术语。1990年代初,肯•施瓦伯在其公司使用了一种方法Advanced Development Methods(先进开发方法),这种方法后来发展为Scrum。同时,杰夫•萨瑟兰在Easel公司开发了一种类似的方法,并首次称之为Scrum。1995年,在奥斯汀举办的OOPSLA '95上,萨瑟兰和施瓦伯联合发表了论文首次提出了Scrum概念。施瓦伯和萨瑟兰在接下的几年里合作,将上述的文章,他们的经验,以及业界的最佳实践融合起来,形成我们现在所知的Scrum。
====================================== Scrum由三个角色、六个时间箱和四个工件组成: 三个角色 1. 产品负责人(Product Owner) 2. Scrum Master 3. Scrum团队
六个时间箱 1. Sprint 2. 发布计划会议(Release Planning Meeting)可选 3. Sprint计划会议(Sprint Planning Meeting) 4. 每日站会(Daily Scrum Meeting) 5. Sprint评审会议(Sprint Review Meeting) 6. Sprint回顾会议(Sprint Retrospective Meeting)
四个工件 1. 产品Backlog(Product Backlog) 2. 发布燃尽图(Release Burndown Chart)可选 3. SprintBacklog
4. Sprint燃尽图(Sprint Burndown Chart)
业界最新动态: 开发人员正在尝试各种新方法来给项目做计划和找出一个特定的sprint所需要的时间。敏捷游戏帮助开发人员更加投入,以及从不同的角度思考问题。有些游戏,例如计划扑克,帮助开发人员了解每个特性所需要的时间。其他的,例如Speed Boat,帮助开发人员了解流程。 在2011敏捷大会上,敏捷宣言的支持者们发现,在刚开始的时候工具似乎不是很重要,但是,现在是需要软件工具来帮助团队扩展他们的敏捷流程的时候了。在大会上的演讲者们说:“随着敏捷越来越成熟,对工具的需求也越来越强烈。” 在敏捷大会的参与者都认为他们并不会改变敏捷宣言的任何部分,虽然有人建议他们在所有文档的顶部加上全大写的“我们是认真的”。他们都同意现在是敏捷需要扩张的时候了,然后在如何才能扩张和应该怎么扩张上面却出现了分歧。有的人认为应该为传统的敏捷流程引入新的思想,如Kanban和精益;而有的人却认为敏捷不应该只局限于IT,而应该深入到企业的各个领域当中去。