1. 概要
日程計画は、プロジェクト管理において不可欠な手法であり、作業の順序関係や所要時間を分析し、プロジェクト全体の最適なスケジュールを策定するための技術です。代表的な手法として、PERT(Program Evaluation and Review Technique)とCPM(Critical Path Method:クリティカルパス法)があります。これらは1950年代後半に開発され、大規模プロジェクトの管理に革命をもたらしました。
PERTは米国海軍がポラリスミサイル開発プロジェクトで開発した手法で、不確実性の高いプロジェクトに適しています。一方、CPMは化学プラントの建設プロジェクトから生まれ、作業時間が比較的確定的な場合に有効です。両手法とも、ネットワーク図を用いて作業の依存関係を可視化し、クリティカルパス(最長経路)を特定することで、プロジェクト全体の最短完了時間を求めます。現代では、これらの手法は統合され、プロジェクト管理ソフトウェアに実装されています。
2. 詳細説明
2.1 PERTの理論と特徴
PERTは、作業時間に不確実性がある場合に有効な確率的手法です。各作業について、楽観的時間(a)、最可能時間(m)、悲観的時間(b)の3つの見積もりを行い、期待時間を計算します。期待時間の計算式は、te = (a + 4m + b) / 6 で表されます。この式はベータ分布を基にしており、最可能時間に重みを置いた加重平均となっています。
PERTの特徴は、プロジェクトの完了時間を確率的に評価できる点にあります。各作業の分散を σ² = ((b – a) / 6)² で計算し、クリティカルパス上の作業の分散を合計することで、プロジェクト全体の完了時間の分散を求めます。これにより、特定の期日までにプロジェクトが完了する確率を算出できます。
2.2 CPMの理論と計算方法
CPMは、作業時間が確定的な場合に用いる決定論的手法です。ネットワーク図上で各作業の最早開始時刻(ES)、最早完了時刻(EF)、最遅開始時刻(LS)、最遅完了時刻(LF)を計算します。フォワードパス計算では、プロジェクト開始から順に各作業の最早時刻を求め、バックワードパス計算では、プロジェクト終了から逆算して最遅時刻を求めます。
各作業の余裕時間(スラック)は、LS – ES または LF – EF で計算されます。余裕時間がゼロの作業がクリティカルパスを構成し、これらの作業が遅延するとプロジェクト全体が遅延します。CPMの利点は、資源の最適配分や工期短縮の検討が容易になることです。
2.3 ネットワーク図の作成方法
ネットワーク図には、AOA(Activity On Arrow)図とAON(Activity On Node)図の2種類があります。AOA図では矢線が作業を表し、節点が作業の開始・終了点を示します。一方、AON図では節点が作業を表し、矢線が作業間の依存関係を示します。現代では、理解しやすさからAON図が主流となっています。
ネットワーク図作成の手順は、まず作業を洗い出し、各作業の先行・後続関係を明確にします。次に、ダミー作業(AOA図で論理的関係を表すための仮想作業)を必要に応じて追加し、図を完成させます。
3. 実装方法と応用例
3.1 現代のプロジェクト管理ツールでの実装
Microsoft ProjectやPrimavera P6などの専門的なプロジェクト管理ソフトウェアでは、PERTとCPMの機能が統合されています。これらのツールでは、ガントチャートとネットワーク図を連動させ、リアルタイムでクリティカルパスを表示できます。また、リソースの平準化機能により、人員や設備の効率的な配分も可能です。
計画
実績
graph LR
A["A
Duration: 3
ES: 0 | EF: 3
LS: 2 | LF: 5
Slack: 2"]
B["B
Duration: 5
ES: 0 | EF: 5
LS: 0 | LF: 5
Slack: 0"]:::critical
C["C
Duration: 4
ES: 3 | EF: 7
LS: 5 | LF: 9
Slack: 2"]
D["D
Duration: 6
ES: 5 | EF: 11
LS: 5 | LF: 11
Slack: 0"]:::critical
E["E
Duration: 2
ES: 7 | EF: 9
LS: 9 | LF: 11
Slack: 2"]
F["F
Duration: 3
ES: 11 | EF: 14
LS: 11 | LF: 14
Slack: 0"]:::critical
Start((Start)) --> A
Start --> B
A --> C
A --> D
B --> D
C --> E
D --> F
E --> F
F --> End((End))
B -.->|Critical Path| D
D -.->|Critical Path| F
classDef critical fill:#ff6b6b,stroke:#d63031,stroke-width:3px,color:#fff
classDef default fill:#74b9ff,stroke:#0984e3,stroke-width:2px,color:#000
classDef startEnd fill:#a29bfe,stroke:#6c5ce7,stroke-width:2px,color:#000
class Start,End startEnd
クラウドベースのツールも普及しており、チーム全体でプロジェクトの進捗をリアルタイムに共有できます。AI機能を搭載したツールでは、過去のプロジェクトデータから作業時間を自動推定し、リスクの高い作業を事前に警告する機能も実装されています。
3.2 業界別の応用事例
建設業界では、CPMが標準的な工程管理手法として定着しています。高層ビル建設では数千の作業を管理し、天候による遅延リスクをPERTで評価します。IT業界では、アジャイル開発と組み合わせて、スプリント単位でクリティカルパスを更新する手法が採用されています。
製造業では、新製品開発プロジェクトでPERT/CPMを活用し、市場投入時期の最適化を図っています。特に自動車業界では、サプライチェーン全体を含めた大規模なネットワーク図を作成し、部品調達から組立、品質検査までの全工程を管理しています。
graph TD
A["A
所要日数: 3日
ES: 0, EF: 3
LS: 2, LF: 5
スラック: 2"]
B["B
所要日数: 5日
ES: 0, EF: 5
LS: 0, LF: 5
スラック: 0"]:::critical
C["C
所要日数: 4日
ES: 3, EF: 7
LS: 5, LF: 9
スラック: 2"]
D["D
所要日数: 6日
ES: 5, EF: 11
LS: 5, LF: 11
スラック: 0"]:::critical
E["E
所要日数: 2日
ES: 7, EF: 9
LS: 9, LF: 11
スラック: 2"]
F["F
所要日数: 3日
ES: 11, EF: 14
LS: 11, LF: 14
スラック: 0"]:::critical
Start[開始]
End[終了]
Start --> A
Start --> B
A --> C
A --> D
B --> D:::criticalPath
C --> E
D --> F:::criticalPath
E --> F
F --> End
classDef critical fill:#ff9999,stroke:#ff0000,stroke-width:3px
classDef criticalPath stroke:#ff0000,stroke-width:4px
4. 例題と解説
【問題】
あるシステム開発プロジェクトの作業と所要日数、先行作業が以下の表の通りである。このプロジェクトの最短完了日数とクリティカルパスを求めよ。
| 作業 | 所要日数 | 先行作業 |
| A | 3日 | – |
| B | 5日 | – |
| C | 4日 | A |
| D | 6日 | A, B |
| E | 2日 | C |
| F | 3日 | D, E |
【解答と解説】
この種の問題はPERT図(アローダイアグラム)を作成して解くと分かりやすくなります。
1. 各作業の開始日と終了日を計算する
各作業が最も早く開始できる日(最早開始日)と、最も早く終了できる日(最早終了日)を計算します。
- 作業A: 0日目に開始 → 3日目に終了
- 作業B: 0日目に開始 → 5日目に終了
- 作業C: 先行作業Aの終了後なので、3日目に開始 → 3 + 4 = 7日目に終了
- 作業D: 先行作業A(3日目)とB(5日目)の両方が終わってからなので、遅い方である 5日目 に開始 → 5 + 6 = 11日目に終了
- 作業E: 先行作業Cの終了後なので、7日目に開始 → 7 + 2 = 9日目に終了
- 作業F: 先行作業D(11日目)とE(9日目)の両方が終わってからなので、遅い方である 11日目 に開始 → 11 + 3 = 14日目に終了
すべての作業が完了するのは14日目です。
2. クリティカルパスを特定する
クリティカルパスとは、プロジェクトの完了日数を決定する、遅延が許されない一連の作業のことです。これは、プロジェクト開始から終了までの最も時間のかかる経路です。
各経路の日数を計算します。
- 経路1: A → C → E → F
- A(3日) → C(4日) → E(2日) = 9日。作業Dが終わるまで待つ必要がある。
- Fの開始は11日目からなので、この経路には 11 – 9 = 2日 の余裕があります。
- 経路2: B → D → F
- B(5日) → D(6日) = 11日。
- Fの開始(11日目)まで余裕がなく、そのままF(3日)に繋がります。
- 合計日数: 5 + 6 + 3 = 14日
最も時間のかかる経路は「B → D → F」であり、この経路上の作業に遅れが生じるとプロジェクト全体が遅延します。
5. まとめ
日程計画におけるPERTとCPMは、プロジェクト管理の基本的かつ重要な手法です。PERTは不確実性を考慮した確率的アプローチ、CPMは確定的な最適化アプローチという特徴があります。両手法の理解は、効率的なプロジェクト管理に不可欠であり、応用情報技術者として必須の知識です。現代のプロジェクト管理ツールではこれらの手法が統合され、より高度な分析が可能になっています。実務では、プロジェクトの性質に応じて適切な手法を選択し、継続的な見直しと改善を行うことが成功の鍵となります。
ご利用上のご注意
このコンテンツの一部は、生成AIによるコンテンツ自動生成・投稿システムをもちいて作成し、人間がチェックをおこなった上で公開しています。チェックは十分に実施していますが、誤謬・誤解などが含まれる場合が想定されます。お気づきの点がございましたらご連絡いただけましたら幸甚です。

