出处 : http://www.intelligentbee.com/blog/2015/02/20/should-you-do-scrum/
在进行团队项目 时,我持续感到没有特定流程的开发过程缺乏生产力。这次受到 SoMem 新村、江南朋友们 Scrum 开发模式的启发,我阅读了一本书,希望能了解 Scrum 并将其应用于项目中。
每日站会 (Daily Scrum)
1. 不占用专门的会议室
2. 保持站立,时间不超过 15 分钟
3. 阐述 1) 自上次每日站会以来做了什么, 2) 在下次每日站会前计划做什么, 3) 什么阻碍了工作进展
- 来自《天堂II》(Lineage 2) 开发团队的 Scrum 实践 -
“必须时刻警惕,不要让 Scrum 或敏捷本身成为团队的目标。”
“常识并不常见 (Common sense isn't common)。”
“如果用一句话定义 Scrum,那就是:‘让我们更早、更频繁、更多、更持续地进行反馈交换。’”
书中提到 Scrum 很简单。它还指出,解释所有规则所需的时间不到 10 分钟。然而,它也提醒读者,理解 Scrum 的哲学和“为什么”可能需要 10 天,而真正熟练掌握 Scrum 可能需要 10 周以上。尽管如此,它依然强调 Scrum 是简洁的。
Scrum 简要介绍
出处 : http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Scrum_process.svg/2000px-Scrum_process.svg.png
产品待办事项列表 (Product Backlog)
首先,产品待办列表是包含系统需要解决或包含的所有事项(即功能、特性和技术)的列表。产品待办列表是指按优先级排列的所有产品需求清单。产品待办列表永远不会最终确定,它会随着产品一起成长和演变。产品待办列表中优先级最高的项目就是最需要的项目。任何人都可以提议产品待办列表的内容。用户、客户、销售部门、营销部门、客户服务部门和技术部门都可以提交这些项目。
然而,只有产品负责人 (Product Owner) 才能为产品待办列表中的项目分配优先级。实际上,产品负责人决定了开发的先后顺序。
冲刺待办事项列表 (Sprint Backlog)
Scrum 团队是自组织的且完全自主的。Scrum 团队仅受其所在组织的标准和惯例以及他们选择的产品待办列表的约束。如何将所选的产品待办列表转化为产品增量(看起来“产品增量”在这里似乎指代冲刺待办列表)完全取决于开发团队的决定。团队管理着该冲刺中要执行的任务列表,即冲刺待办列表。
冲刺 (Sprint)
每个 Scrum 团队进行开发时,会设定一个 30 天的重复周期,这被称为“冲刺”。在冲刺期间,团队会选择他们认为可以完成的产品待办列表。在每个冲刺结束时,都必须交付一个添加了新功能的可执行产品。实际上,架构和设计并非在第一次冲刺时就完成,而是经过多次冲刺后逐渐显现出来的。
Scrum 主管 (Scrum Master)
为了使 Scrum 运作良好,团队需要具备自发性和信念。在冲刺期间,管理者(即 Scrum 主管)会强制要求团队成员实践 Scrum,并帮助团队做出决策或获取所需的资源。 在冲刺期间,团队不应受到团队外部任何人的干扰或指示。
每日站会 (Daily Scrum)
Scrum 团队每天举行一次名为“每日站会”的简短状态会议。在每日站会上,管理者会检查进度并确认需要消除的障碍。每日站会是确认团队进展的绝佳方式。
冲刺结束
团队与管理者一起参加冲刺评审会议,审查本次开发的冲刺待办列表。在测试完每个冲刺待办列表(产品增量)后,管理者通常会整理产品待办列表,以便充分利用团队的成果。根据部分开发完成的产品来看,产品待办列表具有更大的意义。一旦产品待办列表稳定下来,团队会在下一次冲刺中再次挑选优先级最高的项目。这一系列过程会被不断重复,直到完成下一次冲刺。这种循环结构会一直持续到判定产品具有潜在的可发布性(基于经验性管理成本、时间、功能和质量进行评估)。同时,也会为产品的发布计划“发布冲刺”。
Scrum 是什么?
Scrum 是直截了当的。
Scrum 摒弃了不恰当且繁琐的管理惯例,只保留了工作本身。
Scrum 让团队保持自由,并专注于工作。
Scrum 为开发者提供了专注于工作、快速创造高质量产品所需的一切管理和控制权。
出处 : http://www.codeproject.com/KB/architecture/scrum/diagram02.png
## 参考资料 参考书目:Scrum: Agile Project Management (Ken Schwaber 著),中文译名《Scrum:敏捷软件开发》。