云原生学习路线导航页(持续更新中)
本文是 通用开发技能系列 文章,主要对编程通用技能 Scrum、Kanban等敏捷管理策略 进行学习
1.什么是敏捷开发
- 敏捷是一个描述软件开发方法的术语,它强调增量交付、团队协作、持续规划和持续学习。
- 2001 年,敏捷宣言提出:
- 个体和交互胜过流程和工具
- 有效用的软件胜过全面的文档
- 客户协作胜过合同协商
- 响应变化胜过遵循计划
- 敏捷是推动软件开发方法的一种思维模式,是一组价值观和原则。凡是满足敏捷宣言价值的方法和做法,都可以称为敏捷。
2.敏捷开发框架是什么
- 敏捷框架一般是 DevOps 生命周期阶段的各种综合方法,框架一般包括规划、开发、交付和运营等各阶段的管理方法,为完成工作提供了明确指导方法和原则。
- 常见的敏捷框架:
Scrum
是最常见的敏捷框架,也是大多数人最初使用的框架Kanban
是丰田公司一位叫大野耐一的工程师所创建XP
:极限编程DSDM
:动态系统开发方法(DSDM)FDD
:特征驱动开发,Feature Driver DevelopmentCrystal Clear
:水晶开发
- 下面对比较常用的敏捷框架
Scrum
和Kanban
进行介绍
3.Scrum是什么
- Scrum (英式橄榄球争球队)是一种软件开发模型,属于敏捷开发。
- Scrum的基本假设是:
- 开发软件就像开发新产品,无法一开始就能定义软件产品最终的规程,过程中需要研发、创意、尝试错误,所以没有一种固定的流程可以保证专案成功。
- Scrum 将软件开发团队比拟成橄榄球队,有明确的最高目标,熟悉开发流程中所需具备的最佳典范与技术,具有高度自主权,紧密地沟通合作,以高度弹性解决各种挑战,确保每天、每个阶段都朝向目标有明确的推进。
- Scrum 开发流程通常以 30 天(或者更短的一段时间)为一个阶段,由客户提供新产品的需求规格开始,开发团队与客户于每一个阶段开始时挑选该完成的规格部分,开发团队必须尽力于 30 天后交付成果,团队每天用 15 分钟开会检查每个成员的进度与计划,了解所遭遇的困难并设法排除。
- 更详细的内容:https://www.cnblogs.com/Ring1981/archive/2006/09/07/496591.html
4.Kanban是什么
- Kanban是一种流行的框架,用于实施敏捷和DevOps软件开发。它需要实时沟通的能力和完全透明的工作。工作内容在Kanban Board上直观地表示,允许团队成员随时查看每项工作的状态。
- 看板可以分为五个组成部分
- 视觉信号
- 列
- 在制品限制
- 承诺点
- 交付点
- 详细学习:
- https://www.atlassian.com/zh/agile/kanban/boards
- https://doc.devpod.cn/agile/kanban-board-17104993.html
5.Scrum和Kanban的区别
- 目前有数百个团队正在使用 Scrum 和 Kanban 的混合模式