ゆずたんのAP対策日記

応用情報技術者試験の勉強をブログに残します

Day #4-2 プロジェクトタイムマネジメント

※注意:個人で勉強した内容を記事として書き起こしています。内容が必ずしも正しいという保証はありません。もし間違いを見つけられましたら、コメントなどでお知らせいただけると嬉しいです。

プロジェクトタイムマネジメント とは

プロジェクトを所定の時期に完了させるため、進捗やスケジュールを管理する作業のことを プロジェクトタイムマネジメント と言います。

具体的には、継続的にスケジュールを管理し、進捗に応じて変更したり調整を行ったりすることです。

スケジュールの調整には、よく アローダイアグラム が用いられます。

アローダイアグラム とは

すべての アクティビティ の順序関係と時間を矢印でまとめ、図式化したものを アローダイアグラム と言います。別名 PERT とも呼ばれます。

アローダイアグラムを用いると、 クリティカルパス最早開始日 が簡単に求められます。

https://upload.wikimedia.org/wikipedia/commons/b/b9/Pert_chart_colored.gif By Jeremykemp at English Wikipedia (Transferred from en.wikipedia to Commons.) [Public domain], via Wikimedia Commons

図中の〇印のことを 結合点 または マイルストーン と言い、それらをつなぐ矢印を アクティビティ (作業) と言います。アクティビティは、 WBS で作成したワークパッケージを更に細かく分割した単位でもあります。

アクティビティにごとに見積時間が表され、スタートからゴールまでの作業経路が示されます。結合点に向かって入るアクティビティは、その結合点から出るアクティビティの前提条件となっており、すべてが完了しないと次のアクティビティを開始できません。

上記の図では 作業A が終わらなければ 作業D, E は開始できず、最終的なゴール (50) は 作業C, E, F が全て完了しなければ終わらないということになります。

最早開始日

結合点において最も早く次のアクティビティを開始できる時刻を 最早開始日 または 最早結合点時刻 と言います。

上記の図の結合点 (30) の最早開始日は、 作業A でかかった 3日 となり、結合点 (40) の最早開始日は 作業A + D でかかった 3日 + 1日 = 4日 となります。

しかし、結合点 (50) の最早開始日は (その後にアクティビティがあるとして)

  • 作業F → 作業A+ D + F → 3日 + 1日 + 3日 = 7日
  • 作業E → 作業A + E → 3日 + 2日 = 5日
  • 作業C → 作業B + C → 4日 + 3日 = 7日

のすべてのアクティビティが完了していなければなりません。つまり、最早でも 7日 になります。

なお、このようにスタートから経路を見ていく方法を フォワードパス と言います。

最遅開始日

結合点において最も遅くても次のアクティビティを開始しなければならない時刻を 最遅開始日 または 最遅結合点時刻 と言います。

最早開始日の算出で、上記の図のゴール (50) は最速で 7日 で完了することがわかりました。

そこで、結合点 (30) の最遅開始日を求めようとすると、 作業D, E が遅くてもいつまでに開始しなければいけないかを計算する必要があります。

作業E は 2日 で終わるため、作業開始から 5日目 に作業を開始しても全体のスケジュールには影響を及ぼさないことになります。

作業D は 作業E も合わせて 4 日かかるため、遅くても作業開始から 3日目 に作業を開始しなければなりません。

したがって、結合点 (30) の最遅開始日は、 3日 となります。

同じ計算をすべての結合点で行っていくと、最終的にスタートの結合点の最遅開始日は必ず 0日 になります。

なお、このようにゴールから経路を見ていく方法を バックワードパス と言います。

クリティカルパス

最早開始日と最遅開始日が同じ結合点 (= トータルフロート が 0 の結合点)を結んだラインを クリティカルパス と言います。

つまり時間的余裕がなく、ここが遅れるとプロジェクトのゴールが遅れるということになります。

トータルフロート

それぞれの結合点において、最早開始日と最遅開始日の差で求められる余裕時間です。これが大きいほど、スケジュールが柔軟である (変更に強い) と言えます。

クリティカルパスに遅れが生じる場合、トータルフロートで余った人的資源を割り当てるなどの対策を行うことができます。


スケジュール作成方法

それでは、実際にスケジュールを作っていきます。

クリティカルパス

クリティカルパスを計算し、それを基準にトータルフロートを計算し、スケジュールを構築します。

クリティカルチェーン

クリティカルパスをもとにスケジュールを作成する方法では、資源の制限を全く考慮していません。

そこで、資源の限度を考えながらクリティカルパスを修正し、スケジュールを構築します。

クラッシング

スケジュール予定が目標に間に合わない場合、コストとスケジュールのトレードをオフを分析し、 最小の追加コストで最大の期間短縮を行います

ファストトラッキング

スケジュール予定が目標に間に合わない場合、本来順序のある アクティビティやフェーズを並行して行います


スケジュールコントロール

プロジェクトの進捗を監視し、必要に応じてスケジュールを変更するなどします。これを スケジュールコントロール と言います。

クリティカルパス法などで求めた、基本となる スケジュールベースライン をもとに差異を分析し、スケジュールを調整します。

ガントチャート

縦軸にアクティビティ、横軸にカレンダーをとり、作業を行った時間を棒グラフで表現し視覚的に進捗をわかりやすくしたものを ガントチャート と言います。

https://upload.wikimedia.org/wikipedia/commons/5/5b/Tokai_Hairo.jpg By Masaqui [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], from Wikimedia Commons