累積フロー図(CFD)の読み方(具体例付き)

Turn this article into takeaways for your work.
Each assistant summarizes the article only for you and suggests best practices for your work.
累積フロー図(CFD)は、ある日に各ワークフローステージにいくつの作業項目があるか、そしてその分布が時間とともにどう変化するかを示す積み上げ面グラフです。Kanbanボードやフローベースのプロセスを運用しているなら、作業がスムーズに流れているか、どこかで静かに積み上がっているかを確認する最速の方法です。
累積フロー図とは何か
累積フロー図は、ワークフローの各ステージに入った作業項目の累計数を、時間軸上にカラーの積み上げバンドとして描画するフロー指標の可視化ツールです。ある時点での各バンドの縦の高さが、そのステージに現在ある作業項目の数を示します。一番下のバンドは通常「完了」ステートで、着実に増え続けます。上のバンドは進行中のステージを表します。
CFDはDavid Andersonによって中核的なKanban指標として普及しました。固定タイムボックスに対する残作業量を追跡するバーンダウンチャートとは異なり、CFDはSprintや反復の境界を必要とせず継続的にフローを測定します。
主要なデータ
- CFDのようなフロー指標を積極的に使ってWIPを管理するチームは、速度のみを追跡するチームと比較して平均サイクルタイムが最大47%短縮されると報告されています(Kanban University「State of Kanban Report」2023年)。
- ナレッジワークの平均的な作業項目は、合計サイクルタイムの約85%を待機時間に費やしていることがわかっており、CFDはそのパターンを即座に可視化します(Vacanti著「Actionable Agile Metrics」第2版、2023年)。
- CFDの読みをもとにWIPを制限した組織は、導入後90日以内に平均リードタイムを中央値で37%削減しています(Lean Kanban Inc.プラクティショナー調査、2022年)。
CFDの読み方
CFDで確認するものは3つあります。バンド自体、2本のカーブの縦の差、そして2点間の横の距離です。
カラーバンド。 各バンドは一つのワークフローステートを表し、下(完了)から上(流入・Backlog)へと積み上げられています。特定の日付でのバンドの高さが、その日のそのステートにある項目数と等しくなります。幅が狭く安定したバンドは作業がすばやく流れていることを意味します。時間とともに幅が広がるバンドは項目が蓄積していることを示します。
縦の差 = WIP。 グラフ上の特定の日付で縦に切った断面を見てください。「開始済み」カーブと「完了済み」カーブの差が現在の進行中の作業(WIP)です。これはWIP制限に直結します。差は概ね一定であるべきです。広がれば、WIPが増えており、完了するよりも多く取り込んでいることになります。
横の距離 = サイクルタイムとリードタイム。 ある作業のバッチがシステムに入った時点から完了した時点まで横線を引いてみてください。その横の長さが、その日付に入った項目の平均リードタイムです。横幅が短いほどデリバリーが速いことを意味します。だからこそCFDは速度単体よりも情報量が多いのです。スループットと時間軸の両方を同時に示します。
バンドの傾き = 離脱率。 バンドの上辺が急傾斜であるほど、項目がそのステージを早く離脱しています。上辺が平らになれば離脱が止まっています。「開発中」バンドが1週間平坦になるのは明確なシグナルです。項目が積み上がり、次のステージに進んでいません。
CFDが示すフローの状態
| 視覚的なパターン | 意味 | 対応 |
|---|---|---|
| 一つのバンドが広がり、他のバンドは横ばい | そのステージにボトルネックがある | 障害を調査し、キャパシティを増やすか上流のWIPを減らす |
| 全バンドが並行して上昇 | 健全で安定したフロー | ペースを維持し、乖離が生じないか注意する |
| 全バンドで水平な区間が発生 | 作業が完全に停止している | 外部の障害、チームの欠員、リリースの凍結を確認する |
| 上部の「Backlog」バンドが急上昇 | スコープクリープ、またはデリバリーより速く新規作業が追加されている | 取り込みプロセスを見直し、優先順位付けをレビューする |
| 「開始済み」と「完了済み」の差が広がる | WIPが制御不能になっている | WIP制限を強制し、Backlogが解消されるまで新規作業を止める |
| 右端付近でバンドが圧縮・収束 | プロジェクトまたは四半期末に作業が流れ出している | 固定期限プロジェクトでは正常。無理な急ぎが発生していないか注意する |
最も行動につながるシグナルは通常、広がっていくバンドです。早期に気づければ、そのステージがデッドラインのリスクになる前に、レビュアーを追加したり、チームメンバーを入れ替えたり、依存関係をエスカレーションしたりできます。
累積フロー図の作成方法
ほとんどのKanbanおよびプロジェクトツール(Jira、Linear、Azure DevOps、Targetprocessなど)はCFDを自動生成します。しかし、手作業で構築する方法を理解しておくと、ツールが実際に何を表示しているかを把握するのに役立ちます。
ワークフローステージを定義する。 作業項目が取り込みから完了まで取りうるすべてのステートをリストアップします。典型的なソフトウェアチームなら、Backlog、準備完了、開発中、レビュー中、テスト中、完了などを使うかもしれません。
ステージごとの日次項目数を収集する。 毎日の終わりに各ステージの項目数を数えます。スプレッドシートに記録します。正確なタイムスタンプは不要で、毎日の一定のスナップショットで十分です。
累計に変換する。 各ステージについて、毎日の数を積み上げの合計に加算します。これが「累積」の意味です。チャートは今日のスナップショットだけでなく、各ステージにこれまでに入った(または現在ある)項目の合計を示します。
バンドを積み上げる。 チャートツールで積み上げ面グラフを作成します。「完了」を一番下に置き、「Backlog」を一番上に向かって各ステージを順に積み上げます。横軸は時間、縦軸は累積項目数です。
一定の時間範囲を設定する。 アクティブなチームには30日のローリングCFDが有効です。長い期間(90日)は季節的なパターンを明らかにし、短い期間(14日)はSprintの長さのフィードバックに適しています。
チームで週次レビューを行う。 CFDはチームで共有する成果物として最も有用です。振り返りやフローレビューで確認しましょう。「どのバンドが広がったか、その週のプロセスで何が起きていたか」を問いかけます。
WIP制限ポリシーと連動させる。 Kanbanボードに明示的なWIP制限がある場合、CFDはそれが守られているかどうかを確認する手段です。差は合意したWIPの上限と一致しているはずです。
CFDが明らかにする一般的な問題
ボトルネック。 これはCFDの主な用途です。特定のステージのバンドが継続的に太くなり、他のバンドが横ばいのとき、そこにボトルネックがあります。一人のレビュアーへの過負荷、遅いQA環境、外部依存(法務の承認待ちなど)かもしれません。CFDは原因を教えてくれませんが、調査すべきステージを特定してくれます。
スコープクリープ。 CFDはバーンダウンチャートが時に隠してしまうスコープクリープを捉えます。チャートの最上部が急激に上昇している場合、作業項目が完了するよりも速くシステムに入ってきています。バーンダウン上では、完了した作業が新規作業と相殺されて平坦に見えることがありますが、CFDでは合計チャートの高さが単純に増加し、取り込み率が明確になります。
滞留した作業。 バンドが完全に平坦になれば、そのステージで項目の移動が止まっています。チームメンバーが不在、依存関係が未解決、または決定待ちの状態かもしれません。この平坦なバンドは、タスクリストでは見落としやすいですが、CFD上では見過ごしようのない「ここで何かが止まっている」シグナルです。
不均一な取り込みレート。 「Backlog」バンドがスムーズではなく段差状に増加している場合、リファインメントや計画プロセスが断続的です。作業が定常的な流れではなく大量にまとめて到着しており、これが通常、下流での過負荷につながります。このパターンを認識することが取り込みを平滑化する第一歩です。
フロー効率の低下。 時間とともに「作業開始」から「作業完了」までの横の距離が長くなれば、全体的なサイクルタイムが増加しています。単一のSprintが劇的に遅くなったとは感じられないため、チームはこれを見逃しがちです。CFDは数週間にわたる傾向を示します。
CFDとバーンダウンチャートの比較
どちらのツールも時間経過とともに進捗を追跡しますが、答える質問が異なります。
バーンダウンチャートは「このSprintで全部終わりますか?」と問います。固定スコープ、固定期限を前提とし、残作業量を理想線と比較します。Scrum Sprintに最適化されています。
CFDは「フローの健全性はどうか?」と問います。固定スコープや固定タイムボックスを前提としません。各ステージへの作業分布を継続的に測定するため、KanbanやScrum-Kanbanのハイブリッドに適しています。
実際の違い:Sprint途中で3つのストーリーが追加された場合、バーンダウンはリセットされて警告が微妙になります。CFDではBacklogバンドが明確に急上昇し、サイクルタイムへの影響がすぐにわかります。
両方のツールを使うチームは補完的なシグナルを得られます。バーンダウンはSprintレベルのコミットメント追跡、CFDはシステム全体のフロー健全性です。速度でストーリーポイントをすでに追跡しているなら、CFDは速度単体では見えない時間軸を加えます。CFDと速度がどのように補完し合うかはAgileにおける速度でさらに詳しく読めます。
よくある質問
CFD上でのサイクルタイムとリードタイムの違いは何ですか? CFD上でのリードタイムは、作業項目がシステムに入った時点(Backlogに加わった時点)から完了するまでの横の距離です。サイクルタイムは、実際の作業が始まった時点(項目がBacklogを離れた時点)から完了するまでの横の距離です。両者の差がBacklogでの待機時間です。どちらも同じチャート上で横幅として可視化されます。
累積フロー図はどのくらいの頻度で更新すべきですか? 日次のスナップショットが最も正確な状況を把握できます。週次のスナップショットは動きの遅いプロジェクトには有効ですが、自然に解消される短期的なボトルネックを見落とすことがあります。JiraやAzure DevOpsなどのデジタルツールを使用している場合、CFDはリアルタイムで更新されるため追加作業は不要です。
「健全な」CFDはどのように見えますか? 健全なCFDは、幅がほぼ一定のバンドが一定の角度で並行して上昇しています。どのバンドも極端に広がらず、「開始済み」と「完了済み」の差は安定しており、チャートは大きな段差なくなめらかに増加します。
ScrumにCFDを使えますか? はい。CFDはScrum を含むあらゆるフローベースのシステムで機能します。ワークフローステージとしてSprintのステートを使用できます。主な調整点は、計画中の各Sprint開始時にBacklogバンドがリセットまたは急増することですが、これは正常で想定内の動きです。CFDは複数のSprintにわたってグラフを描くとき、Sprint境界をまたぐシステム的なボトルネックを特定するのに特に役立ちます。
CFDで特定のバンドが非常に太くなっています。まず何をすべきですか? 太くなっているバンドが示すステージを確認してください。その作業を担当している人と話してください。よくある原因として、一人に対する過多な割り当て、外部依存関係の滞留、レビューで差し戻しが続く不明確な受け入れ基準などが挙げられます。根本原因を特定したら、そのステージへの流入WIPを制限するか、制約に直接対処します。
累積フロー図はそれ単体でプロセスを修正するわけではありませんが、憶測で行動することを防いでくれます。作業がどこに蓄積し、各ステージの通過に何日かかるかが正確にわかれば、一般的な変更ではなく具体的な変更ができます。CFDをWIP制限ポリシーと組み合わせて採用したチームの多くは、チャートが適切な会話を避けられないものにするだけで、数週間でサイクルタイムが改善したと報告しています。

Senior Operations & Growth Strategist