概説
PMOとして、プロジェクトをコスト追加やスコープ縮小なく納期までに完了させた経験があります。当たり前のように聞こえますが、これが非常に困難です。ここで重要になるのがプロジェクトスケジュールの立て方です。プロジェクトスケジュールが非現実的もしくは非効果的なものであれば、どこかでそれが露呈し、歪みが生じることになります。プロジェクトスケジュールの立て方には様々な方法がありますが、ここではクリティカルチェーン[1]の方法論をベースに基本の考え方を整理していきましょう。前提として、ここではあくまでスケジュールの基礎となるクリティカルパスやクリティカルチェーンの考え方について整理します。プロジェクトに固有の制約条件や考慮事項などは別途検討する必要があります。
タスクの洗い出し
プロジェクトを完遂させる上で必要となるタスクを洗い出します。また、各タスクの遂行に必要な人的リソース及びリードタイムを特定します。ここで想定されるリードタイムは確率分布となります。確率が50%となるリードタイムを採用します。50%より余剰にリードタイムを積んだ場合、その余剰分はバッファとなります。理由は後述しますが、バッファはタスクの粒度で置くべきではなく、プロジェクトの粒度、及び依存関係にある一連のタスク群であるパスの粒度で置くべきです。ここで、リードタイムは妥当であることを確認すべきです。方法は、過去実績を参照する、有識者にヒアリングをする等があります。
タスク間の依存関係の整理
洗い出したタスク間の依存関係を明確にします。タスクの依存関係とは、あるタスクのアウトプットが他のタスクのインプットとなる関係性のことです。例えば、タスクAのアウトプットがタスクBのインプットになる場合は図1のように示します。
クリティカルパスの特定
クリティカルパスとは、依存関係のある一連のタスクにおいて、最もリードタイムが長くなるパスです。例えば、下記の例では、パスAは50人月、パスBは55人月、パスCは40人月となるため、クリティカルパスはリードタイムが最大となるパスBとなります。
クリティカルチェーンの特定
キャパシティに制限のある人的リソースの投入が前提となるタスクが複数ある場合は、競合が発生する可能性があります。リソースの競合を考慮した場合に最もリードタイムが長くなる経路がクリティカルチェーンです。例えば、下記の青枠のタスクはある特定の人的リソースを使用するとし、そのキャパシティは1人とします。この場合、並行して作業することができないため、リードタイムは下記の経路を辿った合計値の60人日となります。
バッファの配置
最後にプロジェクトバッファと合流バッファを配置します。プロジェクトバッファは全作業の最後に配置するバッファです。合流バッファは、クリティカルチェーンに合流するタスクの前に設置するバッファです。どちらもクリティカルチェーンが遅延することを防止するために用意するものです。それぞれのサイズはプロジェクトの時限制約や不確定性の大きさなどによって決定します。
総括
以上が、クリティカルパス、クリティカルチェーンの考え方となります。実際のプロジェクトスケジュールは上記を基礎としてプロジェクト独自の制約条件や考慮事項などを反映させた上で最終化します。この考え方を無視してしまうと、プロジェクトのリードタイムやバッファの設置が適切に検討されず、いずれ破綻してしまうスケジュールとなってしまいますので留意しましょう。
参考文献
- エリヤフ・ゴールドラット(著), 三本木亮(訳), クリティカルチェーン なぜ、プロジェクトは予定どおり進まないのか?, ダイヤモンド社, 2003
コメント