InfoQ

新闻

比较Kanban和Scrum

作者 Mike Bria 译者 麦天志 发布于 2009年5月18日 上午8时43分

社区
Agile
主题
敏捷实施,
敏捷技术
标签
精益,
Scrum

看板开发方式是近年引起很多讨论和注目的一种敏捷开发实施,有不少人问到「看板开发方式如何跟Scrum比较?」,Henrik Kniberg就尝试回应这问题。

Henrik Kniberg最新发表 比较看板开发方式和Scrum的"实务指引" ,Kniberg在这精要的文章中指出看板开发和Scrum如何类似以及如何不同。

文章开始以一个清单介绍两种方式:

Scrum简介
把组织细分成小組、跨功能、自我组织团队。
把工作细分成细小、实在的交付成果,交排人员负责需求清单以及跟据重要性排优先级别,由团队估算每个项目相对工量。
把整个开发时间分成固定时长的短迭代(通常于一至四星期),在每个迭代后演示新增可发布功能。
优化发布以及跟客户一起更新优先级别,基于每个迭代后发布的观察。
优化过程,在每个迭代之后进行回顾

详情可参考"Scrum and XP from the Trenches",这本书供免费下载。我认识作者,他很友善 :o) http://www.crisp.se/ScrumAndXpFromTheTrenches.html
(译者注:中文版由李剑翻译,作者译者我也认识,他们都很友善的 :o) http://www.infoq.com/cn/minibooks/scrum-xp-from-the-trenches

看板开发方式简介
工作流程形象化
  • 把工作细分成任务,写在卡纸上,贴在墙上
  • 命名好,來显示任务在工作流程中的狀況
限制“在制品”(work in progress,简称 WIP) – 明确设定限制在每个状态下同一时间能有多少工作任务
生产周期(即完成一个任务的平均时间),优化开发过程,缩短开发周期和使它更易于预测。

详情可参看Karl Scotland的介绍:http://availagility.wordpress.com/2008/10/28/kanban-flow-and-cadence/

在之后二十多页中,Kniberg仔细地比较两者的分别,在文章最后总结他的观点:

相似

  • 两者都符合精益和敏捷思考
  • 两者使用"拉动式"安排日程
  • 两者限制开发中工作数目
  • 两者是透过透明度来驱动过程开进
  • 两者集中提早及衡常的付运软件
  • 两者基于自我组织团队
  • 两者要求把工作细分
  • 在两个情况下发布计划都是基于经验数据(速度/开发周期)持续优化

分別

Scrum 看板开发方式
要求定时迭代 没指定定时限迭代,可以分开计划、发布、过程改进,可以事件驱动而不是限定时限
团队在每个迭代承诺一定数目的工作 承诺不是必须的
以速度(Velocity)作为计划和过程改进的度量数据 使用开发周期作为计划和过程改进的度量数据
指定跨功能团队 没有指定跨功能团队,也容许专门团队
工作任务细分,可于一个迭代中完成 没有指定工作任务大小
指定使用燃烧图 没有指定任何图表
间接限制开发中工作(每个迭代) 设定开发中工作的限制(每个工作流程状态)
规定估算过程 没有指定任何估算方式
在迭代中不能加入新工作任务 只要生产力容许,可以随时加工作任务
由单一团队负责 Sprint Backlog 多个团队和团员分享看板
指定三个角色(产品负责人/ScrumMaster/团队) 没有指定任何团队角色
Scrum board 在每个迭代后重设 看板反映持久开发情况
规定优先化的 product backlog 优先级是非必须的

如果您也曾有此疑问,或者朋友也有类似问题,也许应该花些时间读Kniberg的" Kanban vs Scrum "文章。

查看英文原文Comparing Kanban To Scrum

“把工作细分成任务”的阶段发生在何时? 发表人 Yi Xu 发表于 2009年5月26日 上午4时41分
  1. 返回顶部

    “把工作细分成任务”的阶段发生在何时?

    2009年5月26日 上午4时41分 发表人 Yi Xu

    如题。

深度内容

模块化Java:声明式模块化

本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。

Ian Robinson和Jim Webber谈论基于Web的整合

本采访是在伦敦举行的QCon2009上记录的,Ian Robinson和Jim Webber探讨了如何将Web作为整合平台以及REST在理论上和实践中的好处。

项目管理修炼之道(精选版)

项目管理对于项目成败至关重要,但实践中每个项目都有自己的独特性,没有现成的解决方案可以套用。书中从应对实际风险的角度出发,讲述了从项目启动、项目规划到项目结束的整个管理流程,展示了作者的思考过程。本迷你书从原书中精选出5个章节。

那是鸟,还是飞机?不,那是超人!

在这个演讲中,Fred将会揭示敏捷的一些外在因素,并会重点关注敏捷获得成功的内在原因。从案例研究和真实的项目经验来看,Fred认为:工具、管理体系都不能让你变得敏捷。敏捷的成功,植根于士气高涨、充分授权的工作者身上,他们能够以不同以往的方式思考问题。

访谈和书摘:Eben Hewitt的新书《Java SOA Cookbook》

Java SOA Cookbook

Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构。Eben在书中讨论了SOA基础、工具、最佳实践和SOA治理等主题。

Mark Richard的《Java消息服务》第二版

Mark Richards的新书《Java消息服务》第二版覆盖了JMS的许多主题, 包括发布和订阅模式以及点对点模式,消息过滤和事务等。InfoQ与Mark谈论了跟他的新作。

模块化Java:动态模块化

本文是“模块化Java”系列文章的第三篇,讨论动态模块化,内容涉及如何解析bundle类、bundle如何变化、以及bundle之间如何通信。

让测试也敏捷起来

对于测试组织来说,敏捷方法带来的快速迭代却让测试本身变得困难起来:缺乏“足够详细的文档”,缺乏“仔细设计用例的时间”等等。在本演讲中,段念将与大家探讨如何在敏捷过程中进行测试。