はじめに
プロジェクトには、基本的に期限があります。
例えば、
4月:要件定義
5月:設計
6〜8月:開発
9月:テスト
10月:リリース
と計画したとします。
しかし実際には、
設計が3日遅れた
担当者が別案件と重なった
テストで不具合が見つかった
など、さまざまな問題が発生します。
そこで必要になるのが、
スケジュールマネジメント(Schedule Management)
です。
今回は、
スケジュールマネジメント
│
├─ スケジュール作成・管理
│ ├─ PERT
│ ├─ クリティカルパス
│ ├─ ファストトラッキング
│ ├─ クラッシング
│ ├─ PDM
│ └─ クリティカルチェーン法
│
└─ 進捗管理
├─ ガントチャート
├─ バーンダウンチャート
└─ トレンドチャート
という流れで学んでいきましょう。
1. スケジュールマネジメントとは
スケジュールマネジメントとは、
プロジェクトを期限までに完了させるために、作業の順序・期間・開始日・終了日・進捗などを管理すること
です。
前回の記事で学んだWBSによって、
システム開発
│
├─ 要件定義
├─ 設計
├─ 開発
└─ テスト
のように作業を洗い出しました。
しかし、作業を洗い出しただけでは、
どれから始める?
何日かかる?
同時にできる?
どの作業が遅れると納期も遅れる?
といったことが分かりません。
そこで作業の順序や期間を考え、スケジュールを作成します。
2. WBSからスケジュールへ
スケジュールを作る流れを簡単にすると、
プロジェクトの範囲を決める
↓
WBS
↓
作業を細分化する
↓
作業の順序を考える
↓
作業時間を見積もる
↓
スケジュールを作成する
↓
進捗を確認・管理する
となります。
つまり、
WBSは「何をするか」、スケジュールは「いつ、どの順番でするか」
と考えると分かりやすいです。
PERT
3. PERTとは
**PERT(Program Evaluation and Review Technique)**は、
作業同士の順序関係や所要時間をもとに、プロジェクト全体のスケジュールを分析する手法
です。
作業の前後関係をネットワーク図として表現することで、
- どの作業を先に行うか
- 並行して実施できる作業はどれか
- プロジェクト全体で何日かかるか
- どの作業が遅れると全体が遅れるか
などを分析できます。
4. PERTの考え方
例えば次のプロジェクトを考えます。
| 作業 | 前の作業 | 所要日数 |
|---|---|---|
| A | なし | 3日 |
| B | A | 4日 |
| C | A | 2日 |
| D | B | 5日 |
| E | C | 3日 |
| F | D・E | 2日 |
流れを簡単に表すと、
┌─ B:4日 ─ D:5日 ─┐
A:3日 ┤ ├─ F:2日
└─ C:2日 ─ E:3日 ─┘
Aが終わったあと、
B → D
と、
C → E
を並行して進められます。
クリティカルパス
5. クリティカルパスとは
PERTなどのネットワーク図で非常に重要なのが、
クリティカルパス(Critical Path)
です。
クリティカルパスとは、
プロジェクト開始から終了までの経路のうち、所要時間が最も長い経路
です。
先ほどの例を計算してみましょう。
経路①
A → B → D → F
3 + 4 + 5 + 2
= 14日
経路②
A → C → E → F
3 + 2 + 3 + 2
= 10日
したがって、
A → B → D → F
がクリティカルパスです。
プロジェクト全体の最短完了期間は、
14日
となります。
6. なぜ「一番長い経路」が重要なのか
最初は、
「一番短い経路じゃないの?」
と思うかもしれません。
しかし、プロジェクトはすべての必要作業が完了しなければ終了できません。
先ほどの場合、
A → C → E → F
側の作業が早く終わっても、
A → B → D
側が終わるまで待つ必要があります。
つまり、
最も時間がかかる経路がプロジェクト全体の期間を決める
ということです。
7. クリティカルパス上の作業が遅れるとどうなる?
クリティカルパス上にある、
A
B
D
F
の作業が1日遅れたとします。
基本的には、
作業が1日遅れる
↓
クリティカルパスが1日延びる
↓
プロジェクト全体も1日遅れる
ことになります。
そのためプロジェクトマネージャは、
クリティカルパス上の作業を特に注意して管理する
必要があります。
8. 余裕時間
一方、クリティカルパスではない経路には、ある程度の**余裕時間(フロート/スラック)**が存在する場合があります。
先ほどの場合、
クリティカルパス:14日
もう一方の経路:10日
なので、単純な経路比較では4日の差があります。
このような余裕を活用することで、一部の作業が多少遅れてもプロジェクト全体の完了日に影響しない場合があります。
ただし、実際のネットワークでは作業の合流や依存関係があるため、各作業の正確な余裕時間は最早開始時刻・最遅開始時刻などから求めます。
🍯 クリティカルパスは「遅れる余裕がない重要ルート」と考えると覚えやすいです。
PDM
9. プレシデンス・ダイアグラム法とは
**プレシデンス・ダイアグラム法(Precedence Diagramming Method:PDM)**とは、
作業をノードで表し、作業同士の依存関係を矢印で表現する方法
です。
例えば、
[要件定義]
↓
[設計]
↓
[開発]
↓
[テスト]
のように表現します。
このような、
作業を箱(ノード)として表現する
方法です。
10. PDMでは作業同士の依存関係を表現できる
PDMでは作業同士の関係を、
- 終了 → 開始
- 開始 → 開始
- 終了 → 終了
- 開始 → 終了
などで表現できます。
終了 → 開始
最もイメージしやすい関係です。
設計が終了
↓
開発を開始
つまり、
前の作業が終わらないと次の作業を開始できない
という関係です。
11. PERTとPDMの違い
PERTとPDMは関連しますが、完全に同じものではありません。
PERTは、
作業時間や依存関係からスケジュールを分析する手法
として使われます。
PDMは、
作業同士の依存関係をネットワーク図として表現する方法
です。
そのため、
PDMなどで
作業の依存関係を表す
↓
ネットワークを分析する
↓
クリティカルパスを求める
というようにつながります。
スケジュールを短縮する方法
12. スケジュールが間に合わない!
プロジェクトを進めていると、
このままだと納期に間に合わない!
ということがあります。
そんなときに検討される代表的な方法が、
- ファストトラッキング
- クラッシング
です。
どちらも、
スケジュールを短縮するための方法
ですが、やり方が異なります。
ファストトラッキング
13. ファストトラッキングとは
**ファストトラッキング(Fast Tracking)**とは、
本来は順番に行う作業の一部を並行して実施することで、スケジュールを短縮する方法
です。
例えば本来、
設計
↓
設計完了
↓
開発開始
だったとします。
これを、
設計 ──────────┐
↓一部完成 │
開発 ─────────┘
のように、設計が完全に終わる前から開発を始めます。
これによって全体の期間を短縮できます。
14. ファストトラッキングのリスク
ただし、問題があります。
設計が完成する前に開発を始めるため、
設計変更
↓
すでに作った部分を修正
↓
手戻り発生
となる可能性があります。
つまりファストトラッキングは、
期間を短縮できる代わりに、手戻りなどのリスクが高まる
方法です。
クラッシング
15. クラッシングとは
**クラッシング(Crashing)**とは、
人員や設備などの資源を追加投入して作業期間を短縮する方法
です。
例えば、
エンジニア2人
↓
10日
かかる作業に、
エンジニアを追加
↓
期間を短縮
するイメージです。
16. クラッシングの注意点
人員を追加すると、
期間
↓
短縮できる可能性
コスト
↓
増加
となります。
つまり、
時間を短縮する代わりにコストが増える
可能性があります。
また、作業によっては単純に人を増やしても比例して速くなるとは限りません。
17. ファストトラッキングとクラッシングの違い
ここは試験でも区別しておきたいポイントです。
| 手法 | 方法 | 主なデメリット |
|---|---|---|
| ファストトラッキング | 作業を並行化する | 手戻り・リスク増加 |
| クラッシング | 資源を追加する | コスト増加 |
覚え方は、
ファストトラッキング
→ 順番を崩して同時にやる
クラッシング
→ お金・人などを追加する
です。
🍯 「時間を買う」のがクラッシング、「順番を重ねる」のがファストトラッキング、と覚えると区別しやすいです。
クリティカルチェーン法
18. クリティカルチェーン法とは
**クリティカルチェーン法(Critical Chain Method)**とは、
作業の依存関係だけでなく、利用できる人員や設備などの資源制約も考慮してスケジュールを管理する方法
です。
例えば、
作業A:田中さん
作業B:田中さん
だった場合、
理論上、
AとBは同時にできる!
という依存関係でも、田中さんが1人しかいなければ、
田中さん
├─ A
└─ B
→ 同時にはできない
ですよね。
このような資源の制約まで考えるのが重要な特徴です。
19. バッファを利用する
クリティカルチェーン法では、
バッファ(Buffer)
という余裕時間をまとめて設けます。
例えば、
作業A
↓
作業B
↓
作業C
↓
【プロジェクトバッファ】
↓
納期
という形です。
各作業へ過剰な余裕を持たせるのではなく、必要な場所にバッファを配置してプロジェクト全体を管理します。
20. クリティカルパスとの違い
大まかに整理すると、
クリティカルパス
作業の依存関係
+
作業時間
を中心に考えます。
クリティカルチェーン
作業の依存関係
+
作業時間
+
人員・設備などの資源制約
まで考えます。
つまり、
クリティカルチェーン法は「そのスケジュール、本当にその人数で実行できる?」まで考える
というイメージです。
進捗管理
21. 計画したら終わりではない
スケジュールを作成したとしても、
計画完成!
プロジェクトマネジメント終了!
ではありません。
実際にプロジェクトを進めながら、
予定どおり進んでいる?
遅れている?
残り作業はどれくらい?
このまま納期に間に合う?
を確認する必要があります。
そこで利用されるのが進捗管理手法です。
ガントチャート
22. ガントチャートとは
**ガントチャート(Gantt Chart)**とは、
作業を縦軸、時間を横軸にして、各作業の予定や進捗を棒で表した図
です。
例えば、
1週 2週 3週 4週 5週
要件定義 ████
設計 ████████
開発 ████████████
テスト ████████
という形です。
23. ガントチャートのメリット
ガントチャートを見ると、
- いつ開始するか
- いつ終了するか
- どの作業を行っているか
- 作業同士が重なっているか
- 進捗が予定どおりか
などを視覚的に確認できます。
そのため、
プロジェクト全体の予定を直感的に把握しやすい
というメリットがあります。
バーンダウンチャート
24. バーンダウンチャートとは
**バーンダウンチャート(Burndown Chart)**とは、
残っている作業量が時間の経過とともにどれだけ減っているかを表すグラフ
です。
例えば、
残作業量
100 |●
80 | ●
60 | ●
40 | ●
20 | ●
0 |____________●
1 2 3 4 5
日数
という形です。
プロジェクトが進むほど、
残作業量が減っていく
ため、グラフが下がっていきます。
25. バーンダウンチャートの見方
例えば、
理想線
\
\
\
\
\
実績
\
\____
\
のように、実績の残作業量が理想より多ければ、
予定より作業が残っている
と判断できます。
特にアジャイル開発やスクラムなどでよく利用される進捗管理方法です。
トレンドチャート
26. トレンドチャートとは
**トレンドチャート(Trend Chart)**とは、
時間の経過に伴う進捗や指標の変化・傾向をグラフで確認する方法
です。
例えば、プロジェクトの完了予定日を定期的に予測するとします。
確認日 完了予定日
4/1 6/30
4/15 7/3
5/1 7/10
5/15 7/20
このように完了予定日がどんどん後ろへずれていれば、
プロジェクトが遅延する傾向にある
と判断できます。
27. トレンドを見る意味
ある日の数字だけを見ると、
3日遅れている
ということしか分かりません。
しかし継続的に記録すると、
1週間前:1日遅れ
現在:3日遅れ
→ 遅れが拡大している
という**傾向(Trend)**が見えます。
そのため、問題が深刻になる前に対応を検討しやすくなります。
28. 3つの進捗管理手法を比較
| 手法 | 主に見るもの | 特徴 |
|---|---|---|
| ガントチャート | 各作業の予定・期間・進捗 | 全体を視覚的に把握しやすい |
| バーンダウンチャート | 残作業量 | 作業がどれだけ減ったかを見る |
| トレンドチャート | 時間による指標の変化 | 遅延などの傾向を見る |
ざっくり覚えるなら、
ガントチャート
→ いつ何をする?
バーンダウン
→ あとどれだけ残っている?
トレンドチャート
→ どんな方向に変化している?
です。
29. スケジュールマネジメントの全体像
今回学んだ内容をまとめると、
WBS
│
└─ 必要な作業を洗い出す
↓
作業の順序・期間を決める
↓
スケジュール作成
│
├─ PERT
│ └─ 作業時間・依存関係を分析
│
├─ PDM
│ └─ 作業間の依存関係を表現
│
├─ クリティカルパス
│ └─ 最も時間がかかる経路
│
└─ クリティカルチェーン
└─ 資源制約まで考慮
↓
プロジェクト実行
↓
進捗管理
│
├─ ガントチャート
├─ バーンダウンチャート
└─ トレンドチャート
↓
遅延が発生
↓
スケジュール短縮
│
├─ ファストトラッキング
│ └─ 作業を並行化
│
└─ クラッシング
└─ 資源を追加
この一連の流れで考えると、それぞれの用語の役割がかなり整理しやすくなります。
まとめ
この記事で覚えること
- スケジュールマネジメントでは作業の順序・期間・進捗などを管理する
- WBSで洗い出した作業をもとにスケジュールを作成する
- PERTは作業の順序関係や所要時間からスケジュールを分析する手法
- クリティカルパスは開始から終了までの経路のうち所要時間が最も長い経路
- クリティカルパス上の遅延はプロジェクト全体の遅延につながりやすい
- PDMでは作業をノード、依存関係を矢印で表現する
- ファストトラッキングは本来順番に行う作業を並行して進める
- ファストトラッキングでは手戻りなどのリスクが増える
- クラッシングは人員や設備などの資源を追加して期間を短縮する
- クラッシングではコストが増える可能性がある
- クリティカルチェーン法では作業関係だけでなく資源制約も考慮する
- ガントチャートは作業と時間を棒グラフ形式で表す
- バーンダウンチャートは残作業量の減少を見る
- トレンドチャートは時間経過による進捗指標などの傾向を見る
🍯 はちみつメモ
スケジュール管理は「作る→見る→直す」で整理しよう。PERT・PDM・クリティカルパスでスケジュールを考え、ガントチャートやバーンダウンチャートで進捗を見る。間に合わなければ「並行して進める=ファストトラッキング」「資源を追加する=クラッシング」。クリティカルパスは“最も長くて、遅れると全体に響く道”と覚えよう!