看板管理方法在软件项目中的意义,以及与Scrum方法的区别

一、什么是看板

看板是一种适用于实施敏捷和 DevOps 软件开发的系统框架,核心在于工作的全方位可视化以及基于工作的实时沟通。通过看板中各工作项的直观展示,可以让团队成员清晰了解各项工作的状态及进展。该方法最早可以追溯到1940 年代后期,丰田通过借鉴超市用来存放货物的货架模型来优化其工程流程。

超市通过减少在任何既定时间必须持有的过剩库存量,让超市库存的产品刚好满足消费者的需求,在库存管理效率得到有效提升的同时,超市仍然可以确保消费者需要的产品始终有货。这种做法可以优化超市和消费者之间的流动,使库存水平与消费水平相匹配。

当丰田将同样的系统应用到其工厂车间时,目标是使其庞大的库存量与材料的实际消耗保持一致。为了能够实现工厂车间(以及与供应商)之间的实时沟通,工人需要在团队之间传递一张卡片或是一个“看板”。

当生产线上使用的一箱材料被清空时,看板就会被传递到仓库,上面会描述需要什么材料,这种材料的确切数量等等。仓库会有一箱这种材料在等待,并在拿到材料后将其发送到工厂车间,然后将他们自己的看板发送给供应商,供应商也会有一箱这种特殊材料在等待,然后将其运送到仓库。虽然这个过程自 1940 年代以来一直在发展,但它的核心依旧是”及时“ (JIT-Just in time)。

如今看板方法早已被引入软件开发团队并被广泛使用,成为国内外最主流的敏捷开发方法之一。

二、为什么软件团队更适合使用看板

今天的软件开发团队通过将正在进行的工作 (WIP:work in progress) 与团队的能力相匹配来达到”及时“(JIT)效果。这种方法为团队提供了更多选择,各成员能够更清晰的把握重点,提高整个开发周期的透明度。

看板方法几乎适用于所有行业,尤其是在软件开发团队的敏捷实践中取得了显著效果。很大程度上是因为软件团队一旦了解了基本原则,就可以快速上手使用且成本较低,这与在工厂车间实施看板需要涉及更改物理流程和添加大量材料不同,软件团队所需要的东西只是“板”和"卡",甚至这些都不需要是实体的。

看板管理方法在软件项目中的意义,以及与Scrum方法的区别_第1张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

三、看板管理方法中的看板是什么及其作用

所有使用看板方法的团队,工作都将围绕着看板(观察板)进行,这是一种用于可视化工作并优化团队间工作流程的工具,虽然实体看板在某些团队中很受欢迎,但虚拟看板相较于实体看板更具有可追溯性,也更容易协作

无论团队的看板是实体的还是虚拟的,它们的核心都是确保团队的工作是可视化,工作流程是标准化,并且所有的工作阻碍和依赖都能够被立即识别和解决。基本的看板一般具有三个状态:“待办事项“、”进行中“和”已完成“。但是,根据团队的规模、结构和目标,可以自定义工作流转以满足任何团队的特定流程。

基于工作的全方位可视化以及实时沟通,因此,看板工具可以被视为团队工作的唯一真实来源。

看板管理方法在软件项目中的意义,以及与Scrum方法的区别_第2张图片

编辑切换为居中

PingCode 中的看板

四、看板管理方法中的看板卡片是什么及其作用

在日语中,看板字面意思是“视觉信号”,而对于使用看板的团队来说,每个工作项都将以单独卡片来代表。

在看板上将工作项用卡片表示的主要目的,是让团队成员以高度可视化的方式跟踪工作流程中的各工作进度。卡片上会包含该工作项的关键信息,能够使整个团队全面了解负责该工作项的人员、工作的简要描述、该工作预估时长等等。虚拟看板上的卡片通常还会包含屏幕截图等有价值的技术细节、评论等,团队成员可以在任何时间查看各个工作项的状态以及所有相关信息,确保提高关注度、完全可追溯性以及快速识别阻碍和依赖关系。

五、使用看板管理方法的好处

看板方法是当今敏捷团队广泛采用的主流软件开发方法之一,能够为各种规模的团队的任务计划和吞吐量等度量需求提供支撑。

1、规划更灵活

看板团队只需专注于进行中的工作,一旦团队完成了一个工作项,他们就会从待办事项列表顶部取出下一个工作项。Product Owner (产品负责人)可以在不干扰团队的情况下自由地重新确定待办事项中的工作优先级,因为当前工作项之外的任何更改都不会影响团队,只需要 Product Owner 将最重要的工作项放在待办事项列表的顶部即可。

