跳至内容
软件开发

看板

如何使用看板方法进行软件开发

浏览主题
Scrum
看板
敏捷项目管理
产品管理
大规模敏捷性
软件开发
设计
敏捷营销
敏捷开发优势
敏捷团队
敏捷开发教程
敏捷对话
关于敏捷教练
Jira board

免费开始使用 Jira 的看板模板

查看和推进最重要的工作,最大限度地提升效率。

什么是看板?

看板是用于实施敏捷DevOps 软件开发方法的热门框架。采用看板时,团队需要实时沟通产能并保证工作完全透明。工作项目在看板上直观显示,方便团队成员随时查看每项工作的状态。

what-is-kanban-compressed

看板精选内容

[续]

使用看板流程优化软件开发

看板流是敏捷开发和 DevOps 方法的基石,它通过可视化的工作流协调无缝任务进展,从而提高效率。看板流借鉴了超市的精简库存管理理念,确保任务在需要时准确地通过开发流程。

任务在看板上可视化,以卡片的形式呈现,支持透明地跟踪进度,并迅速识别瓶颈。通过限制进行中的工作 (WIP),团队可以优化资源分配并保持稳定的工作流。看板通过控制图和累积流图等指标促进对持续改进的关注,从而使团队能够不断完善工作流。

软件开发中,看板流可通过专注、不间断的工作,促进动态任务管理,缩短交付周期,并提高客户满意度。从本质上讲,看板流是效率的缩影,是透明度、适应性和持续改进的和谐统一,释放了敏捷方法的全部潜能。

构建您的看板流程

在软件开发团队中建立结构化的看板流程对有效实施看板至关重要。这能确保任务顺利进行,优化工作流管理。以下是看板流程的构建方法:

可视化工作流:首先,在看板上可视化团队的工作流。无论是实体面板还是虚拟面板,都应描述从任务开始到完成的整个开发流程的每个阶段。

实现工作流标准化:根据团队的流程和要求定义工作流阶段并使其标准化。常见的阶段包括“待处理”、“进行中”和“已完成”,但也可根据需要进行自定义,以反映您独特的工作流。

识别障碍和依赖关系:确保您的看板能够立即识别障碍和依赖关系。这种透明度有助于迅速解决问题,并防止工作流中断。

设置进行中的工作 (WIP) 限制:对每个工作流阶段实施 WIP 限制,以避免负担过重,并保持稳定的工作流。WIP 限制有助于优化资源分配并减少多任务处理,从而提高工作效率。

鼓励协作:在团队中培养协作文化,让团队成员共同解决瓶颈问题,齐心协力确保工作流顺利进行。这种协作方法可以提高效率,加快任务完成。

使用看板卡片:在看板上用看板卡片表示每项任务,其中包含任务描述、经办人和预计完成时间等基本详细信息。看板卡片便于对任务进度进行可视化跟踪,提高团队内部的透明度。

通过这种方式构建看板流程,您可以简化软件开发流程,增强团队协作,并最大限度地提高任务管理的效率。

探索看板的起源

看板在当今的敏捷与 DevOps 软件团队中具有突出作用,但看板方法可追溯到 50 多年前。20 世纪 40 年代末,丰田公司开始按照超市的货架囤货方法优化其工程流程。

超市的库存刚好能满足消费者的需求,而此做法可优化超市与消费者之间的货物流通。由于库存水平与消费模式相匹配,超市便可随时减少必须持有的多余库存,从而显著提高库存管理效率。同时,超市还能确保基本产品始终有货。

当丰田公司将此系统应用于其工厂车间时,其目标是使其超大的库存水平与材料的实际消耗量更好地保持一致。为了在工厂车间(以及向供应商)实时传达产能水平,工人们会在各团队之间传递一张卡片,即“看板”。

