ガントチャート

ガントチャートとは

ガントチャートは、縦にタスク、横に時間(日・週・月)を取り、各タスクの期間を横棒(バー)で表すスケジュール図です。「どのタスクがいつ始まりいつ終わるか」「今日の時点でどこまで進んでいるはずか」を1枚で共有できます。考案者ヘンリー・ガントの名前が由来で、100年以上使われている定番の表現です。

            8月    9月    10月
要件定義    ████
設計          ██████
実装              ████████████
テスト                    ██████
                    ▲ 今日

図を構成する要素

要素意味
バータスクの開始日〜終了日。塗りの割合で進捗率を表すことが多い
今日マーカー現在日の縦線。バーの塗りと比べて「予定より進んでいるか」が分かる
マイルストーンリリース日など期間を持たない節目。◆などで打つ
依存関係の矢印「設計が終わらないと実装に入れない」という順序制約

タスクの一覧そのものは [[WBS]] で分解したツリーをそのまま使うのが普通です。親タスクのバーは子タスクの期間を包む形になり、ツリーの階層とバーの入れ子が対応します。

依存関係とクリティカルパス

タスク間に依存(先行・後続)を張ると、クリティカルパス——1日遅れると全体が1日遅れる、余裕ゼロのタスクの連なり——が見えてきます。進捗管理では、クリティカルパス上のタスクの遅れを最優先で手当てします。逆に言えば、パス外のタスクには多少の遅れを吸収できる余裕(フロート)があります。

向く場面・向かない場面

計画を最初に固める [[ウォーターフォール開発]] とは相性が良く、工程表としてほぼ必須の図です。一方、[[スクラム]] のように短いサイクルで計画を見直す進め方では、数か月先まで引いたバーがすぐ陳腐化するため、スプリント単位のボードやバーンダウンチャートが主に使われます。図の維持コストと計画の変わりやすさのバランスで使い分けます。

初学者向けポイント

  • ガントチャートは「作った時点」より「更新し続けられるか」が価値を決めます。実績を反映しない工程表は最初の1週間で嘘になります
  • Excelで作られることも多いですが、[[チケット管理]] ツール(Backlog、GitHub Projects、Redmineなど)のガント表示を使うと、タスクの状態更新が図に自動反映されます
  • バーの長さは「作業量」ではなく「期間」です。1時間の作業でも待ち時間で2週間かかるタスクはバーが長くなります。[[見積もりとベロシティ]] の工数とは別物として読みます

関連技術とのつながり

  • [[WBS]] — ガントチャートに並べるタスクの洗い出し元。セットで使う
  • [[ウォーターフォール開発]] — 工程表としてガントチャートが最も活きる開発モデル
  • [[スクラム]] — 対照的に、ボードとバーンダウンで進捗を見る進め方
  • [[チケット管理]] — タスクの状態とスケジュール表示を同期させる実務ツール
Q: ガントチャートのバーが表すものはどれ?
- [ ] タスクの重要度
- [x] タスクの開始日から終了日までの期間
- [ ] タスクの担当者数
解説: 横軸は時間で、バーはタスクの期間を表します。塗りの割合で進捗率を重ねて表すことも多いです。

Q: クリティカルパスの説明として正しいのはどれ?
- [x] 遅れがそのまま全体の遅れになる、余裕のないタスクの連なり
- [ ] 最も担当者が多いタスクの列
- [ ] 最初に着手すべきタスクの一覧
解説: 依存関係でつながったタスクのうち余裕(フロート)がゼロの経路がクリティカルパスで、ここの遅れは全体の完了日を直接押し出します。

Q: スクラムのような反復型開発でガントチャートが主役にならない理由はどれ?
- [ ] バーの色数が足りないため
- [ ] 依存関係を表現できないため
- [x] 計画を短いサイクルで見直すため、数か月先まで引いたバーがすぐ陳腐化するため
解説: 頻繁に計画が変わる進め方では長期のバーの維持コストが高く、スプリント単位のボードやバーンダウンチャートの方が実態に合います。