Scrumban:在Scrum和看板之间选择中间立场

内容贡献者凯特Eby

2016年8月22日

在敏捷宣言进入软件开发意识之后,敏捷方法开始出现,寻找一种将敏捷的价值观和原则付诸实践的方法。这些方法包括极限编程(XP)、Scrum、功能驱动开发(FDD)、精益软件开发、敏捷统一过程(Agile UP或AUP)、Crystal、看板、动态系统开发方法(DSDM)。

每种方法都有优点和缺点,都满足开发人员的需求,但有细微的区别。正如高德纳公司的安迪·凯特、大卫·诺顿和内森·威尔逊所解释的关于敏捷开发cio需要知道的10件事:在大多数商业和公共部门组织中,应用程序组合将呈现许多不同类型的开发问题,其中一些非常适合敏捷开发,而一些可能更适合增量式迭代开发,还有一些适合修改后的瀑布模型。敏捷并不是“更好”;它只是更好地适应了一些问题,但不太适应其他问题。”

目前,Scrum是软件开发中最流行的敏捷方法。然而,看板已被广泛应用于维护项目,在这些项目中,最终游戏不一定是项目的目标,而是不依赖于明确定义的backlog的持续开发。本文将讨论Scrumban如何成为Scrum和看板敏捷方法论之间的中间地带。为了充分理解Scrumban,你应该对Scrum和看板有一个完整的理解。

Scrum:优点和缺点

每种方法各有优缺点。Scrum是一种敏捷方法,它利用小团队在较短的开发周期(sprint)内协作工作,在每个有时间限制的sprint结束时交付工作软件。Scrum故意缩短计划过程,专注于在小块中快速开发可工作的软件。Scrum的一些优势包括:

  • 提高调度- Scrum克服了复杂的业务需求的问题,这些需求很难理解,并且会造成调度困难。Scrum评估需求的方法是将它们分解为快速开发的可消耗的部分。
  • 减少错误的影响-在一次Scrum中可能犯的错误会在下一次Scrum中迅速地重做和修复。
  • 改善沟通-每天的会议确保状态更新(进度和停顿)是可见的。事实上,开发的管理可以简化为使用任务板,在任务板中,Sprint待办事项列表与表示状态的列一起列在一个表中。
  • 提高生产率ob欧宝娱乐app手机下载-每日会议提高团队生产力。ob欧宝娱乐app手机下载
  • 建立更好的客户关系- Scrum的迭代特性意味着客户的参与和反馈非常重要,这使团队更了解客户的需求,反过来,团队也能对这些需求做出更积极的回应。
  • 提高软件-更改不是中断,而是提高软件价值的一种手段。

相反,Scrum的一些缺点包括:

  • 范围蠕变-如果一个项目没有一个明确的结束,并且更改是如此愉快,那么范围蔓延就会成为一个真正的问题。涉众常常想要添加越来越多的功能。
  • 不适合大型团队scrum最适合小团队。
  • 缺乏经验的团队成员可能是一个不利因素- Scrum的成功实施取决于团队成员能够估算开发时间。
  • 不适合事无巨细的管理者-当Scrum Master可以依赖于团队而不是过于控制时,Scrum才能发挥最佳效果。Scrum是关于个人一起管理他们的工作,而不是接受沉重的监督。
  • 人员流动可能是非常不利的——团队规模小,开发周期短,这可能会让人疲惫不堪。
  • 质量管理更加困难团队成员执行所有的测试,但回归测试有时被排除在循环之外,导致单元测试成为唯一执行的测试。

什么是看板方法?

看板由丰田的工程师大野太一(Taiichi Ohno)开发,它被定义为一种随着时间的推移逐步管理和改进服务提供的方法。看板方法有三个指导原则:

  • 从你现在做的开始
  • 同意追求渐进的、渐进的变化
  • 尊重当前的流程、角色、职责和头衔

看板有五个核心属性:

  • 可视化工作流
  • 限制在制品
  • 管理流
  • 明确管理和流程策略
  • 持续改进,也被称为Kaizen(使用模型和科学方法)