当有人清空了生产线上使用的一箱材料时,就会将一张看板卡片传递给仓库,而该卡片会说明需要哪些材料以及所需材料的确切数量等等。随后,仓库会另行准备好一箱此材料,然后将其发送到工厂车间,同时再将自己的看板发送给供应商。虽然此流程自 20 世纪 40 年代以来在不断发展,但与此同源的“实时”(JIT) 生产流程仍是看板方法的核心所在。

面向软件团队的看板

如今的敏捷软件开发团队可利用 JIT 原则,将进行中的工作 (WIP) 量与团队的产能相匹配。此举可为团队提供更灵活的规划选项、更快的产出、更明确的持续改进重点,以及贯穿整个开发周期的透明度。

Kanban Board | Atlassian agile coach

虽然看板框架的核心原则不受时间限制且适用于几乎所有行业,但软件开发团队仍在敏捷开发实践方面取得了特殊的成功。与在工厂车间应用看板(其中涉及更改物理流程和增加实质性材料)不同,软件团队唯一需要的实体物质就是面板和任务卡片,甚至这些内容都可以是虚拟的。

看板

所有看板团队的工作都围绕着看板面板展开,而看板面板是一种用于可视化和优化跨团队工作流程的工具。虽然实体面板在一些团队中很受欢迎,但虚拟面板在所有敏捷软件开发工具中均至关重要,因为它具有可追溯性、协作性和多地点可访问性。

无论团队使用的是数字看板面板还是实体看板面板,它都能确保团队对工作进行可视化、对工作流程进行标准化,并立即识别和解决所有障碍和依赖问题。基本看板面板有一个三步工作流程:待办、进行中和完成。但是,根据团队的规模、结构和目标,它们可绘制工作流程图,以满足其特殊流程。

由于看板方法依赖于工作的完全透明和实时沟通,因此看板面板可作为团队工作的单一事实来源。

Agile Kanban Board | Atlassian agile coach

看板卡

在日语中, 看板的字面意思是“布告板”。看板团队用面板上的单独卡片来表示每个工作项目。在看板面板上用卡片来表示工作的主要目的是,让团队成员以高度可视化的方式跟踪工作流中的工作进度。

看板卡片包含有关项目任务的关键信息,可让团队了解谁负责哪些任务、任务的简要说明以及任务预计需要多长时间。虚拟看板上的卡片通常还会提供屏幕截图和对经办人有价值的其他技术详细信息。

使团队成员能够随时查看每项任务的状态以及相关详细信息,从而提高专注度,提供全面的可追溯性,并快速识别障碍和依赖关系。

看板框架的优势

看板是当今敏捷团队使用的最热门的软件开发方法之一。看板可为各种规模的团队提供任务规划和吞吐量方面的额外优势。

规划灵活性

看板团队只关注正在进行的工作。一旦团队完成一项任务,它们便会从待办事项列表中选择下一项任务。产品负责人可自由调整待办事项列表中各项工作的优先级,而不会干扰团队;因为当前工作项目之外的任何变更都不会影响团队。

只要产品负责人将最重要的工作项目置于待办事项列表的顶部,开发团队就一定能给企业带来最大价值。

status-exclaim
专业提示:

聪明的产品负责人在考虑更改待办事项列表时,总会让开发团队参与进来。例如,如果用户故事 1-6 在待办事项列表中,那么用户故事 6 的预估工作量可能会视用户故事 1-5 的完成情况而定。与工程团队确认变更以确保不出意外始终是不错的做法。

缩短时间周期

对看板团队来说,周期时间是一项关键指标。周期时间是指一个工作单元通过团队工作流所花费的时间 - 从工作开始的那一刻起,到工作交付的那一刻结束。通过优化周期时间,团队可以充满信心地预测未来工作的交付情况。

技能包重叠可以缩短周期时间。如果只有一个人拥有技能,这个人就会成为工作流中的一个瓶颈。因此,团队会采用代码审查和指导等最佳实践来帮助传播知识。共享技能意味着团队成员可以承担异质性工作,从而进一步优化周期时间。

