Scrum是一个轻量级的软件开发框架
Scrum是一个敏捷开发(管理)框架,是一个增量迭代的开发过程。在这个框架整个开发周期由若干个小的迭代周期,每个小的迭代周期称为一个Sprint,每个Sprint的长度是2至4周。在每个Sprint中,Scrum
在Scrum里面是由三个角色、三种活动、三种交付物组成:
三个角色:
1. product Owner :提出需求(客户)的人
2. Scrum Master :协调的作用,解除障碍的
3. Scrum Team :团队
三种活动:
1. the sprint planning meeting :把三种角色召集开会,制定计划
2. daily scrum meetings :每日会议(站立会议)
3. sprint review meetings :复审会议
三种产物:
1. the product backlog :需要完成的任务
2. the sprint backlog :准备冲刺
3. a burndown chart :燃尽图
Product Owner(客户或者客户代理人)的职责:
1. 确定产品的功能。
2. 决定发布的日期和发布内容。
3. 为产品的profitability of the product(ROI)负责。
4. 根据市场价值确定功能的优先级。
5. 在30天内调整功能和调整功能优先级。
6. 接受或拒绝接受开发团度的工作成果。
ScrumMaster (Team Leader)的职责:
1. 和Product Owner紧密的工作在一起,可以及时的为团队成员提供帮助。
2. 保证团队资源完全可被利用并且全部是高产出的。
3. 保证各个角色及职责的良好协作。
4. 解决团队开发中的障碍。
5. 做为团队和外部的接口,屏蔽外界对团队成员的干扰。
6. 保证开发过程按计划进行,组织Daily Scrum,Sprint Review and Sprint Planning Meetings 。
ScrumMaster除了主持一些正常的会议外还有三个主要的职责:
1. Scrummaster需要知道什么任务已经完成,那些任务已经开始,那些新的任务已经发现,和哪些估计可能已经发生变化。
ScrumMaster需要根据以上的情况更新反映每天完成的工作了以及还有多少没有完成的BurndownChart。
ScrumMaster还必须自习考虑进展中的开放任务数,进展中的工作需要得到最小化,以实现精益生产率的收益。
2. 该ScrumMaster需要找出阻碍Scrum的障碍和依赖。它们需要的优先次序和跟踪。根据优先级指定计划解决这些障碍。其中有写问题可以在团队内部解决,有些则要团队之间的协调,还有的要管理层的介入来解决,甚至有些是公司的问题阻碍了团队达到他们的生产力。比如:一个电信公司最近实施了Scrum,但后来发现只有两个问题和ScrumTeam有关,其它的全是公司的问题,需要管理层关注。
3. 最后但并非最不重要,ScrumMaster可能会注意到,个人问题或冲突在Scrum里是需要解决的。这些都需要被澄清,或通过内部的沟通解决,或向管理层或HR寻求帮助解决。SrcumMaster必须注意去确保团队资源完成可以别利用并且全部是高产出的。
Scrum Team(团队)的职责:
1. 具有不同特长的团队成员,人数一般控制在7个左右。
2. 确定Sprint目标和具体说明的工作成果。
3. 在项目向导范围内有权利做任何事情以确保达到Sprint的目标。
4. 高度的自我管理能力。
5. 向Product Owner演示产品功能。
Scrum的特点:
1. Scrum是一个敏捷的流程,可用于管理控制研发工作。
2. Scrum是现有设计流程的总结。
3. Scrum是以团队为基础,是一种在需求求迅速变化情况下迭代的、增量的开发系统和产品的方法。
4. Scrum是一个控制由利益和需求冲突导致的混乱的流程。
5. Scrum是改善交流并最优化合作的方式。
6. Scrum是一种检测产品开发和生产过程中障碍并将其去除的方式。
7. Scrum是最大化生产率的一种方法。
8. Scrum适用于单一的项目到整个组织。Scrum可以控制并组织多件具有相关性的产品开发以及拥有超过千名开发者和执行者的项目实施过程。
9. Scrum能让每个参与者都对自己所做的工作以及自己 做出的贡献感到骄傲,并让它们发挥到最佳水平。