敏捷 | Scrum & Kanban 框架
I’m happy to translate the article for you, but I’ll need the text you’d like translated. Could you please paste the content (or the portion you want translated) here? I’ll keep the source link at the top and preserve all formatting, markdown, and technical terms as requested.
什么是 Agile?
在之前的模块中,agile(敏捷)一词描述了 DevOps 文化的一个关键方面:快速响应客户需求和反馈的能力。Agile(首字母大写的 “A”)有更具体的含义。它指的是一种正式的软件开发和项目管理方法, 与 DevOps 实践紧密相连。
从传统的瀑布模型转向 Agile 能实现更快的交付、更高的质量以及与客户期望更强的对齐。Agile 强调协作、持续改进、自动化和以客户为中心,主要目标是更快、更可靠地交付高质量的软件。
Agile Manifesto and Core Values
Agile Manifesto(敏捷宣言)于 2001 年由一群软件开发者创建,他们希望寻找一种替代僵硬、流程繁重的开发模型。宣言定义了四条核心价值观,突出 Agile 团队更看重的方面:
- Individuals and interactions(个人和交互)胜过 processes and tools(流程和工具)
- Working software(可工作的软件)胜过 comprehensive documentation(完整的文档)
- Customer collaboration(与客户合作)胜过 contract negotiation(合同谈判)
- Responding to change(响应变化)胜过 following a plan(遵循计划)
这些价值观并不意味着要消除流程、文档、合同或计划;它们强调灵活性、反馈以及以人为本的结果。宣言有意避免规定具体的方法或工具,使团队能够选择最适合其情境的实践。
Source: …
Scrum 框架
Scrum 是一种敏捷框架,帮助团队通过短期、时间盒化的迭代(称为 sprints,通常为 1–4 周)进行协作并解决复杂问题。Scrum 由三大核心组成部分构成:事件(events)、工件(artifacts)和角色(roles)。
事件
- Sprint Planning – 团队在冲刺期间选择要处理的待办事项。
- Daily Scrum (Standup) – 大约 15 分钟的每日会议,用于对进展和阻碍进行对齐。
- Sprint Review – 团队向利益相关者展示已完成的工作。
- Sprint Retrospective – 团队回顾冲刺,找出改进点。
工件
- Product Backlog – 按优先级排列的产品功能、增强和修复列表。
- Sprint Backlog – 为当前冲刺选取的待办事项子集。
- Task Boards – 以 To Do、In Progress、Done 形式展示任务的可视化工具。
- Sprint Burndown Chart – 显示随时间推移剩余工作量的图表,用于跟踪冲刺进度。
角色
- Product Owner – 代表利益相关者,管理产品待办事项。
- Scrum Master – 促进 Scrum 实践,消除阻碍,推动持续改进。
- Scrum Team – 构建产品,负责工程质量和交付。
Scrum 团队使用 velocity 作为度量指标,估算每个 sprint 能完成的工作量,从而帮助规划和提升可预测性。
看板框架
Kanban(日语意为“看板”)起源于制造业,作为提升效率的方法,已被广泛应用于软件开发。
核心实践
- 可视化工作:使用看板板,将工作项显示为卡片,在代表工作流阶段的列(例如 待办、进行中、已完成)之间移动。列可以自定义,以反映团队的实际流程,如开发和测试阶段。
- 拉动模型——只有在团队有容量时才将工作拉入进行中,减少超负荷并提升质量。
- 在制品(WIP)限制——限制一次可以同时进行的工作项数量,帮助保持流动性。
关键指标
- 交付时间——从请求到交付的总时间。
- 周期时间——在某项工作上实际花费的时间。
- 累计流图(CFD)——显示工作项随时间在不同状态之间的流动;面积扩大的区域通常表明瓶颈或低效。
比较:Scrum 与 Kanban
| 方面 | Scrum | Kanban |
|---|---|---|
| 工作节奏 | 固定时长的冲刺 | 持续流动 |
| 角色与仪式 | 定义的角色(产品负责人、Scrum Master、团队)和事件(计划、每日、评审、回顾) | 角色和仪式可选 |
| 工作计划 | 在冲刺计划期间对工作作出承诺 | 在 WIP 限制下持续重新排序 |
| 变更处理 | 不鼓励冲刺中途变更 | 随时允许变更 |
| 可视化 | 冲刺看板、燃尽图 | Kanban 看板、累计流图 (CFDs) |
| 指标 | 速度、燃尽图 | 交付时间、周期时间 |
结论
敏捷提供了思维方式和价值观,而 Scrum 和 Kanban 则提供了将这些价值观付诸实践的实际方法。这两种框架通过实现更快的反馈、持续改进以及更可靠的软件交付,来补充 DevOps。