此外,这种方法还能让整个团队共同解决任何工作瓶颈问题,促进问题的迅速解决,并确保工作流顺畅运行。例如,测试职责不仅限于质量保证工程师,还需要开发人员的参与,从而促进协作以保持效率。在看板系统中,整个团队协力确保工作在流程中顺利进行。

减少瓶颈

多任务处理会降低效率。工作量的增加会同时导致更频繁的情境切换,阻碍任务的完成进度。正因如此,看板流程的一个重要原则是限制进行中的工作 (WIP)。进行中的工作限制凸显了团队流程中因缺乏重点、人员或技能包而造成的瓶颈。

例如,典型的软件团队可能有四种工作流状态:“待处理”、“进行中”、“代码审查”和“完成”。他们可以将代码审查状态的 WIP 限制设置为 2。这个限制看似很低,但其实是有充分理由的。

开发人员通常更愿意编写新代码,而不是花时间审查别人的工作。低限制会鼓励团队特别关注处于审查状态的事务,并在提出自己的代码审查之前审查他人的工作,最终缩短整体周期时间。

可视化指标

核心价值观中有一条着重强调了要在每次工作迭代中不断提高团队效率和有效性。而图表为团队提供了一种可视化机制,确保他们能够继续改进。

当团队能够看到数据时,就更容易发现流程中的瓶颈,并消除这些瓶颈。看板团队使用的两种常见报告是控制图和累积流图。控制图显示了每个事务的周期时间以及团队的滚动平均值。

status-exclaim
专业提示:

团队的目标是缩短事务在整个流程中的处理时间。看到控制图中的平均周期时间下降,就说明成功了。

Agile control chart | Atlassian agile coach

累积流图可显示处于每种状态的事务的数量。当任何指定状态下事务的数量增加时,团队可以轻松发现障碍。处于“进行中”或“审查中”等中间状态的事务尚未交付给客户,当工作向上游合并时,这些状态中的障碍会增加出现大规模集成冲突的可能性。

Cumulative Flow Diagram

持续交付

持续交付 (CD) 描述了向客户频繁发布工作的流程。持续集成 (CI) 是指在一天中以增量方式自动构建和测试代码的实践。它们共同构成了 CI/CD 管道,而它对于 DevOps 团队在确保高质量的同时更快地发布软件至关重要。

看板和 CD 能完美互补,因为这两种技术均注重价值的实时(一次性)交付。团队向市场交付创新的速度越快,产品的竞争力就越强。看板团队关注的正是这一点:优化向客户交付工作的流程。

Scrum 与看板

看板和 Scrum 有一些相同的概念,但采用的方法却截然不同。两者不应混为一谈。

Scrum

看板

发布方法

固定时长的冲刺(比如 2 周)

连续流

角色

产品负责人、Scrum 大师、开发团队

持续交付或团队自行决定

关键指标

速度

周期时间

变更理念

团队应尽量不在冲刺期间改变冲刺预测。否则会影响从预估所获得的信息。

随时可能发生变更

有些团队将看板方法和 Scrum 的理念融合为“Scrumban”。他们借鉴了 Scrum 中固定时长的冲刺与角色分工,以及看板中对进行中的工作限制和周期时间的关注。

对于刚刚开始使用敏捷方法的团队,我们强烈建议选择一种方法并使用一段时间。如果您的团队已经准备好使用看板方法,欢迎即刻使用我们的免费看板面板模板

Jira board

免费开始使用 Jira 看板模板

查看和推进最重要的工作,最大限度地提升效率。

Dan Radigan
Dan Radigan

敏捷开发对我的职业和个人都产生了巨大的影响,因为我了解到,无论是在代码还是在生活中,最好的体验就是敏捷开发。在技术、摄影和摩托车赛的交叉领域,您会经常看到我的身影。

看板精选内容