ガントチャート
ガントチャートとは
ガントチャートは、縦にタスク、横に時間(日・週・月)を取り、各タスクの期間を横棒(バー)で表すスケジュール図です。「どのタスクがいつ始まりいつ終わるか」「今日の時点でどこまで進んでいるはずか」を1枚で共有できます。考案者ヘンリー・ガントの名前が由来で、100年以上使われている定番の表現です。
8月 9月 10月
要件定義 ████
設計 ██████
実装 ████████████
テスト ██████
▲ 今日
図を構成する要素
| 要素 | 意味 |
|---|---|
| バー | タスクの開始日〜終了日。塗りの割合で進捗率を表すことが多い |
| 今日マーカー | 現在日の縦線。バーの塗りと比べて「予定より進んでいるか」が分かる |
| マイルストーン | リリース日など期間を持たない節目。◆などで打つ |
| 依存関係の矢印 | 「設計が終わらないと実装に入れない」という順序制約 |
タスクの一覧そのものは [[WBS]] で分解したツリーをそのまま使うのが普通です。親タスクのバーは子タスクの期間を包む形になり、ツリーの階層とバーの入れ子が対応します。
依存関係とクリティカルパス
タスク間に依存(先行・後続)を張ると、クリティカルパス——1日遅れると全体が1日遅れる、余裕ゼロのタスクの連なり——が見えてきます。進捗管理では、クリティカルパス上のタスクの遅れを最優先で手当てします。逆に言えば、パス外のタスクには多少の遅れを吸収できる余裕(フロート)があります。
向く場面・向かない場面
計画を最初に固める [[ウォーターフォール開発]] とは相性が良く、工程表としてほぼ必須の図です。一方、[[スクラム]] のように短いサイクルで計画を見直す進め方では、数か月先まで引いたバーがすぐ陳腐化するため、スプリント単位のボードやバーンダウンチャートが主に使われます。図の維持コストと計画の変わりやすさのバランスで使い分けます。
初学者向けポイント
- ガントチャートは「作った時点」より「更新し続けられるか」が価値を決めます。実績を反映しない工程表は最初の1週間で嘘になります
- Excelで作られることも多いですが、[[チケット管理]] ツール(Backlog、GitHub Projects、Redmineなど)のガント表示を使うと、タスクの状態更新が図に自動反映されます
- バーの長さは「作業量」ではなく「期間」です。1時間の作業でも待ち時間で2週間かかるタスクはバーが長くなります。[[見積もりとベロシティ]] の工数とは別物として読みます
関連技術とのつながり
- [[WBS]] — ガントチャートに並べるタスクの洗い出し元。セットで使う
- [[ウォーターフォール開発]] — 工程表としてガントチャートが最も活きる開発モデル
- [[スクラム]] — 対照的に、ボードとバーンダウンで進捗を見る進め方
- [[チケット管理]] — タスクの状態とスケジュール表示を同期させる実務ツール
Q: ガントチャートのバーが表すものはどれ?
- [ ] タスクの重要度
- [x] タスクの開始日から終了日までの期間
- [ ] タスクの担当者数
解説: 横軸は時間で、バーはタスクの期間を表します。塗りの割合で進捗率を重ねて表すことも多いです。
Q: クリティカルパスの説明として正しいのはどれ?
- [x] 遅れがそのまま全体の遅れになる、余裕のないタスクの連なり
- [ ] 最も担当者が多いタスクの列
- [ ] 最初に着手すべきタスクの一覧
解説: 依存関係でつながったタスクのうち余裕(フロート)がゼロの経路がクリティカルパスで、ここの遅れは全体の完了日を直接押し出します。
Q: スクラムのような反復型開発でガントチャートが主役にならない理由はどれ?
- [ ] バーの色数が足りないため
- [ ] 依存関係を表現できないため
- [x] 計画を短いサイクルで見直すため、数か月先まで引いたバーがすぐ陳腐化するため
解説: 頻繁に計画が変わる進め方では長期のバーの維持コストが高く、スプリント単位のボードやバーンダウンチャートの方が実態に合います。