什么是Scrum
目的
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 活动中包含一下固定事项:
- Sprint 计划
- 每日例会。沟通 昨天做的事情,今天计划的事情,是否存在对完成 Product Goal有风险
- Sprint 评审 (Sprint Review)。
- Sprint 回顾会 (Sprint Restrospective)。
作者: Fynn
链接: https://fynn90.github.io/2021/10/19/%E4%BB%80%E4%B9%88%E6%98%AFScrum/
本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可