看板:优点和缺点

就像Scrum一样,看板也有自己的优点和缺点。看板的一些优点包括:

  • 优化资源配置在制品数量是有限的,所以当资源可用时,新的工作就会被拉进团队。欧宝体育app官方888
  • 简化项目管理-看板提供了所有工作状态的一目了然的可视化,使项目管理更加容易。
  • 减少中断-改变不那么激进,因为你与你的过程一起工作,并随着时间的推移改进它们。
  • 做出更明智的决定-可视化工作流使理解工作如何进行更容易,并使更改决策更容易。

看板的一些缺点包括:

  • 看板板必须是最新的-过时的看板会导致大问题。看板依赖于团队成员保持每件事的更新,而缺乏Scrum的每日会议,这可能更难做到。
  • 使看板过于复杂-当看板上有太多的项目或过程被跟踪时,它会导致混乱,使其难以准确更新。
  • 没有最后期限:如果没有开发的时间框架,团队就会落后

Scrum和看板:它们的区别

Scrum和看板是非常不同的。调和它们似乎是不可能的。Scrum有一系列规定的角色,包括Scrum Master、产品所有者和涉众。ob欧宝娱乐app手机下载相反,看板没有规定的角色。Scrum和看板都被视为“拉”系统,意思是团队成员从待办事项列表中拉出可以使用的特性。另一种观点是,由于待办事项列表的“批处理”特性,Scrum实际上是一个“推送”系统,在Sprint开始时,一组功能被分配给团队。看板被认为是一个不可否认的基于拉式的系统,在这个系统中,特性会根据需要不断地从待办事项列表中拉出。

Scrum有一个每日会议和几次必要的会议,例如向客户展示软件以获得反馈的演示。看板没有必要的会议。

也许Scrum和看板之间最显著的区别是,Scrum受到Sprint长度的限制,而看板没有开发的时间限制。没有明确的开始或结束,而是一个连续的工作流,每个成功的开发之后都是新的开发的开始。

尽管Scrum被认为是简单和灵活的,但一些开发团队发现它对他们的敏捷业务来说太死板了。同时,他们发现看板太宽松了。Scrumban是作为Scrum和看板之间的中间地带而诞生的——Scrum的刚性与更为宽松的看板相结合,已经成为许多敏捷组织的完美方法。

Scrumban方法:两全其美

Scrumban是由软件开发方法论爱好者Corey Ladas在他的《Scrumban:精益软件开发看板系统的文章》一书中介绍的。他断言Scrumban的创建是为了将开发团队从Scrum过渡到Lean(依靠构建、度量、学习流程进行持续改进,只关注为客户带来价值的东西)或看板。但是,虽然其目的是让团队取代Scrum,但它已经成为一种独立的方法论,结合了Scrum和看板的元素。应该根据环境和组织的需要做出用Scrumban取代Scrum或看板的决定。

Scrumban最常用于开发和维护项目中。在实践中,开发和维护团队都需要许多相同的技能。开发团队需要一种管理他们整个开发过程的方法,而维护团队必须能够对有问题的软件进行更新和修复。

