目的

Scrum 快速开发和持续交付、维护复杂产品的敏捷框架。它定义了敏捷开发中的团队结构、研发过程和关键事件。

Scrum的核心目的是快速的开发和交付产品给客户,并保持产品的灵活性。

它的设计过程中并未提到如何保证产品的质量,这个很让人困惑。对于一个刚起步的团队,最大的挑战应该是产品的质量和产品方向的正确性。而不是快速的开发和交付产品。

关键概念

  • Scrum Team - 最小单元敏捷开发团队,含有一名 Scrum Master、一名 Product Owner和若干名 Developers。
  • Product Owner - 确定产品的方向和愿景,定义产品发布的内容、优先级及交付时间,为产品投资报酬率负责;
  • Scrum Master - 敏捷教练,负责团队合理运作Scrum,扫除在Scrum中遇到的障碍
  • Product Backlog - 产品订单。需有需求特性的粗略描述。产品订单是关于将要生产什么样的产品。产品订单是开放的,每个人都可以编辑。产品订单包括粗略的估算,通常以天为单位。估算将帮助产品负责人衡量时程表和优先级(例如,如果”增加拼写检查”特性的估计需要花3天或3个月,将影响产品负责人对该特性的渴望)。
  • sprint backlog - 冲刺订单。细化后的文档,包含冲刺需求所需要的信息。任务应该分解成16个小时,如果超过16个小时则应该进行再拆分
  • Definition of Done (DoD) - 在一个Sprint 中,它是一个检查清单,包含所有非功能性需要完成的事项。例如:
    • 代码编写完成
    • 代码单元测试完成
    • 代码 检查
    • 特性分支合并
    • 部署到测试环境
    • 测试通过
  • Definition of Ready (DoR) - 它类似于 DoD,指的是在开始一轮Sprint之前需要完成的产品工作清单。例如:
    • PO和开发团队过一遍Story
    • Story有明确的商业价值
    • 对Story开发时间的评估
    • Story拆分,放入到Sprint中
    • Story最后完成验收

核心原则

价值观

承诺,专注,开发,尊重,勇气

基础

Scrum Team 团队成员要互相尊重,彼此是有能力和独立的人,互相彼此尊重,成员有勇气做正确的事情并处理棘手的问题。

Scrum Team

Scrum中基本单元团队,规模应该在10人左右。它应该足够小以保持灵活,但应该足够大以便完成Sprinnt中重大的工作。Scrum Team 应该是有跨职能的人员组成,他么内部讨论决定谁做什么,何时做以及如何做。Scrum Team团队人员应该有很强的凝聚力,有良好的沟通和高效的行动力。

Sprint

一次完整的Scrum活动周期,一般是两个星期或一个月一个周期。一轮Sprint结束后就开始下一轮 Sprint.

Sprint 活动中包含一下固定事项:

  1. Sprint 计划
  2. 每日例会。沟通 昨天做的事情,今天计划的事情,是否存在对完成 Product Goal有风险
  3. Sprint 评审 (Sprint Review)。
  4. Sprint 回顾会 (Sprint Restrospective)。