アジャイル レッスン3
カンバンとタスク管理
カンバンボード、WIP制限、フロー効率でチームの生産性を高めよう
カンバンボードとは
カンバン(Kanban)は、トヨタ生産方式から生まれた タスク管理手法です。作業の流れを「見える化」し、ボトルネックを発見・解消することで チーム全体のフロー効率を高めます。
【カンバンボードの基本構成】
┌──────────┬──────────┬──────────┬──────────┐
│ Backlog │ To Do │ In Progress │ Done │
│ │ (WIP:3) │ (WIP:2) │ │
├──────────┼──────────┼──────────┼──────────┤
│ 検索機能 │ ログイン │ ユーザー登録│ DB設計 │
│ 通知機能 │ API設計 │ テスト追加 │ 環境構築 │
│ ダッシュ │ UI修正 │ │ CI設定 │
│ レポート │ │ │ │
└──────────┴──────────┴──────────┴──────────┘
カードは左から右へ流れる
→ 各列のカード数がWIP制限を超えないようにするWIP制限(Work In Progress Limit)
WIP制限は、各列で同時に進行できる作業の上限数です。 マルチタスクを防ぎ、一つ一つの作業を確実に完了させることで、 全体のスループットを向上させます。
WIP制限なし
- 大量のタスクが同時進行
- コンテキストスイッチが頻発
- 個々のタスクの完了が遅れる
- ボトルネックが見えにくい
WIP制限あり
- 少数のタスクに集中
- コンテキストスイッチが減少
- 個々のタスクが早く完了
- ボトルネックが即座に可視化
【WIP制限の設定目安】
- チームメンバー数の1〜1.5倍が目安
- 例: 開発者3人なら WIP制限 = 3〜5
【WIP制限が埋まったら?】
1. 新しい作業を始めない
2. 既存の作業を完了させることに集中
3. ブロックされているタスクの障害を除去
4. 他のメンバーの作業をペアプロで手伝うフロー効率とリードタイム
カンバンではフロー効率を重視します。 タスクが「作業開始」から「完了」までにかかる時間(リードタイム)を短くすることが目標です。
【主要メトリクス】
リードタイム(Lead Time)
タスクがバックログに入ってから完了するまでの時間
例: 月曜にTo Do → 木曜にDone = リードタイム 4日
サイクルタイム(Cycle Time)
タスクの作業を開始してから完了するまでの時間
例: 火曜にIn Progress → 木曜にDone = サイクルタイム 3日
スループット
一定期間に完了したタスクの数
例: 1週間に8タスク完了 = スループット 8タスク/週
フロー効率 = 実作業時間 / リードタイム × 100
例: リードタイム4日のうち実作業2日
→ フロー効率 = 50%(待ち時間が半分)スクラム vs カンバン
スクラムとカンバンはどちらもアジャイルのフレームワークですが、 アプローチが異なります。プロジェクトの特性に応じて使い分けましょう。
【比較表】
項目 │ スクラム │ カンバン
────────────────┼───────────────────┼──────────────────
イテレーション │ 固定(Sprint) │ なし(継続フロー)
ロール │ PO, SM, Dev Team │ 特に定めなし
計画 │ スプリント単位 │ 必要に応じて随時
変更 │ Sprint中は原則不可 │ いつでも可能
指標 │ ベロシティ │ リードタイム
会議 │ 4つのセレモニー │ 必要最小限
向いている場面 │ 新規開発 │ 運用・保守・サポート
WIP制限 │ Sprintの容量で制限 │ 列ごとに明示的制限
【Scrumban(スクラムバン)】
スクラムとカンバンのいいとこ取りをした手法もある
- スプリントの枠組み + WIP制限
- デイリースタンドアップ + カンバンボードスイムレーンと累積フロー図
カンバンボードをさらに効果的に活用するための手法として、スイムレーンと累積フロー図(CFD)があります。
【スイムレーン(横方向の区分)】
│ To Do │ In Progress │ Done │
─────────────┼───────┼─────────────┼──────┤
Feature │ ○○ │ ○ │ ○○○ │
─────────────┼───────┼─────────────┼──────┤
Bug Fix │ ○ │ ○○ │ ○ │
─────────────┼───────┼─────────────┼──────┤
Urgent │ │ ○ │ ○ │
─────────────┴───────┴─────────────┴──────┘
→ タスクの種類ごとに行を分け、優先度や担当を可視化
【累積フロー図(Cumulative Flow Diagram)】
タスク数
30 │ ████████████████ Done
│ ███████████████ In Progress
20 │ ████████████████ To Do
│ ██████████████
10 │████████████
│█████████
0 └──────────────────────→ 日数
Week1 Week2 Week3 Week4
→ 各ステータスのタスク数の推移を積み上げグラフで表示
→ 帯の幅が一定 = 安定したフロー
→ 帯が広がる = ボトルネックの発生まとめ
- カンバンボードで作業の流れを「見える化」し、ボトルネックを発見する
- WIP制限で同時進行タスクを制限し、マルチタスクを防いでスループットを向上させる
- リードタイム・サイクルタイム・フロー効率でチームの健全性を計測する
- スクラムは固定スプリント、カンバンは継続フロー。プロジェクトに応じて選択する
- スイムレーンと累積フロー図でカンバンボードの活用をさらに深める