看板是20世纪上半叶在日本汽车工业中发明的。受到超市如何根据需求进行货架存储的启发,丰田汽车的目标是减少库存并改善整个生产系统的流程。

David Anderson 在他的《看板:成功的技术业务变革》一书中,描述了如何将看板原理应用到软件开发中。这些原则是:

  • 从您现在的工作开始
  • 同意追求渐进式的变革
  • 尊重当前流程,角色,职责和头衔

这对敏捷软件开发意味着什么?

在我的培训课程中,我问与会者关于敏捷软件开发的知识。常见的答案是:“在Sprint中工作”,“有产品负责人”,“管理积压的用户案例”。人们受到当今最流行的敏捷框架Scrum的影响。

Scrum带有其自己的预定义角色,事件和工件。如果要调用正在执行的Scrum,Scrum要求您遵循《Scrum指南》中定义的规则。看板是不同的。

看板从您现在在公司中遵循的流程开始。可视化看板板上的步骤。它们可以涵盖您所做的一切,从构思到交付。

每个步骤都成为板上的一列标题。

什么是看板?定义的敏捷方法论,以及如何将其用于您的软件开发团队

要跟踪您的日常工作,最好将其分解为小件。也许最多可以在2天内实施的用户案例。将每个项目写在便笺上,并将其挂在板上。您可以使用板上的垂直顺序进行优先级排序。

卡从左向右移动。从事工作的人员将上一步中已完成的项目拉出。当他们有能力这样做时。因此,示例中的开发人员在有能力执行时将上载图像卡拉入Dev

追求渐进的,渐进的变化

因此,您创建了一个看板来显示您的过程吗?您使工作可见,这是一个很好的开始!

为了获得看板的好处,您需要做更多的事情。你需要:

  • 限制流程和队列中的工作
  • 观察并改善流量
  • 有效合作

限制流程和队列中的工作

限制在制品的意思是:您设置要处理的项目数的最大值。这就是所谓的在制品限制,或简称为WiP限制。这是看板,其中某些过程步骤具有WiP限制。

什么是看板?定义的敏捷方法论,以及如何将其用于您的软件开发团队

开发人员可以一次处理5个项目。最多。如果他们的栏中包含5个项目,则不允许他们再拉项目。这有两个后果。

首先:它鼓励人们完成工作,而不是开始更多的工作。尚未完成的已开始工作将承担风险。当您无法按计划发布软件时,您的客户会有多高兴?因为您开始研究所有这些很棒的主意,但是您没有接受这些主意?

限制进行中的工作的第二个结果是:瓶颈变得显而易见。当某个流程步骤开始无法完成的工作时,人们会立即感觉到它。因为下一个处理步骤将无法提取项目。

除了限制正在进行的工作之外,您还应该限制队列大小。在上面的面板中,它们显示为列之间的虚线。它的工作方式与限制进行中的工作相同。

总结:停止启动,开始完成是座右铭。从概念到交付的时间尽可能短。

观察并改善流量

首先,观察瓶颈会很痛苦。但是至少您知道主要问题在哪里。看板鼓励您通过消除瓶颈来改善流程。一致的流程使您能够更可靠地进行交付,这对包括开发人员在内的所有利益相关者都有好处。

为了观察流程,您记录卡进入流程步骤的时间。以及完成流程步骤的时间。因此,您知道卡在每个步骤以及步骤之间的每个队列中花费的时间。

根据数据,您可以设置指标以帮助您改善流程。常见指标包括:

  • 周期时间:从团队开始处理卡片(即Dev)到交付(即Release)的时间。改进此指标可以帮助您缩短上市时间。
  • 吞吐量:在给定时间内在系统中移动的卡的数量。改进此指标可以帮助您提高交付组织的绩效。

概述随着时间的推移在哪个处理步骤中有多少张卡的概述的一种常见方法是。理想情况下,每一步但最后一步的牌数会随着时间的推移大致保持不变。应安装已发行卡的数量。当图表偏离此范围时,您可能会遇到瓶颈。

什么是看板?定义的敏捷方法论,以及如何将其用于您的软件开发团队

有效合作

看板指标是一个强大的工具,可以分析和改善您的工作。但是如果没有人们的工作,他们就一文不值。参与过程步骤的每个人都应该对看板所创造的透明度持开放态度。

人们应该进行建设性的合作以消除瓶颈,而不是责怪个人。定期查看当前状态。有瓶颈吗?某个过程步骤是否有太多或更少的工作可用?吞吐量是否足够?还有其他不满根源吗?有什么需要改进的?

同意尝试对系统进行细微改动的实验。实现更改。稍后,看看实验是否按预期进行。为了能够实施更改,管理支持通常至关重要。

何时使用看板

看板非常灵活。它可以与称为Scrumban的 Scrum结合使用。可以在产品开发之外使用。您甚至可以使用它来计划行程或安排空闲时间的工作。

当无法或难以进行Scrum Sprint时,我发现它特别有用。示例:两家公司,其中一家是客户,另一家是供应商,因此交接是不可避免的。另一个示例是,当您处理涉及软件和硬件的产品时,涉及多个工程学科。

当开发以敏捷的方式进行时,看板也可以在您的公司内部使用,但并非公司的其他所有成员都可以使用。它可用于促进战略计划与软件开发之间的合作。

不要以为仅仅因为在实施Scrum时遇到麻烦,就没有办法变得更加敏捷。看板从您现在的工作开始。而且,如果您认真对待它,它将帮助您改善。一次只迈出一小步。