看板——敏捷方法论
看板是一种流行的敏捷软件开发方法。它基本上是一种信号装置,用于指示“拉式”生产系统中的零件移动,该系统是作为 TPS(丰田生产系统)的一部分开发的。看板是关于按照步骤设想现有工作流程。这些步骤可以在白板上创建。
看板的主要目的是通过确保上游流程在下游流程需要时创建零件来减少流程之间的 WIP(在制品)或库存。看板执行的目标是确保工作项目快速进入下一步,以更快地实现业务价值。
看板方法是一种用于组织的进化和增量系统和流程变更的方法。一个进行中的有限拉动系统被用作发现系统操作(或过程)复杂性并鼓励协作以不断改进系统的中心机制。
电子看板也可用于 ALM 工具,如 Rally (CA Agile)、Jira、SwiftKanban、LeanKit Kanban 等。可以在这些工具中配置阶段,并且可以在这些工具中查看阶段之间的票证移动。
什么时候需要看板方法?
看板最适合以下场景:
- 需要更快交付的动态/频繁变化的需求。
- 如果优先级发生变化,团队可以在 WIP 限制下降后立即拉取优先级的工作。
- 经常发布(定期)。
- 当传入的工作是连续的。
- 需要根据任务性质和类型动态决定任务优先级的地方。
- 最适合用于票务或生产支持项目。
- 看板也可以被组织的任何函数部门使用,例如营销、销售和人力资源。
但是,看板可能不适合以下项目:
- 任务可能会长时间处于“等待”状态。
- 主要以研究为导向。
- 用于需求不断变化/不明确的增强功能。
- 没有未定义先前的范围,并且任务不断发展。
- 任务之间存在过多的依赖关系。
- 如果跨工作阶段的所有项目都需要整理,那么只需部署即可。
看板/卡
了解任务执行管道中工作流阶段的可视化至关重要。看板提供了一种简单的方法来理解该过程。可以解释如下:
- 收到的每个请求都放在看板板上。
- 板上的一列代表错误/票证生命周期中的一个阶段(这些阶段称为工作阶段)。例如,看板可以有 4 个阶段——接收/确认、进行中、UAT 和完成。
- 接收到的阶段也可以称为“积压”。
- 团队可以根据各自团队使用的术语来决定阶段的名称。
- 看板可以是一个简单的白板,可以在上面使用附有票据详细信息的便签,或者可以使用电子看板。
- 可以将 Rally/Jira 等 ALM 工具配置为使用看板。
- 如果错误/票证长时间卡在一个阶段,董事会可以发出信号。
- 对于电子白板,可以通过一种方式配置看板,使票证/用户故事以及时间戳可见。
- 对于手动维护的白板,团队可以输入日期/时间。
从上面的示例板中,可以推断出看板或卡片:
- 工作流程:积压 -> 确认 -> 开发 -> 测试 -> 部署/UAT -> 完成
- 工作阶段:确认、开发(进行中)、开发(准备)、测试(进行中)、测试(准备)、部署/UAT、积压(到达队列)、完成(完成阶段)
- 工作项:工作项表示两种类型的任务(类型 1 和类型 2)
看板原理
看板基于以下四个关键原则:
- 从现有流程入手:是一种从已有流程入手的变更管理方法。系统以增量和进化的方式进行更改。与 Scrum 不同,看板中没有定义特定的流程或角色。
- 同意继续进行渐进式和渐进式更改:从现有流程开始后,团队必须就连续、渐进式和渐进式更改达成一致。更改应该是小而渐进的。快速和实质性的改变可能是有效的,但它们也会受到团队更大的阻力。
- 欣赏当前的角色、流程、职责和头衔:尽管看板建议在流程中不断进行增量更改,但它尊重当前的角色、职责和职位。这有助于团队在开始使用看板时获得信心。
- 各级领导:看板不期望来自特定集合的领导,而是非常鼓励组织中各级领导的行动。
看板实践
以下是六个核心看板实践:
- 限制 WIP:限制在制品 (WIP) 意味着在部分或整个工作流程上执行拉取系统。它(PULL 系统)将作为对系统进行增量、持续和进化变化的关键刺激之一。限制 WIP 为每个工作流状态下可能正在进行的项目数分配明确的限制。
- 可视化:可视化工作流程并使其可见很重要,以便了解工作如何进行。如果不了解工作流程,就很难进行正确的更改。通常,使用带有柱子和卡片的卡片墙来可视化工作流程。工作流程中的不同状态或步骤由卡片墙上的列表示。
- 管理流程:应该观察、衡量和通知工作流中每个状态的工作流程。通过大力管理流程,可以评估对系统的增量、持续和进化修改对系统产生负面或正面影响。
- 协作改进,实验发展:看板鼓励小的增量、持续和进化的变化。只要团队对工作、流程、工作流和风险的概念有共同的理解,他们就更有可能形成对问题的共同理解,并提出可以达成共识的改进措施。
- 实施反馈循环: 客户的早期反馈和拉动系统在看板中很重要。如果我们从不同的利益相关者和流程中获得反馈,将有助于消除风险并优化交付流程。
- 制定明确的政策:在没有明确流程机制之前,很难进行辩论并讨论改进它的方法。如果没有清楚地了解工作是如何真正完成的以及事情是如何运作的,任何关于并发症的对话往往都是轶事、情绪化和主观的。有了清晰的认识,才有可能对问题进行更加理性的、经验性的、客观的讨论。它更有可能促进围绕改进建议达成共识。
看板工作流程——看板拉动系统如何工作?
1. 可视化您的工作流程:
- 确定工作阶段和工作项目。
- 工作项目: 2 天的最大努力使其保持简短和移动。
- 根据系统工作流程,将工作项目写在卡片上并粘贴在相应工作阶段下的列中 - 从左到右。
- 工作流程可以通过物理方式或使用 Jira 之类的工具来描述。
- 示例工作阶段:设计、开发、测试、生产、部署、完成。
- 每个阶段都可以分为-Ready 和In Progress。
- 最初,这两个子阶段可能不存在。
- 后来他们被介绍来检查每个阶段的等待时间。
2.建立拉动系统:
- 团队不会将任务推入流程,而是仅在需要并且他们有能力满足它时才拉动工作。 “进行中 (IP)”和“完成”列出现在每个进程状态中。
- 例如,当一个开发任务完成时,它被移动到“开发(完成)”列。
- 队列状态是指“完成”列。没有人处理处于队列状态的任务;因此这些都是被动的。
- 在我们的示例中,“开发(完成)”是测试团队在有能力处理新工作后从中提取任务以进行测试的队列。
- 团队可以通过拉动工作并专注于最重要的任务来避免多任务处理。
- 这导致更高的吞吐量和更短的周期时间,这意味着满意的客户和更高的利润。
3.限制WIP:通过设置WIP限制创建上游拉动系统,并确保团队“停止开始并开始完成”。在完成当前阶段的任务后,团队成员可以从上一阶段拉取任务,从而释放上一阶段的容量。这一直持续到错误/票证的输入。
- WIP 限制可以根据历史数据和产能规划来设置。
- 万一很多票在一个阶段堆积起来,其他团队成员会帮助他们的团队成员,使票的移动顺畅,从而增加协作。
- 定义的 WIP 限制可以观察 3 到 4 周,并根据团队的经验进行更新。
引入了 WIP 限制的看板示例如下所示:
让我们通过一个示例来了解为 Bug 修复生命周期中的某个阶段设置 WIP 限制:
Project ABC 是一个维护项目,在范围内进行了 Bug 修复。该项目需要为 Bug 修复流程设置一个具有 WIP 限制的看板。让我们尝试了解如何为影响分析阶段设置 WIP 限制。
- 历史数据显示,该团队平均花费 4 小时进行影响分析。
- 有 2 名设计师在影响分析阶段工作。
- 他们被分配到这个项目每天 5 小时。
- 此阶段的容量为 10 小时(5*2:小时数 * 资源数)。
- 因此,影响分析阶段的 WIP 限制应为 2。
类似地计算开发、测试阶段的 WIP 限制。作为首选规则,WIP 限制不应超过舞台上工作的人数。
如果 WIP 限制被违反,人们也可以将它们记录在板上,并为违反提供允许的限制。如果 WIP 限制超出设置的限制,则可以重新计算 WIP 限制。
看板也可以包括被阻止的票信息。 WIP 限制应根据项目的上下文计算。
4. 应用拉动信号:使用拉动信号来指示新任务已准备好处理是拉动系统的重要组成部分。当一列中的卡片数量低于看板拉动系统中的指定限制时,会生成拉动信号。这告诉上一列新作业已准备好继续前进。一旦达到正在进行的工作限制,就不能再提取任何其他任务,除非首先完成了未完成的任务。这有助于通过确保他们只有尽可能多的工作来避免团队倦怠。它还有助于避免工作被忽视。
交货时间和周期时间
- 提前期:任务进入工作系统的时间和完成时间之间的时间跨度称为提前期。提前期是输入通过所有操作并到达终点线所需的时间。在看板术语中,委派任务到达最右侧列所需的总时间。
- 周期时间:周期时间显示团队花费在优先任务上的时间。周期时间从任何团队成员开始处理任务并将其转移到“进行中”列时开始,一直持续到任务完成。
- 周期时间和交付周期的关系:周期时间和交付周期之间的最重要但经常被忽视的区别是它们的测量单位。
Cycle time is measured in amount of time per unit/process/task
Lead time is measured in elapsed time (weeks, hours, seconds)
Little’s Law gives the best description of the link between Cycle time and Lead time-
Cycle time x WIP = Lead time (Work-In-Progress)
累积流程图
在看板中,累积流程图 (CFD) 是一种高级分析工具。它允许团队查看他们的工作流程工作和整体项目进度是如何可视化的。团队可以使用累积流程图来跟踪他们的工作流程的稳定性,预测瓶颈,以便他们可以相应地改变他们的工作流程,并使流程更具可预测性。
以下是在 CFD 中寻找的三个关键参数:
- 周期时间:您的团队从开始到结束完成每项任务所花费的总时间。
- 正在进行的工作:这是您的团队当前正在处理的任务数。
- 吞吐量:您的团队在特定时期内可以完成的任务数量。
如何计算提前期和周期时间
如果正确的项目管理软件和所有信息都可用,那么计算任何项目的提前期和周期时间都很容易。累积流程图 (CFD) 是估算提前期和周期时间的最简单和最广泛使用的方法。
- CFD 是通过将项目映射到图表来描述项目进度的图表。
- WIP 单位显示在垂直轴上,而时间显示在水平轴上。
- CFD 分为多个部分,每个部分显示一个看板栏。
- 计划的任务、进行中的任务和已完成的任务是三个主要部分,就像看板上一样。
- 但是,可以添加更多部分以进一步简化进度。
- 要计算提前期,只需解释从请求进入系统(积压)的那一刻起的数据,通过流程进行(进行中),最后到达完成(完成)。
- 提前期由该数据集的时间跨度表示。
- 另一方面,计算周期时间需要在项目积压时跳过第一阶段,并专注于工作开始后的时期。
- 周期时间计算为每单位花费的时间量。
看板方法
看板方法包括三个步骤:
A. 可视化:此步骤涉及定义和可视化工作流。
- 了解改进的必要性。
- 定义流程。
- 价值流全过程流程。
- 可视化流程。
B. 量化:这一步涉及三个活动:
- 启动:
- 了解和/或估计 WIP。
- 创建初始 WIP 限制。
- 调整:
- 研究 WIP 限制的可行性。
- 如果需要,调整限制。
- 制定有关限制和政策的声明。
- 对团队进行试点培训。
- 措施:
- 定义当前的问题。
- 将它们转换为测量值。
- 导出指标。
- 建立指标收集体系。
- 定义用于分析指标和数据的工具。
C. 优化:这一步涉及以下三个活动——
- 识别和改进:
- 分析数据。
- 建立未来的价值流。
- 识别改进机会。
- 优先。
- 制定行动计划。
- 实施行动计划。
- 确保改进。
- 制定标准:
- 重新审视限制和政策。
- 训练团队。
- 实施新流程。
- 持续改进的设想:
- 建立系统以持续监控和改进流程。
- 让流程,流程驱动而不是人驱动。
使用看板框架的好处
- 限制在制品和制定政策将导致更好地关注质量,从而提高客户满意度。
- 使用透明度来推动流程改进
- 减少浪费
- 更少的流程开销
- 更精确和可预测的节奏保证团队成员永远不会负担过重。
- 允许快速重新划分优先级,以便根据市场需求适应变化。
- 更好的任务流程
- 团队的组成也可以改变。
- 帮助提高团队的生产力
- 优先级有助于简化流程和工作流程。
- 提高工作质量
- 识别和消除瓶颈
- 减少排队时间
- 减少浪费的精力
看板与 Scrum
S No. | Kanban | Scrum |
---|---|---|
1. | Planning, release, and process improvement can have separate cadences. | Iteration is timeboxed. |
2. | For planning and process improvement, the lead time is used as the default metric. | For planning and process improvement, Velocity is used as the default metric. |
3. | Cross-functional teams are optional. | Cross-functional teams prescribed. |
4. | Project Tracking: CFD can be used to understand workflow progress. | Project Tracking: Burndown chart is prescribed. |
5. | WIP limited directly (per workflow state). | WIP limited indirectly (per sprint). |
6. | Can add new items whenever the WIP limit falls. | Cannot add items to ongoing iteration. |