Scrumban与Scrum的比较

  • 迭代:迭代是Scrum的决定性特征,而Scrumban采用了连续工作流的看板方法——迭代是可选的。
  • 团队角色:Scrum定义了开发团队成员在一个开发项目中承担所有角色的角色,而Scrumban只在需要时要求角色。
  • 可视化:Scrum可以使用一个板,但主要依赖于积压和消耗图,而Scrumban,像看板一样,依赖于Scrumban板来保持工作的可见性。
  • 会议:Scrum和Scrumban都举行日常会议,但Scrumban中没有Sprint或发布计划会议和回顾会议。Scrumban拥抱按需规划。
  • 估计:Scrum团队必须估计(通常使用桶大小的计划系统和故事点)工作所需的时间,以满足Sprint的承诺,而Scrumban没有时间限制。相反,随着时间的推移,当团队完成更多的任务时,评估变得明显起来。
  • 在制品:Scrum在制品完全由Sprint backlog定义,并在每个Sprint开始时进行规划,而Scrumban团队将在制品限制在可用资源范围内。欧宝体育app官方888
  • 变化:变更在Scrum中是受欢迎的,因为它可以在随后的Sprint中得到响应和计划,但在Scrumban中,变更是即时响应的。sprint和积压的缺乏意味着对引入任务的时间没有限制。改变变成了一种可用的资源来承担改变的问题。
  • 功能冻结:尽管Scrumban可以即时响应更改,但它有一个限制。Scrumban采用特性冻结——一个截止时间,在此时间内由于项目截止日期的临近而不能添加更改或附加特性。
  • 分类:因为Scrumban不包含估计,所以分类阶段是关键的。随着项目截止日期的临近,Scrumban分类使项目经理能够终止不太重要特性的工作,以便按时完成基本特性。

Scrumban与看板的比较

  • 团队角色:看板没有规定的角色,但在Scrumban中有一个明确的团队,并且可能有必要的角色。
  • 会议:看板不需要开会,但是Scrumban包含每天的会议。每天的会议有助于保持团队成员之间的协作,并克服前进的障碍。此外,虽然看板是一个发展的过程,但没有规定的会议来检查发展或建议的改进。Scrumban允许事后分析,使团队能够改进流程,并使团队成员能够分享他们从工作中学到的东西。
  • 指标:看板和Scrumban都依赖于度量前置时间和周期时间(有时可以互换使用)作为它们的关键度量。这个指标估计完成特定任务所需的平均时间。前置时间是客户从提出请求到交付的时间。周期时间是从工作开始到交付的时间。

什么是引入Scrumban的最佳环境?

您可能想知道什么样的环境最适合引入Scrumban。与所有方法一样,Scrumban并不适用于所有环境或文化。如果你的组织最适合Scrum,有许多经验丰富的成员,想要参与开发过程的客户,对用户故事有清晰的理解,并且你的企业文化高度重视定义好的项目管理和时间表,那么你可能会想要坚持Scrum。如果您主要在一个维护环境中工作,其中新开发只是团队活动的一小部分,工作正在进行,根据需要提取任务很重要,并且没有为特定客户定义项目,那么您可能希望坚持看板。

实施Scrumban的最佳时间是:

  • 一个项目对用户描述和优先级的重做有大量意想不到的更改。
  • 您希望在Scrum开发过程中添加拉功能。
  • Scrum之所以不成功,要么是因为有很多问题,要么是因为没有足够的资源满足Scrum的时间限制。欧宝体育app官方888
  • 工作是事件驱动的,例如帮助台支持,优先级不断变化。
  • 该团队完全专注于增加功能和支持现有产品。ob欧宝娱乐app手机下载
  • 您的开发团队使用Scrum,但您对看板的一些原理感兴趣。
  • 你会发现Scrum的某些僵化限制了你的团队适应变化的能力。
  • 您正在向看板过渡,但需要对方法进行小的更改,以限制中断。

Scrumban的最终结论总是团队对该方法的反应。Scrum非常适合那些喜欢更多结构并想知道他们明天要做什么的团队。Scrumban的主要好处是模型的流动性。最后,就像任何开发方法一样,公司和团队的投入将决定成功。

为什么Smartsheet是Scrumban的有效工具

通过设计一个灵活的平台来满足团队的需求,并根据这些需求的变化进行调整,使你的员工能够超越这些需求。

Smartsheet平台可以方便地在任何地方计划、捕获、管理和报告工作,帮助您的团队更有效地完成更多工作。报告关键指标,并在工作发生时通过滚动报告、仪表板和自动工作流来获得实时可视性,以保持团队的联系和消息灵通。

当团队清楚要完成的工作时,没有人知道在同样的时间内他们能多完成多少。今天就可以免费试用Smartsheet。

了解为什么超过90%的财富100强公司信任Smartsheet来完成工作。

免费试用Smartsheet 获得一个免费的Smartsheet演示