技術とか戦略とか

SIerで証券レガシーシステムを8年いじってからSESに転職した業務系エンジニアによる技術ブログ。

クリティカルパスとは

この記事は、以前に投稿した下記の記事の焼き直しです。
 
情報処理技術者試験対策「クリティカルパス
https://akira2kun.hatenablog.com/entry/2018/07/08/184908
 
----
 
この記事では、クリティカルパスの説明とその重要さを説明していきます。
 
クリティカルパスの用語説明と重要性】
クリティカルパスとは、プロジェクトを予定通り進める上で最も重要となる作業のことです。
具体的に言うと、少しでも遅れるとプロジェクト全体が遅延する作業のことを指します。
 
プロジェクトを進行する上では様々な作業が発生しますが、遅延してもリカバリーが効く作業と、クリティカルパスとなる作業が存在します。
プロズエクトの遅延を防ぐためには、クリティカルパスとなる作業に対して重点的に遅延対策をすることが重要になりますし、遅延対策を効率的に行う上ではクリティカルパスの特定が欠かせません。
 
クリティカルパスの例】
例えば、「自動発注機能」を開発するプロジェクトを考えます。
 
「自動発注機能」は「在庫確認プログラム」と「需要予測プログラム」と「発注送信プログラム」の3つのプログラムで成り立ち、プログラム開発後のテストも必要だとします。
そして、以下の作業が発生するとします。
 
①在庫確認プログラム 7人日
②需要予測プログラム 10人日
③発注送信プログラム 5人日
④テスト 21人日
 
①②③は並行作業可能でそれぞれ1名、④の作業開始は①②③の3つの作業の終了が前提で3名で作業をするとします。
 
以上の前提の場合、このプロジェクトは17日で完了する予定であり、作業の流れを整理すると以下の図のようになります。

f:id:akira2kun:20220318201246j:plain

 
この場合、クリティカルパスは②と④になります。
①と③はクリティカルパスではありません。
例えば、①の作業で3日完了が遅れても②の作業と同時に終わるので、全体のスケジュールに遅延は発生しません。
また、③の作業の開始が5日遅れても②の作業と同時に終わるので、全体のスケジュールに遅延は発生しません。
しかし、②や④の作業は、予定通りに作業が進まなければ、全体のスケジュールが遅延します。
 
クリティカルパスの作業については、重点的な遅延対策が必要になります。
例えば、こまめに進捗確認して遅延をすぐに検知できるようにする、遅延を引き起こすリスクを前もって対策する(例えば、難易度が高い部分だけスキルが高い要員をヘルプで割り当てる)、要員の作業調整を入念に行う、といった対策が考えられます。
このような遅延対策をピンポイントで行うために、クリティカルパスを特定することが重要になります。