第4章:看板方法入门:可视化工作流、限制在制品(WIP)、管理流动
看板这东西,我第一次接触是在一个做汽车电子的项目里。那时候团队天天救火,每个人手上同时挂着三四个任务,谁都不知道别人在忙什么。项目经理一拍桌子说:「咱们上白板!」结果呢?还真管用。
说白了,看板不是什么高深理论。它就是把你脑子里的任务清单,搬到墙上或者屏幕上。让每个人都能一眼看出:现在在做什么,下一步该做什么,哪里堵住了。
4.1 可视化工作流:让工作「看得见」
我习惯把看板分成三列:待办、进行中、已完成。但嵌入式项目往往更复杂。你想想看,一个固件从需求到发布,中间要经过设计、编码、单元测试、集成测试、硬件联调……光三列根本不够。
所以我的建议是:按实际流程来分列。比如我们做的一个物联网网关项目,看板长这样:
| 待办 | 设计评审 | 编码 | 单元测试 | 硬件联调 | 系统测试 | 已完成 |
|---|---|---|---|---|---|---|
| 任务A | 任务B | 任务C | 任务D | 任务E | 任务F | 任务G |
每一列代表一个工作阶段。每个任务卡片从左边开始,一步步往右挪。嗯,这里要注意:卡片移动不是开发者自己说了算,而是要有明确的「拉动」规则。比如「编码完成」后,必须通过代码评审才能进入「单元测试」列。
4.2 限制在制品(WIP):别让团队「消化不良」
这是看板最核心的规则,也是我最想强调的一点。我在项目中遇到过太多团队,每个人手上同时进行3-4个任务。结果呢?每个任务都做了一半,没有一个能按时交付。
为什么会这样?因为人脑切换任务是有成本的。你从任务A切到任务B,至少需要15分钟重新进入状态。一天切个四五次,大半天就没了。
WIP限制就是给每一列设定一个「最多同时进行几个任务」的上限。比如:
- 编码列:最多3个任务
- 单元测试列:最多2个任务
- 硬件联调列:最多1个任务
一旦某列达到上限,就不能再往里面塞新任务了。想开始新任务?先把手里现有的做完一个。
4.3 管理流动:让任务「流」起来
看板的目标不是让每个人忙得团团转,而是让任务顺畅地从左流到右。我经常跟团队说:「别盯着人看,盯着卡片看。」
怎么管理流动?我总结了三个关键点:
- 关注瓶颈: 哪一列的卡片堆积最多,哪里就是瓶颈。比如硬件联调列总是排长队,说明测试资源不够。要么加人,要么优化测试流程。
- 缩短周期时间: 周期时间就是一张卡片从「待办」走到「已完成」的总时长。我习惯每周统计一次平均周期时间。如果发现周期在变长,说明哪里出了问题。
- 消除等待: 卡片卡在某列不动,往往是因为在等别人。比如等代码评审、等硬件资源、等测试环境。这些等待时间就是浪费。
一个真实案例: 我们做车载娱乐系统时,发现「硬件联调」列的平均等待时间高达3天。后来一查,原来是只有一台开发板,三个工程师抢着用。解决方案很简单:多买了两块开发板,等待时间直接降到半天。
4.4 物理看板 vs 电子看板:到底选哪个?
这个问题我几乎每次培训都会被问到。我的回答是:看团队情况。
物理看板的优势:
- 零成本,一面白板+便利贴就能开干
- 仪式感强,每天站会大家围着看板,讨论效率高
- 改动灵活,想加一列就贴一张纸条
物理看板的劣势:
- 远程团队没法用
- 历史数据难追踪
- 卡片多了容易乱
电子看板的优势:
- 支持远程协作
- 自动统计周期时间、吞吐量等指标
- 可以关联代码仓库、测试用例等工具
电子看板的劣势:
- 有学习成本
- 容易变成「电子垃圾」,信息过载
- 少了那种「大家一起看白板」的互动感
我个人习惯是:小团队、同地办公,先用物理看板。等团队大了或者有远程成员了,再转电子看板。我见过一个团队,物理看板用了两年,效果非常好。后来因为疫情被迫远程,才迁移到Jira。迁移过程也很顺利,因为大家已经习惯了看板的思维方式。
嗯,最后说一句。看板不是银弹。它不会自动解决你的项目管理问题。但它能让你清楚地看到问题在哪。看到问题,就是解决问题的第一步。你想想看,是不是这个道理?