看板核心原则和实践

什么是看板

看板是敏捷软件开发方法论中非常流行的开发框架。它主要使用物理和数字电路板来允许团队成员可视化他们正在工作的项目的当前状态。

看板起源于20世纪40年代的丰田。看板是工作流状态、团队成员正在执行的实际任务的演示。

在本看板教程中,将了解:

  • 什么是看板
  • 什么时候使用看板
  • 看板工作流
  • 看板的四个原则
  • 看板六大核心实践
  • 提前期和周期时间
  • 累积流程图(CFD)
  • 限制 WIP(Work-in-progress)
  • Scrum vs.看板

什么时候使用看板

以下是使用看板开发方法的原因:

  • 看板可以在任何领域使用,并且在软件开发中可以非常有效地使用。看板项目管理有助于提高团队的效率。
  • 这是一个基于拉动的系统。一旦结束,看板就会被取消。
  • 当想在任何时候发布工作时,应该使用看板。
  • 当想改变优先顺序时,应该使用看板。为此,需要做的就是将此事放在待办事项队列的顶部。
  • 当想要可视化工作,并且想要直观地查看任务的进度时,可以用它。

看板卡

看板系统将工作可视化。最好使用物理板和数字板。

Kanban Cards
Kanban Cards

看板卡

看板卡片是看板上必不可少的部分,因为它代表团队正在进行的工作。这些卡片上有

  1. 优先级
  2. 执行人
  3. 类型
  4. 到期时间

看板中的一列代表工作进度,可以在列上设置WIP(正在进行的工作)限制。WIP限制是指可以留在该列上的最大卡数。

由于看板项目管理使用基于拉式的系统,当开发人员有空时,可以将卡片从待办事项列拉到开发列。

看板

看板是一个敏捷的项目管理工具,它帮助实现看板来管理个人和商业目的的项目。它还有助于使用卡片表示列的工作阶段。

它具有表示工作状态的列,如下所示

  1. 去做,
  2. 开发
  3. 测试
  4. 完毕

这些列中的每一列都可以有卡片 <= WIP 限制。卡片代表实际工作。

可以使用正数来限制在制品,并且可以将此限制数放置在物理和数字看板的列顶部。团队中的任何个人都可以管理他的卡片状态,整个团队都可以可视化工作流程。接下来在本看板教程中,将了解看板工作流程。

看板工作流

看板工作流是帮助团队在看板中定义不同的政策和原则的一组步骤。它表示看板工作流由从开始到交付特定任务之间的逐步过程组成。

看板遵循的基本原则是“ 停止启动,开始完成 ”。在任何现代工具(如JIRA)中都有可定制的看板工作流和状态。

下面是许多软件团队在工作流管理中遵循的基本状态。

状态 对任务的理解
待办事项 任务在此状态下首次到达此处。
准备好进行分析 全面分析任务并添加需求。
已做好开发准备 分析完成,可以开始开发。
在开发中 任务正在制定中。
准备好进行测试 开发完成,现在可以开始测试了。
在测试中 正在测试任务。
准备发布 测试已完成;可能会发布。
发布/完成 发布

看板的四个原则

以下是看板的四个主要核心原则:

  1. 从现在拥有的开始:看板系统建议循序渐进,从目前拥有的开始。既然它的实践之一是不断改进,就必须逐步改进这个系统。

  2. 同意追求渐进式变更:看板建议在流程中进行渐进式变更,并且不能一下子在流程中进行大的变更。

  3. 尊重当前的流程、角色和职责:同样,从现在拥有的开始,以渐进的方式更改流程、角色和职责。

  4. 鼓励各级领导行为:每个人都可以充当领导者,并提供想法,以提高整个看板系统的效率。不应该认为这是一个管理层的活动,即使是团队中最年轻的成员也可以充当领导者。

看板六大核心实践

以下是看板的主要六个核心实践:

  1. 可视化工作流:这个原则建议使用看板(物理的或数字的)来可视化工作流。它在团队内部带来了很大的透明度,也使得解决拦网障碍变得更容易。

  2. 限制进行中的工作:看板是一种基于拉式的系统,它可以提高团队的效率,从而限制进行中的工作,并让团队在给定的时间框架内完成任务。可以使用正整数将限制应用于列的顶部。

  3. 关注流程:这个原则关注流程和任何中断。如果出现中断或阻塞,则必须永久修复。

  4. 明确的策略:可以在团队中建立策略,以减少返工,并将重点放在需要注意或更有效的领域。

  5. 反馈循环:反馈循环在看板中非常重要。不是这样的,这有助于改善看板系统的整体健康状况。

  6. 持续改进:这是看板系统的核心原则。它指出,总是可以改进流程,这将带来更高的效率。

