Kanban VS Scrum:哪一个是最好的敏捷项目管理框架

“咱们使用敏捷开发。”在与软件开发团队交流时,你会听到不少这样的说法。根据统计,2018年全球约有90%的开发人员在使用敏捷开发。Choerodon猪齿鱼团队也是其中之一。git

可是,敏捷并不统一。做为组织工做流程的通常方法,敏捷软件开发设定了共同的价值观和原则,旨在精简开发流程,敏捷有效地响应变化。这些价值观和原则能够在敏捷宣言中找到,当中就提供了一些创建开发流程的建议。github

在实际应用中,几种软件开发框架已经体现了这些敏捷原则。其中Kanban 和 Scrum是最受欢迎和常用的。这两种方法都有一个共同的目标,即建立一个有效的工做流程。今天这篇文将围绕他们之间的差别进行讨论。微信

Scrum和Kanban的基础知识

在深刻研究Scrum和Kanban之间的差别以前,先看一下两个框架的主要概念,以便以后能够更轻松地进行Kanban与Scrum的比较。虽然它们都旨在创建一个自组织团队的流动,可是有些方法不一样。框架

▌Scrum是什么?微服务

Scrum的名字来自橄榄球术语,表示“争球”的动做。在软件开发中,Scrum是指采起组织团队合做的方法,以便更高效地开发复杂的软件产品。工具

Scrum基于开发团队在开始时不知道项目的结果这个假设,他们会随着工做的进展不断学习和适应。Scrum旨在经过每次迭代开始时重置优先级来简化这种适应,这在Scrum术语中称为“Sprint”。学习

在这里,你们来看一个Scrum的核心概念——冲刺(Sprint),冲刺是用2到4周的时间来完成必定量的工做。Sprint有助于将项目范围分解为更容易管理的任务,并更频繁地交付组件正常运行的软件。测试

在冲刺阶段,开发团队只需专一于每一个sprint中应完成的任务,这为项目规划阶段提供了极大的灵活性。新冲刺开始时,开发团队会从新规划本次冲刺的任务,规划时须要考虑到上个冲刺任务的完成状况以及项目的新需求。优化

▌Kanban是什么?设计

Kanban最早由Toyota 提出,旨在优化其工厂库存。在日语中,“Kanban”是指板或卡。在最初的应用中,一个库存愈来愈少的工厂部门会向仓库发送“Kanban”来请求补货。而后,仓库将“Kanban”发送给供应商以订购更多库存。

从这个例子中,你们能够看到Kanban专一于当前容量,这也是用在软件开发的主要概念。与Scrum不一样,Kanban没有时间限制,相反,它限制了能够同时执行的工做量。

看板的主要指标之一是“正在进行的工做” 。Kanban表示,为了实现最高效率,正在进行的工做应进行限制以与团队的能力相匹配,从而下降任何出现瓶颈的风险。

看板也能很好地响应变化,由于能够在项目的任何阶段进行更改并添加到要执行的任务列表中。

Choerodon猪齿鱼团队就是使用敏捷Kanban方法来提高交付效率,具体如何使用可参考Choerodon猪齿鱼博客文章:猪齿鱼团队如何使用敏捷Kanban方法提高交付效率

Scrum与Kanban的主要区别

若是想比较Scrum和Kanban,你们须要看两个框架组织工做流的方式以及它们使用的主要实例和定义。

角色

角色的分配是Scrum和Kanban之间的第一个重大区别。在Scrum中,团队主要分三个角色:

产品负责人:负责产品的人。产品负责人分析客户对产品的需求,并将其转化为团队的任务。产品负责人还肯定任务的优先级,并决定什么时候能够发布特定的功能组件。

Scrum Master:负责Scrum过程的人。首先,Scrum Masters将Scrum原则引入其团队成员并协助他们实施。此外,Scrum Masters管理冲刺所需的人力资源分配。

开发团队:负责实际开发工做的人。由具有自我管理能力的人组成的跨职能团队。

反过来,Kanban对团队角色没有严格的要求,可能有一个产品负责人监督项目中积压的任务,但除此以外,团队是自组织的。

工做流程

正如上文提到的,Scrum开发在迭代中进行,定义了每次迭代中要完成的工做,而Kanban旨在限制当前正在进行的工做,没有特定的时间限制。下面列出这两种方法在实际应用中的含义。

▌Scrum流程

项目规划从定义项目待办事项开始,即为了交付产品而须要完成的用户故事列表。在这种状况下,Scrum使用如下主要概念来帮助使用者理解工做的计划和分配方式:

Product backlog:表明团队的主要“待办事项”列表。Product Backlog包括项目中须要完成的全部功能和bug修复。待办事项列表根据新需求或检测到的错误而不断更新。产品负责人负责Product backlog的工做,以便客户的反馈和建议与团队的工做进度保持同步。Product backlog的一些任务能够根据优先级排序,一些能够在需求改变时添加,一些能够删除。

Sprint backlog:要在冲刺中完成的任务清单。Sprint backlog的任务须要在sprint结束时交付已完成的功能或组件。虽然sprint backlog也容许必定的灵活性和修改,但sprint的目标应该保持不变,而且应该将更改保持在最低限度。

