背景
最近项目组内部正在推进敏捷开发落地,作为一个非互联网行业转行过来的开发人员,个人对敏捷开发了解不多,希望通过本文加深对敏捷开发的了解,并积极推送项目组内敏捷开发的落地。
本文翻译自KANBAN VS SCRUM: CHOOSING THE BEST AGILE PROJECT MANAGEMENT FRAMEWORK。
正文
“我们使用敏捷开发”,在于软件开发团队交流时,我们听到越拉越多这样的声音。是的,根据统计,2018年全球90%的开发者在进行敏捷开发。
但是,敏捷没有统一的标准。作为一个通用的工作流程,为了使开发流程更加简化并有效响应变化,敏捷开发设定了公共的价值观和原则。这些价值观和原则可以在敏捷宣言中找到相关的开发流程建议。
在实际工作中,这些敏捷原则体现在多个不同的敏捷开发框架中。其中,Kanban以及Scrum是最受欢迎和最常使用的。虽然两种实现都是为了创建有效的工作流程,但是仍有一些差异,下面来讨论这些差异。
理解Kanban和Scrum的工作原理可以帮助客户和开发人员了解团队的工作节奏并相应地规划他们的活动。
Scrum和Kanban基础
深入了解Kanban和Scrum的差异之前,我们先了解两者的主要概念。这种方式可以更好的、更轻松的比较两者之间的差异。Kanban和Scrum都是为了建立自治团队的工作流程,但有部分不同。
Scrum
Scrum原本是橄榄球术语,形容多个球员合作共同占据球权。软件开发中,Scrum描述了组织团队合作的方法,以便更高效地开发复杂的软件产品。
Scrum哲学基于假设(这种假设也可能是事实) — 开发团队在项目开始阶段不知道项目输出,而是在开发过程中学习、调整。Scrum被设计为易于调整,以方便每次迭代开发开始时重设优先级,在Scrum中迭代、调整的过程称为sprint(冲刺)。
这里,我们来了解Scrum中最核心的概念—sprint(冲刺)。Sprint指一个2-4周