7-3 カンバン
Kanban Method
1. カンバンの概要
1.1 カンバンとは
カンバンは、トヨタ生産方式のジャストインタイム生産を ソフトウェア開発に適用した手法である。 David Andersonによって体系化され、2010年に「Kanban」として出版された。 作業の可視化とフロー最適化に焦点を当て、 継続的な改善を実現する。
1.2 カンバンの4つの原則
カンバンは、急激な変革ではなく、漸進的な改善を重視する。 現在のプロセスを尊重しながら、少しずつ改善していくアプローチである。
| 原則 | 説明 |
|---|---|
| 今やっていることから始める | 既存のプロセスを大きく変えずに導入 |
| 漸進的な変化を追求する | 小さな改善を積み重ねる |
| 現在の役割・責任を尊重する | 組織構造を変えなくてよい |
| あらゆるレベルでリーダーシップを発揮 | 改善はチーム全員で行う |
1.3 カンバンの6つのプラクティス
カンバンでは、6つの中核的なプラクティスが定義されている。 これらを実践することで、フローを可視化し、 ボトルネックを発見し、継続的に改善していく。
| プラクティス | 内容 |
|---|---|
| 作業の可視化 | カンバンボードで作業を見える化 |
| WIP制限 | 同時進行作業数を制限 |
| フローの管理 | 作業の流れを測定・最適化 |
| ポリシーの明確化 | 作業のルールを明示 |
| フィードバックループ | 定期的な振り返り |
| 協調的な改善 | チームでの継続的改善 |
2. カンバンボード
2.1 基本的な構成
カンバンボードは、作業の流れを可視化するためのツールである。 最もシンプルな構成は「To Do」「In Progress」「Done」の3列だが、 実際のワークフローに合わせてカスタマイズする。 物理的なホワイトボードでも、デジタルツールでも実現できる。
| 列 | 説明 |
|---|---|
| To Do(未着手) | これから取り組む作業 |
| In Progress(進行中) | 現在作業中の項目 |
| Done(完了) | 完了した作業 |
2.2 詳細な列の例
実際の開発プロセスに合わせて、より詳細な列を設定することが多い。 各列にはWIP制限を設定し、ボトルネックを可視化する。
| 列 | WIP制限例 |
|---|---|
| バックログ | - |
| 分析中 | 3 |
| 開発中 | 5 |
| レビュー中 | 3 |
| テスト中 | 3 |
| 完了 | - |
カンバンボードを水平に分割し、作業の種類(機能、バグ、緊急)や 担当チームごとに区分けすることができる。 これにより、異なる種類の作業のフローを同時に管理できる。
3. WIP制限
3.1 WIP制限とは
WIP(Work In Progress)制限は、同時に進行できる作業数の上限を 設定することである。これにより、マルチタスクを防ぎ、 フロー効率を向上させる。 直感に反するかもしれないが、作業を制限することで 全体のスループットが向上する。
3.2 WIP制限の効果
WIP制限を導入することで、以下の効果が期待できる。 特に重要なのは、ボトルネックの発見である。 制限に達した列は、そこに問題があることを示している。
| 効果 | 説明 |
|---|---|
| リードタイム短縮 | 1つの作業を早く完了させる |
| ボトルネック発見 | 詰まっている工程が明確に |
| 品質向上 | 集中して作業することでミス減少 |
| 予測可能性向上 | 安定したフローで見通しが立つ |
WIP制限に達したら、新しい作業を始めるのではなく、 既存の作業を完了させることに集中する。 「始めるのをやめ、終わらせることを始める」(Stop starting, start finishing)。
4. フローメトリクス
カンバンでは、フローを測定するためのメトリクスが重要である。 これらの指標を継続的に計測することで、 改善の効果を客観的に評価できる。
| メトリクス | 定義 | 目的 |
|---|---|---|
| リードタイム | 依頼から完了までの時間 | 顧客視点での速度 |
| サイクルタイム | 着手から完了までの時間 | チームの作業速度 |
| スループット | 単位時間あたりの完了数 | 生産性の測定 |
| WIP | 進行中の作業数 | 負荷の把握 |
累積フロー図(CFD)
各列の項目数を時系列で積み上げたグラフである。 フローの安定性、ボトルネック、WIPの傾向を視覚的に把握できる。 線と線の間隔が広がっている箇所は、作業が滞留していることを示す。
5. スクラムとカンバン
スクラムとカンバンは、どちらもアジャイルの手法だが、 アプローチが異なる。スクラムはイテレーションベース、 カンバンは継続的なフローに焦点を当てる。 両者を組み合わせた「Scrumban」も実践されている。
| 観点 | スクラム | カンバン |
|---|---|---|
| イテレーション | 固定のスプリント | 継続的なフロー |
| ロール | PO、SM、開発者 | 規定なし |
| 計画 | スプリント単位 | 随時 |
| 変更 | スプリント中は禁止 | いつでも可能 |
| 導入 | 一括導入 | 漸進的 |
スクラムとカンバンを組み合わせた手法である。 スクラムのイテレーションとロールを維持しつつ、 カンバンのWIP制限とフロー可視化を取り入れる。 両方の良いところを活用できる。
[1] Anderson, D. (2010). Kanban.
[2] Hammarberg, M. (2014). Kanban in Action.