拉式的系统

看板是一种基于拉式的方法,其中任务被拉出而不是被推入。一旦完成了当前的卡片,就可以从看板的上一栏中拉出一张新的卡片。

有了WIP限制,看板有助于改善提前期和周期。在这种情况下会发生什么?总会有很多需要测试的卡,它们会闲置等待。

为了克服上面提到的问题并提高效率,看板遵循基于拉式的方法和WIP限制,其中拉出的卡片数量有限。

因此,测试人员在完成手头的当前任务后,会将任务从“准备测试”阶段拉出。有了看板列(开发阶段)中的WIP限制,看板工作流中不会有很多无人值守的卡片。

基于拉力的系统还有助于为团队找到正确的速度。有了合适的速度,团队会表现得更好。

提前期和周期时间

看板法中,提前期和周期时间被广泛使用,两者是有区别的,了解这一点很重要,避免念力。

交付期 周期时间
交付期是指任务从到达工作流到离开工作流之间的时间,这意味着任务已经释放。 周期时间是指任务到达“进行中”状态到任务到达“准备发布”之间的时间。

在这里,理解不包括准备发布和实际发布之间所需的时间也很重要。

周期时间 = 进行中的工作/吞吐量

在理想情况下,提前期和周期时间之间的差距应该是最小的,看板使用累计流程图(CFD)来衡量提前期和周期时间历史数据。

累积流程图(CFD)

CFD是一个图表,可以在所有领先的工作流管理工具(如JIRA)中使用。此图表测量随着时间推移进入工作流程并累计已完成的卡/任务的工卡/任务总数。

它可以帮助估计预先指定时间的平均提前期和周期时间。

CFD图表将提供需要修复的指示器或问题区域。它将使可以修正团队的交付期和周期时间。

Kanban Cumulative Flow Diagram
Kanban Cumulative Flow Diagram

看板累计流程图

  1. 交付期:指从新卡到达工作流到其最终离开工作流之间的持续时间。
  2. 周期时间:从卡片到达工作状态到卡片准备释放之间的一段时间。
  3. WIP:在制品(Work in Process,WIP)限制工作流不同阶段的最大工作项数量。
  4. 吞吐量:它是实际性能,它告诉在给定的时间范围内交付的卡的实际数量。

吞吐量=在制品/周期时间

限制 WIP(Work-in-progress)

在看板开发方法中,WIP限制了团队成员或整个团队一次可以处理的任务/卡片的数量。

WIP限制确保团队稳定他们的工作并增加预测性,这在基于拉式的系统中是必不可少的。通常,在制品限制由团队自己决定。

设置WIP限制的原因:

以下是设置在制品限制的原因:

  • 它将重点转移到完成事情上,因为个人一次只专注于一项任务。
  • 它帮助团队了解他们的能力。
  • 它提高了生产率、提前期和周期时间。
  • 它有助于避免堆积如山的任务(处于等待模式)。
  • 它有助于工作流的移动和任务的持续移动。
  • 这也有助于解决障碍,因为个人不会在不同的任务之间切换。

Scrum vs 看板

以下是Scrum与看板之间的重要区别。看板

