ガントチャート実践ガイド¶
関連issue: #91, #135 作成日: 2026-03-10
目次¶
- ガントチャートとは
- ガントチャートの構成要素
- WBSからガントチャートへ
- ハンズオン: Googleスプレッドシートで作るガントチャート
- 依存関係とクリティカルパス
- ツール比較
- MyLabプロジェクトでの適用例
- よくある落とし穴
- 参考資料
1. ガントチャートとは¶
定義¶
ガントチャートは、プロジェクトのタスクを時間軸に沿って棒グラフ(バー)で表示するスケジュール管理手法。1910年代にヘンリー・ガント(Henry Gantt)が考案した。
- 縦軸: タスク一覧
- 横軸: 時間(日・週・月)
- 各タスクの開始日〜終了日を横棒で表現
WBSとの違い¶
| 観点 | WBS | ガントチャート |
|---|---|---|
| 表すもの | 作業の構造(何をやるか) | スケジュール(いつやるか) |
| 時間軸 | なし | あり |
| 依存関係 | 表現しない | 矢印で表現 |
| 用途 | 作業の洗い出し | 計画の可視化・進捗管理 |
WBSで「何をやるか」を決め、ガントチャートで「いつやるか」を決める。
いつ使うか¶
- プロジェクトに明確な期限がある
- 複数のタスクを並行して進める必要がある
- ステークホルダーにスケジュールを共有したい
- タスク間に依存関係(AがBの前提)がある
2. ガントチャートの構成要素¶
基本要素¶
タスク名 | 3/10 3/11 3/12 3/13 3/14 3/15 3/16
----------------|--------------------------------------------
要件定義 | ████████████
画面設計 | ██████████
DB設計 | ██████████████████
フロント実装 | ████████████████████
バックエンド実装| ████████████████████
テスト | ████████
リリース | ◆
| 要素 | 説明 |
|---|---|
| タスクバー | 横棒。長さが作業期間を表す |
| マイルストーン | ◆ で表す重要な節目。作業期間は0日 |
| 依存関係 | タスク間を結ぶ矢印。前のタスクが終わらないと次に進めない |
| 進捗率 | バーの塗りつぶし割合で進捗を表現 |
| 今日の線 | 今日の日付を示す縦線。遅延の有無が一目でわかる |
サマリータスクとサブタスク¶
WBSの階層構造をガントチャートに反映できる:
1. 設計(サマリー) | ████████████████████
1.1 画面設計 | ████████████
1.2 DB設計 | ████████████████
2. 実装(サマリー) | ████████████████████
2.1 フロントエンド | ████████████
2.2 バックエンド | ████████████████
サマリータスクのバーは、子タスク全体の期間をまとめて表示する。
3. WBSからガントチャートへ¶
変換の手順¶
- WBSでタスクを洗い出す(WBSガイド参照)
- 各タスクの工数を見積もる
- 依存関係を特定する(どのタスクが前提条件か)
- 開始日・終了日を設定する
- マイルストーンを設定する
依存関係の4パターン¶
| パターン | 略称 | 意味 | 例 |
|---|---|---|---|
| 終了-開始 | FS | Aが終わったらBを開始 | 設計 → 実装 |
| 開始-開始 | SS | Aが始まったらBも開始できる | フロント実装 & バックエンド実装 |
| 終了-終了 | FF | Aが終わったらBも終了する | テスト & バグ修正 |
| 開始-終了 | SF | Aが始まったらBを終了する | (稀にしか使わない) |
最も一般的なのは FS(終了-開始)。まずはFSだけ理解していれば十分。
4. ハンズオン: Googleスプレッドシートで作るガントチャート¶
方法1: テンプレートギャラリーから作成(最も簡単)¶
- Google スプレッドシートを開く
- 「テンプレートギャラリー」をクリック
- 「プロジェクト管理」カテゴリから「ガントチャート」を選択
- テンプレートが開くので、自分のタスクに書き換える
テンプレートには条件付き書式が設定済みで、開始日・終了日を入力するとバーが自動表示される。
方法2: ゼロから作成(仕組みを理解する)¶
Step 1: 基本構造を作る¶
| 列 | 内容 |
|---|---|
| A | WBS番号 |
| B | タスク名 |
| C | 担当 |
| D | 開始日 |
| E | 終了日 |
| F | 日数 |
| G以降 | 日付ヘッダー(1日1列) |
Step 2: 日付ヘッダーを作る¶
G1セルにプロジェクト開始日を入力し、H1以降は =G1+1 で連続した日付を生成する。
日付の表示形式は「d」(日のみ)に設定すると見やすい。2行目に曜日を表示する場合は =TEXT(G1,"ddd") を使う。
Step 3: タスク情報を入力する¶
A B C D E F
1 要件定義 自分 2026-03-10 2026-03-12 =E2-D2+1
1.1 画面設計 自分 2026-03-13 2026-03-15 =E3-D3+1
1.2 DB設計 自分 2026-03-13 2026-03-16 =E4-D4+1
2 実装 自分 2026-03-17 2026-03-23 =E5-D5+1
Step 4: 条件付き書式でバーを表示する¶
G2セル以降のガントチャート領域を選択し、条件付き書式を設定する:
- 「書式」→「条件付き書式」
- 「カスタム数式」を選択
- 数式:
=AND(G$1>=$D2, G$1<=$E2) - 書式: 背景色を青などに設定
この数式は「列の日付がタスクの開始日〜終了日の範囲内なら色を付ける」という意味。
Step 5: 今日の線を追加する(オプション)¶
さらに条件付き書式を追加:
- 数式:
=G$1=TODAY() - 書式: 左のボーダーを赤い太線に設定
Step 6: 土日をグレーアウトする(オプション)¶
条件付き書式を追加:
- 数式:
=OR(WEEKDAY(G$1)=1, WEEKDAY(G$1)=7) - 書式: 背景色を薄いグレーに設定
方法3: Mermaid記法で作成(GitHub連携向き)¶
GitHub IssueやMarkdownファイルにガントチャートを埋め込める:
```mermaid
gantt
title タスク管理ハンズオン学習
dateFormat YYYY-MM-DD
section WBS
IPA実践ガイド :a1, 2026-03-10, 1d
Udemy WBSコース :a2, after a1, 1d
実務ブログ読む :a3, after a2, 1d
WBS作成ハンズオン :a4, after a3, 1d
section ガントチャート
Asana記事を読む :b1, after a2, 1d
スプレッドシートで作成 :b2, after b1, 1d
section カンバン
概念学習 :c1, after b1, 1d
GitHub Projectsで実践 :c2, after c1, 2d
section GitHub Projects
Microsoft Learn :d1, after c2, 1d
ハンズオン設定 :d2, after d1, 2d
```
Mermaid記法はテキストベースなのでGitで差分管理でき、GitHub上で自動レンダリングされる。
5. 依存関係とクリティカルパス¶
クリティカルパスとは¶
プロジェクト全体の最短完了日を決定するタスクの連鎖。クリティカルパス上のタスクが1日遅れると、プロジェクト全体が1日遅れる。
タスクA (3日) → タスクC (5日) → タスクE (2日) = 10日 ← クリティカルパス
タスクB (2日) → タスクD (3日) = 5日
プロジェクト全体の最短期間 = 10日(クリティカルパスの長さ)
クリティカルパスの見つけ方¶
- すべてのタスクの依存関係を洗い出す
- 各パス(開始から終了までのルート)の合計日数を計算する
- 最も長いパスがクリティカルパス
実践での活用¶
- クリティカルパス上のタスクには、最も経験豊富なメンバーを割り当てる
- クリティカルパス上のタスクの進捗を重点的に監視する
- バッファ(余裕日数)はクリティカルパス外のタスクに持たせる
6. ツール比較¶
無料で使えるガントチャートツール¶
| ツール | 特徴 | おすすめ度 | コスト |
|---|---|---|---|
| Googleスプレッドシート | 最も手軽。テンプレートあり | 初心者に最適 | 無料 |
| GanttProject | デスクトップアプリ。高機能 | 本格的に学びたい人向け | 無料 |
| Mermaid | テキストベース。GitHub連携 | エンジニア向け | 無料 |
| GitHub Projects ロードマップ | GitHub統合。Issue連携 | 開発プロジェクト向け | 無料 |
| TeamGantt | ブラウザ上で簡単操作 | チーム作業向け | 無料プランあり |
| Brabio! | 日本製。5人まで無料 | 日本語で使いたい場合 | 5人まで無料 |
選び方の目安¶
個人の学習・練習
→ Googleスプレッドシート(テンプレート利用)
個人開発プロジェクト
→ GitHub Projects ロードマップ or Mermaid
チーム開発
→ GanttProject or TeamGantt
本格的なプロジェクト管理
→ Backlog / Jira / Microsoft Project(有料)
7. MyLabプロジェクトでの適用例¶
GitHub Projects ロードマップビューの活用¶
MyLabリポジトリでは、GitHub Projects v2のロードマップビューでガントチャート風の管理ができる。
設定手順¶
- GitHub Projects で新しいビューを追加
- レイアウトを「ロードマップ」に変更
- カスタム日付フィールドを追加:
Start Date(開始日)Target Date(目標日)- 各Issueにフィールドを設定
- ズームレベル(月/四半期/年)を調整
Mermaid記法でIssueにガントチャートを埋め込む例¶
Issue #91 のbodyやコメントに以下を記載できる:
```mermaid
gantt
title タスク管理ハンズオン学習スケジュール
dateFormat YYYY-MM-DD
section Phase 1: 概念理解
WBS基礎学習 :2026-03-11, 2d
ガントチャート学習 :2026-03-13, 1d
カンバン学習 :2026-03-14, 1d
GitHub Projects学習 :2026-03-15, 1d
section Phase 2: ハンズオン
WBS作成 :2026-03-17, 1d
ガントチャート作成 :2026-03-18, 1d
カンバンボード構築 :2026-03-19, 1d
Projects設定 :2026-03-20, 2d
section Phase 3: 総合演習
架空プロジェクト一気通貫 :2026-03-24, 3d
振り返り :2026-03-27, 1d
```
制約事項¶
GitHub Projects のロードマップビューには以下の制約がある:
- タスク間の依存関係を矢印で表示できない
- クリティカルパスの自動計算ができない
- 進捗率の表示がない
本格的なガントチャートが必要な場合は、GanttProject等の専用ツールとの併用を検討する。
8. よくある落とし穴¶
落とし穴1: 90%シンドローム¶
タスクの進捗が「90%完了」のまま長期間動かない現象。原因は進捗の測り方が曖昧なこと。
対策: 進捗は「完了/未完了」の二値で管理する。タスクを十分に小さく分解していれば、中間の進捗率を気にする必要はない。
落とし穴2: バッファを入れない¶
すべてのタスクがぴったり連続している計画は、1つの遅延で全体が崩れる。
対策: プロジェクト全体の工数の10〜20%をバッファとして確保する。個々のタスクではなく、プロジェクト全体やフェーズ単位でバッファを設ける。
落とし穴3: 作って満足する(更新しない)¶
計画は変わるもの。作ったガントチャートを更新しなければ、すぐに現実と乖離する。
対策: 週次で実績を反映し、必要に応じて計画を再調整する。
落とし穴4: ガントチャートに固執する¶
アジャイル開発のように要件が頻繁に変わるプロジェクトでは、ガントチャートの維持コストが高くなる。
対策: 変化が激しいプロジェクトでは、カンバン(カンバン運用ガイド参照)の方が適している場合がある。ツールに合わせるのではなく、プロジェクトの性質に合った手法を選ぶ。
9. 参考資料¶
無料で学べる資料¶
- Googleスプレッドシートでガントチャートを作る方法(monday.com)
- Asana: ガントチャートの基本と実践ステップ
- Mermaidのガントチャートでプロジェクト管理を効率化(T-CREATOR)
- Googleスプレッドシートによるガントチャートの作り方を図解(Asana)
無料ツール¶
- Googleスプレッドシート - テンプレートギャラリーから即開始
- GanttProject - 完全無料のデスクトップアプリ
- Mermaid Live Editor - ブラウザ上でMermaid記法を試せる
次のステップ¶
ガントチャートでスケジュールを可視化したら、次は カンバン運用ガイド で日々の実行管理を学ぼう。