increment:sprint结束后可交付的可用产品。一般,sprint以已完成的功能或组件的演示为结束。在这方面,一个重要的概念是“完成”,它指的是每一个用户故事都要考虑其完整性。“完成”的定义可能根据用户故事而有所不一样:它可能包括多个任务,例如开发,测试,设计,文档和演示,也可能涉及不一样的团队成员。

每一个sprint都从规划阶段开始,在该阶段中计划下一个sprint的任务。对于规划,一般会有整个团队,包括产品负责人和Scrum Master在场。团队决定在sprint结束时他们能够提供什么,并从Product backlog中选择相应的用户故事。这样就造成了Sprint backlog 。

在冲刺期间,团队天天会开“daily scrum”(即每日站立会议),讨论他们的进展以及他们可能遇到的问题。站立会议的目的是尽早发现问题并快速找到解决方案,以避免破坏冲刺流程。

在冲刺以后,利益相关者将审查完成的功能。在sprint review期间 ,团队有机会收到有关其工做的反馈或变动建议。

与此同时,团队进行sprint retrospective meeting(回顾会议),分析他们所完成的冲刺并找到须要改进的问题。回顾以后,重置过程,新的sprint从规划阶段开始。

▌Kanban流程

在Kanban中,没有规定时间段来完成必定量的工做,相反,Kanban专一于平衡团队的能力与当前正在进行的工做。

Kanban流程从待办事项清单开始,包括应该完成的全部任务。每一个团队成员从待办事项中领取一个任务,并专一于完成它。任务完成后,成员选择下一个,依此类推,直到待办事项完成为止。待办事项按照优先级排序,最紧急的任务放在最顶层,由团队优先选择。

在Kanban中, 项目期间正在进行的工做量不超过团队的能力这点相当重要 。即kanban中的限制在制品原则。出于这个目的,能够根据成员工做能力为任何类型的工做设置限制。

产品负责人能够根据须要尽量多地设置和更改待办事项中的优先级,由于backlog management对团队的绩效没有影响。团队只须要关心正在进行的工做,只有在当前任务完成后才返回待办事项。

每项任务都沿着“待办事项” - “正在进行的工做” - “完成”路线行进。固然,Kanban也支持“完成”概念(即每一个任务被接受的标准)的自定义。

最终,完成的任务造成完成的组件,能够计算交付它们所需的时间。在Kanban中,它被称为 “cycle time”,周期的计算能提供许多优化点。固然,全部团队都在努力缩短周期,并寻找解决瓶颈的方法(若是有的话)。

在Choerodon猪齿鱼中,可对任务进行故事点与时间的评估,并在燃尽图中能很好的看到迭代工做时间的预期值与剩余值。

在这种状况下,让团队成员具备重叠技能相当重要。若是只有一我的拥有某种技能,例如若是你只有一个测试人员,那就是瓶颈,全部测试任务将排队等待产品交付过程当中的延迟。

总而言之,Scrum目标是在指定时间内完成预约工做,而Kanban监控以确保正在进行的工做永远不会超过设定限制。

选择哪个?

若是您一直在等待这个问题的肯定答案,答案可能会让您失望。到目前为止,本文列出这两种方法都有其优势,而且二者都有助于创建敏捷开发流程。下面将提供了一些指南,能够帮助您选择最适合您团队的方法。

使用Scrum:

  • 你能够相对轻松地将工做范围划分为可在两周内完成的逻辑块。
  • 你须要对整个项目具备高度的可预测性。Scrum专一于将sprint中的更改保持在最低限度。
  • 团队中有不少新成员。使用Scrum,他们将更容易理解团队纪律并进行改进。

使用Kanban:

  • 你但愿项目中有不少频繁的更改。
  • 很难离析出可在两周内交付的产品组件。
  • 你的团队训练有素,能够信任地在没有严格截止日期的状况下安排他们的活动。

然而,好消息是你能够随时结合!甚至还有一种名为 Scrumban 的方法,其中包含了Scrum和Kanban的方法。在Scrumban,你能够在短时间迭代中完成工做,并将进行中的任务数量保持在必定限度内,一旦进行中的任务低于限度时会触发新的迭代。

如你所见,选择项目管理方法能够像你但愿的那样灵活和自由。没有固定规则,您能够根据本身的项目进行调整,混合和匹配。实际上,选择过程当中的主要标准应始终是您的项目成功和团队对工做流程的满意度。

Choerodon猪齿鱼团队就结合了Scrum和Kanban方法,关于团队的敏捷实践相关信息,组织Sprint计划会议、每日站立会议、评审会、回顾会等敏捷会议可参考Choerodon猪齿鱼敏捷管理实践(三):敏捷会议,结合Choerodon平台敏捷管理模块进行冲刺管理可参考Choerodon猪齿鱼敏捷管理实践(二)——冲刺管理

本文译者 | 林岩芳 原文地址:https://da-14.com/blog/kanban-vs-scrum-choosing-best-agile-project-management-framework

关于Choerodon猪齿鱼

Choerodon猪齿鱼是一个开源企业服务平台,基于Kubernetes的容器编排和管理能力,整合DevOps工具链、微服务和移动应用框架,来帮助企业实现敏捷化的应用交付和自动化的运营管理的开源平台,同时提供IoT、支付、数据、智能洞察、企业应用市场等业务组件,致力帮助企业聚焦于业务,加速数字化转型。

你们也能够经过如下社区途径了解猪齿鱼的最新动态、产品特性,以及参与社区贡献:

相关文章
相关标签/搜索