PERT
プロジェクトのスケジューリングの第一歩は、プロジェクトに必要なタスクを洗い出し、それらの完了順序を決定することである。順序が容易に決められるタスクもあれば(例えば、家を建てる場合、基礎工事の前に土地を整地する必要がある)、難しいタスクもある(整地が必要な部分が 2 か所あるが、ブルドーザーが 1 台しかない場合など)。さらに、所要時間には通常時の見積もりをする。あるタスクを実行するための時間は、実際には必要に迫られて短縮されることが多い。
以下の例では、a から g までの 7 つのタスクを考える。一部のタスク(a と b)は同時に実施できるが、他は先行タスクが完了するまで実施できない(c は a が完了するまで開始できない)。さらに、それぞれのタスクには 3 種類の見積もり時間がある。楽観的見積もり時間 (q)、最確見積もり時間または正常見積もり時間 (m)、悲観的見積もり時間 (p) である。期待時間 (TE) は (q + 4m + p) / 6 という式で計算する。
注意: 全ての時間は実働日数である。
次に、ガントチャートかネットワーク図を描く。
ネットワーク図は人間が描くこともできるし、作図ソフトウェアで描くこともできる。ネットワーク図には、矢印を作業とする図 (Activity on Arrow) と、ノードを作業とする図 (Activity on Node) との2種類がある。日本では、説明にはよく前者を用いていて、その図をアローダイアグラム(矢線図)と呼んでいる。このほうが(前後のノードでの)時刻の重複がないので、手間が少なくなる。
タスク完了に必要と思われる最もそれらしい見積時間。全てが普通に進行した場合の見積。
しかし、ノード(ここでは四角形で表す)を作業とする図のほうが作成と理解が容易なので、ここではそういう図を作成する。まず、Start と名づけたノードから作図を開始する。この「作業」にかかる時間はゼロ (0) である。次に先行作業のない作業(例では a と b)を描き、ノード Start からそれらに矢印を描く。c と d の先行作業は a なので、これらのノードを描き a から矢印を引く。e の先行作業は b と c となっているので、ノード e を描いて b と c から矢印を引く。作業 f の先行作業は d なので、そのように節と矢印を描く。同様に、e から g へ矢印を描く。f と g の後には作業がないので、ノード Finish を描いて、f および g から矢印を引けばよい。
このようにして描いたネットワーク図は、ガントチャートに比較して情報が多いわけではない。しかし、この図に表示する情報を追加することができる。一般に以下のような情報が書き込まれる。
作業名
期待時間
最早開始時刻 (ES)
最早完了時刻 (EF) or 最早結合点時刻 (earliest node time)
最遅開始時刻 (LS)
最遅完了時刻 (LF) or 最遅結合点時刻 (latest node time)
スラック(結合点余裕時間)
これらの値を決定するため、作業とその標準見積もり時間は判っているものとする。まず、ES と EF を決定する。ES は全先行作業の EF の最大値で定義される。その作業が最初の作業の場合、ES は 0 となる。