Tips:产品负责人在考虑更改待办事项时需要与开发团队合作,例如,如果用户故事 1-6 在待办事项中,那么用户故事 6 的估算可能需要基于用户故事 1-5 的完成情况,与工程团队确认后再更改以确保不会发生意外。

2、缩短时间周期

周期时间是看板团队的一个关键指标 ,周期时间是一个工作单元通过团队工作流程所花费的时间——从工作项开始到工作项交付。通过优化周期时间,团队可以更好地预测其他工作的交付。

当只有一个人拥有某项技能时,这个人就会成为工作流程中的瓶颈。因此,团队的最佳实践就是技能共享,重叠的技能组合会缩短周期时间,如代码审查和辅导帮助将有利于知识传递。共享技能意味着团队成员可以承担异构工作,从而进一步优化周期时间。如果出现工作瓶颈,整个团队都可以让流程再次顺利进行,例如,测试不仅由 QA 工程师完成,开发人员也会参与其中。

因此,在看板框架中,整个团队都有责任确保工作在整个过程中顺利进行。

3、更少的瓶颈

多任务同时进行将会极大的降低工作效率,无论何时,进行的工作项越多,上下文切换就越多,完成路径也就越长。这就是为什么看板的一个关键原则是限制在制品(WIP)的数量。

例如,一个典型的软件团队通常有四种 工作流 状态:待办、进行中、代码审查和完成,那么他们可以选择将代码审查状态的 WIP 限制设置为 2。这个限制较低,那是因为开发人员通常更喜欢编写新代码,而不是花时间审查别人的工作,较低的限制会促使团队在审查状态下更加关注问题本身,并在提出自己的代码审查之前先审查其他人的工作,从而减少了整个循环时间。

4、可视化度量

可视化度量的核心价值是通过图表为团队提供一种度量机制,当团队看到数据时,就更容易发现流程中的瓶颈,从而帮助他们不断改进。

看板管理方法在软件项目中的意义,以及与Scrum方法的区别_第3张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

看板管理方法在软件项目中的意义,以及与Scrum方法的区别_第4张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

5、持续集成/持续交付

持续集成 (CI) 是全天自动构建和测试代码,持续交付 (CD)是经常向客户发布工作,它们共同形成了一个 CI/CD 管道,这对于开发团队(尤其是 DevOps 团队)至关重要,在确保高质量的同时更快地交付软件。

看板方法和 CI/CD 能够完美地互补,这两种技术都专注于及时交付价值,团队越快将创新推向市场,他们的产品在市场上的竞争力就越大。

六、Scrum 与 看板的区别

看板不同于 Scrum ,它们不应该相互混淆。

Scrum

看板

节奏

定期冲刺(如 2 周)

持续流动

发布方法

由产品负责人批准,在每个 sprint 结束时发布

持续交付或由团队自行决定发布时间

角色

产品负责人、Scrum Master、开发团队

没有固定角色,可以寻求敏捷教练帮助

关键指标

速度

周期

改变理念

团队应在 sprint 期间避免变更 sprint 计划

变化随时可能发生

一些团队将看板和 Scrum 的理念融合到“Scrumban”中。他们利用 Scrum 中固定长度的 Sprint (迭代)和角色,并从看板中关注进行中的工作和限制。但是,对于刚开始使用敏捷的团队,我们强烈建议只选择一种方法,未来可进行扩展。

以上就是关于看板管理方法的全部介绍,希望对你有所帮助。

Scrum 开发指南: Scrum 框架详解 | Scrum 四个会议及正确召开方式 | 正确的计划和执行Sprint的方式 | 做好迭代计划的4大关键点 | 做好这4点让每日站会更适配敏捷团队 | 开好迭代评审会的3个关键步骤 | 为什么要召开迭代回顾会 | Scrum 3大角色及其岗位的具体职责 | Scrum三大工件在敏捷开发中的作用 | 2022年14个最佳 Scrum 敏捷项目管理软件 | 更多

Kanban 敏捷指南: 使用看板(Kanban)管理方法的5大好处 | 看板 VS Scrum:如何选择? | 看板和 Scrum 的混合模式适合在哪些场景使用 | 更多

规模化敏捷: 规模化敏捷的价值及五大规模化敏捷框架 | 规模化敏捷之 Spotify 模型 | 规模化敏捷框架之LeSS框架 | 更多

你可能感兴趣的:(敏捷开发指南,敏捷开发,Kanban,项目管理)