Scrum 看板
Scrum强调规划。它从Sprint计划开始,以Sprint回顾结束,召开了许多会议来帮助确保团队与下一步、优先顺序以及从以前的Sprint中学到的东西保持一致。 看板愿意在旅途中做出改变。这意味着不那么僵化,事情可以经常变化。
它建议收集在冲刺过程中进行的时间测量 看板推荐使用图表来了解团队随时间推移的进展情况。
Scrum不再要求团队做出承诺。相反,它是关于冲刺目标和预测的。 看板依赖于时间盒子和预测。
它强调计划,因此评估在Scrum中起着非常重要的作用。 看板对估算没有强制性要求。
每个人都有自己的角色和责任。 没有固定的角色,因此在个人职责方面具有灵活性。
迭代/冲刺的持续时间是固定的。持续时间从2周到1个月不等。 看板不是基于工期的。这件事是根据循环时间来衡量的。
团队被要求承担特定数量的工作。 承诺不是必须的,对团队来说是可选的。
在这种方法中,跨职能团队很重要,因为他们可以处理可能导致软件开发瓶颈的任何中断。 拥有专业的团队很重要。
无法将项目添加到正在进行的小版本中。 如果额外容量可用,可以轻松添加新项目。
Sprint Backlog只属于一个团队。 多个团队可以共享看板。
可交付成果由冲刺决定,必须完成一组工作并准备好进行审查。 产品和流程在需要的基础上持续交付。因此,测试和审查过程同时进行。
Scrum软件开发方法侧重于积压。 看板方法完全专注于流程仪表板。
每个团队成员在Scrum主控决定时间表、产品负责人设定目标和目的以及团队成员领导开发工作方面都有特定的角色。 团队没有预定义的角色。如何鼓励团队合作和共同工作。
最适合优先级不断变化的项目。 非常适合具有稳定优先级且不太可能随时间变化的团队。
通过短跑使用速度来测量产量。 使用周期时间或完成一个完整项目所需的确切时间来衡量生产。
Scrum需要从传统模型完全转变为项目要实现的敏捷Scrum模型。 看板不允许在项目中进行剧烈的更改。
对于优先级变化很大的项目来说,这是一种理想的方法。 最适合具有稳定优先级的团队。
在Scrum中,整个团队都专注于协作和完成任务,以提供质量开发工作。 团队努力实现目标,减少完成整个过程的时间。因此,时间周期的缩短是这里成功的最大指标。
Scrum强调其时间表;不能将新项目添加到正在进行的迭代中。 看板本质上更具迭代性,因为它没有具体的时间框架。这样,只要有额外的容量可用,就可以不断添加新项目。
全部工作是分批/冲刺完成的。 整个项目都是在单线程工作项流的移动上执行的。
Scrum master充当问题解决者。 看板鼓励每个团队成员都是领导者,并在他们之间分担责任。
Scrum规定了有时间限制的迭代。 看板专注于为单个迭代计划不同的持续时间。
Scrum帮助公司节省时间和金钱。 看板方法注重持续改进、生产率和效率。
在各个层面实现稳定一致的绩效沟通。 由于看板的视觉特性,团队成员更容易实现他们的目标。
在Sprint评审期间对项目进行编码和测试 由于看板的视觉特性,团队成员更容易实现他们的目标。
因为短时间的冲刺和定期的反馈,所以更容易适应不断的变化。 它是为定期、稳定的产量而设计的,客户需求的重大变化会使看板失败。
该项目的总成本最小,这可能会导致更快和更便宜的结果。 如果一项任务没有正确估计,项目总成本就永远不会准确。在这种情况下,任务可以分散到几个冲刺阶段。
这种方法只需要有经验的团队成员。因此,如果团队由不是专家的人组成,项目就不能按时完成。 没有为每个阶段分配具体的时间框架,因此团队成员永远不会知道他们在每个阶段可以花费多少时间。
在这种敏捷Scrum方法中,更容易在预定的时间交付高质量的产品。 它是为定期、稳定的产量而设计的,客户需求的重大变化可以使看板下降。
即使团队成员离开团队,项目计划也不会被打扰。 如果任何团队成员在开发过程中退出,可能会影响项目开发。
日常会议有时会让团队成员感到沮丧。 过时的看板可能会导致开发过程中出现问题。

大型项目可以很容易地划分为易于管理的冲刺项目。

总结:

  • 看板定义:看板被定义为开发软件、汽车、商品、药品、鞋子或任何其他制造工作的敏捷开发方法。
  • 看板使用看板来可视化工作。它使用列作为阶段(待办事项、开发、测试等)并将卡片作为工作项。
  • 看板方法支持用于可视化的物理板和数字板。
  • 看板是一个基于拉式的系统,团队成员将卡片从前一阶段拉到当前阶段。
  • 看板方法使用CFD图来了解团队的提前期和周期。此图表帮助团队修复这两个计时之间的差距并提高效率。
  • 根据看板开发方法,WIP限制了团队成员或整个团队一次可以处理的任务/卡片的数量。
  • WIP限制将重点转移到完成事情上,因为个人一次只专注于一项任务。

IT赶路人

专注IT知识分享