コンテンツにスキップ

ガントチャート実践ガイド

関連issue: #91, #135 作成日: 2026-03-10


目次

  1. ガントチャートとは
  2. ガントチャートの構成要素
  3. WBSからガントチャートへ
  4. ハンズオン: Googleスプレッドシートで作るガントチャート
  5. 依存関係とクリティカルパス
  6. ツール比較
  7. MyLabプロジェクトでの適用例
  8. よくある落とし穴
  9. 参考資料

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からガントチャートへ

変換の手順

  1. WBSでタスクを洗い出すWBSガイド参照)
  2. 各タスクの工数を見積もる
  3. 依存関係を特定する(どのタスクが前提条件か)
  4. 開始日・終了日を設定する
  5. マイルストーンを設定する

依存関係の4パターン

パターン 略称 意味
終了-開始 FS Aが終わったらBを開始 設計 → 実装
開始-開始 SS Aが始まったらBも開始できる フロント実装 & バックエンド実装
終了-終了 FF Aが終わったらBも終了する テスト & バグ修正
開始-終了 SF Aが始まったらBを終了する (稀にしか使わない)

最も一般的なのは FS(終了-開始)。まずはFSだけ理解していれば十分。


4. ハンズオン: Googleスプレッドシートで作るガントチャート

方法1: テンプレートギャラリーから作成(最も簡単)

  1. Google スプレッドシートを開く
  2. 「テンプレートギャラリー」をクリック
  3. 「プロジェクト管理」カテゴリから「ガントチャート」を選択
  4. テンプレートが開くので、自分のタスクに書き換える

テンプレートには条件付き書式が設定済みで、開始日・終了日を入力するとバーが自動表示される。

方法2: ゼロから作成(仕組みを理解する)

Step 1: 基本構造を作る

内容
A WBS番号
B タスク名
C 担当
D 開始日
E 終了日
F 日数
G以降 日付ヘッダー(1日1列)

Step 2: 日付ヘッダーを作る

G1セルにプロジェクト開始日を入力し、H1以降は =G1+1 で連続した日付を生成する。

G1: 2026-03-10
H1: =G1+1  → 2026-03-11
I1: =H1+1  → 2026-03-12
...

日付の表示形式は「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セル以降のガントチャート領域を選択し、条件付き書式を設定する:

  1. 「書式」→「条件付き書式」
  2. 「カスタム数式」を選択
  3. 数式: =AND(G$1>=$D2, G$1<=$E2)
  4. 書式: 背景色を青などに設定

この数式は「列の日付がタスクの開始日〜終了日の範囲内なら色を付ける」という意味。

Step 5: 今日の線を追加する(オプション)

さらに条件付き書式を追加:

  1. 数式: =G$1=TODAY()
  2. 書式: 左のボーダーを赤い太線に設定

Step 6: 土日をグレーアウトする(オプション)

条件付き書式を追加:

  1. 数式: =OR(WEEKDAY(G$1)=1, WEEKDAY(G$1)=7)
  2. 書式: 背景色を薄いグレーに設定

方法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日(クリティカルパスの長さ)

クリティカルパスの見つけ方

  1. すべてのタスクの依存関係を洗い出す
  2. 各パス(開始から終了までのルート)の合計日数を計算する
  3. 最も長いパスがクリティカルパス

実践での活用

  • クリティカルパス上のタスクには、最も経験豊富なメンバーを割り当てる
  • クリティカルパス上のタスクの進捗を重点的に監視する
  • バッファ(余裕日数)はクリティカルパス外のタスクに持たせる

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のロードマップビューでガントチャート風の管理ができる。

設定手順

  1. GitHub Projects で新しいビューを追加
  2. レイアウトを「ロードマップ」に変更
  3. カスタム日付フィールドを追加:
  4. Start Date(開始日)
  5. Target Date(目標日)
  6. 各Issueにフィールドを設定
  7. ズームレベル(月/四半期/年)を調整

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スプレッドシート - テンプレートギャラリーから即開始
  • GanttProject - 完全無料のデスクトップアプリ
  • Mermaid Live Editor - ブラウザ上でMermaid記法を試せる

次のステップ

ガントチャートでスケジュールを可視化したら、次は カンバン運用ガイド で日々の実行管理を学ぼう。