プロジェクトの計画

スケジュール・ベースライン – アクティビティを整理してマスタスケジュールを作成する

概要

スケジュール・ベースラインとはスケジュールの管理基準となる情報で、一般的にマスタスケジュールを指します。
マスタスケジュールはプロジェクト管理で使用する工程表で作業期間とマイルストーンを定義します。
プロジェクト全体の進み方を俯瞰し、作業の順序や期限設定、クリティカルパスを確認するときに利用します。

プロジェクト初期から登場するのですが最初の精度は荒くても工程が進むにつれて精度を向上していきます。
ちなみに現在の工程と次工程など直近のタスクを詳細化していくことを「ローリングウェーブ計画法」と言います。
最初から全行程を詳細化できれば良いのですが、工程を進む中でスケジュールや成果物が変更されると作り直しになるため、最小化できるのは3か月程度です。

マスタスケジュールを作る目的と運用については、別記事「スケジュール管理する5つの理由と運用方法」を参考にしてください。

ここではスケジュール作成の流れについて見ていきます。

マスタスケジュールの作成

アクティビティの定義

PMBOKではタスクのように最小単位の作業を「アクティビティ」と言います。
「アクティビティ」という言葉になじめなければ、以降は「タスク」と読み替えてください。

前述のスコープ・ベースライン作成でWBSを作成しました。
そこでは「基本設計」「テスト」などの大きな枠と、作成する成果物(画面設計、画面遷移図、外部インターフェイス仕様書)を定義しました。
その情報をもとに、さらに細かいタスクレベルまで作業を分割していきます。
例えば基本設計の中で画面ごとの設計書を作成する場合、この最小単位がアクティビティです。

アクティビティの順序設定

アクティビティを洗い出したら、次は順序設定を行います。
順序設定の技法として「アローダイアグラム」「プレシデンスダイアグラム」などありますが、これらは作業の並び替えを可視化するために使用します。
それより注意すべきポイントは、アクティビティごとの優先順位設定です。
この順番を間違えると、プロジェクトの進め方が非効率になったり、戻り作業の発生といったトラブルにつながります。

注意するポイントは次のとおり。

共通部分は最優先

共通部分の設計や部品作成は最優先で対応します。
場合によっては工程開始前に先行して着手することも検討します。
詳細設計を例に挙げると、プログラムの共通部品関連の設計は基本設計など前工程で作成します。
共通部品の仕様が用意されていれば、その共通設計を使いながら詳細設計を作成することができます。
逆に共通部品の仕様が未確定の場合、共通部品を作るところは後回しで設計することになります。

標準的な機能を先行着手

似たような機能を複数作成する場合、標準的な機能を先行して開発します。
特に新規システムの開発では、どのように設計、製造するのか手探りで進める場合があるため、基本となるパターンの機能から設計、製造に着手することが望ましいです。
例えばWeb画面で「検索、一覧表示、詳細画面、登録画面」というパターンが複数ある場合、この一連の機能を先行することで、後続作業のひな型とすることができます。

マイルストーンから逆算

マイルストーンから逆算してスケジュール設定します。
マイルストーンはプロジェクトを進めていくための要石であり、ここがズレるとプロジェクト計画の見直しにつながります。
そのため各マイルストーンに影響するタスクを洗い出し、正しく順序設定する必要があります。

例えばサーバを本番環境に設置するマイルストーンがある場合、機器手配やインフラ設計、構築作業、テスト作業があるとして、機器が届いていないのに構築作業を着手することはできません。
サーバ構築するための期間を逆算して、いつまでに機器手配が完了しているか設定していきます。

アクティビティの所要期間設定

アクティビティごとに所要期間、いわゆる作業工数を割り当てます。

見積もり手法は大きく4種類に分かれます。

類推見積もり

過去プロジェクトなど過去データを利用したり、似た機能の実績工数をもとに見積もりを行います。
過去実績が多いと、それだけ見積もり精度は向上します。

パラメトリック見積もり

いわゆるパラメータを使用した見積もり方法です。
例えば1つの作業×回数のように計算することができる見積もり方法です。
ファンクションポイントも、このパラメトリック見積もりに該当します。

3点見積もり

最頻値(最もありそうな規模)、悲観値(最大の規模)、楽観値(最小の規模)を利用した加重計算で算出します。

3点見積もり値=(最頻値×4+悲観値+楽観値)÷6

この計算の使いどころですが、複数人が規模感を提示してきた場合などが想定されます。

ボトムアップ見積もり

小さく細分化した作業工数を積み上げて算出する見積もりで、最も精度が高いのですが算出に時間がかかるのが難点です。

スケジュール作成

アクティビティ順序、および規模見積もりを行ったら、マイルストーンに合うようスケジュール作成します。
アクティビティごとに対応できるメンバを充てながら、作業の順番をパズルのように組み合わせていきます。

スケジュール作成のポイントです。

要員山積み

プロジェクトに参画するメンバを頻繁に追加/削除することは出来ません。
つまり期間ごとに作業できるボリュームの上限は決まっています。
作業を積み上げた結果、参加メンバより作業量が多いと作業高負荷となり、逆に少ないとメンバが作業のない状態となり生産性が低下します。
あらかじめ作業量の見積もりを行い、負荷状況が分散するように調整します。
もし分散できないほど作業量が多いのであれば、早い段階で要員追加など検討します。

平行作業

「全ての設計が完了してから製造に着手する」のように、作業や工程は分けてスケジュール作成するのが基本です。
とはいえ状況によっては平行して作業せざるを得ない場合があるのも確かです。
同時並行して作業することをファストトラッキングと言い、戻り作業が発生するリスクを受容して進めます。

その際、リスクが発生することを前提としたスケジュール設定をするべきです。
スケジュールが破綻するのは、想定するリスクに対して対処を計画していないことに起因することが多いです。
「リスクが発生しないといいな」ではなく、「戻り作業を対処するスケジュール設定」「見直しタスクの設定」といったタスクをあらかじめスケジュールに組み込みます。

クリティカルチェーンマネジメント

詳細スケジュールを作成するときにオススメの手法が「クリティカルチェーンマネジメント(CCPM)」です。

通常は作業規模を算出するときにリスク対策のバッファを設定します。
逆にバッファを積んでいないスケジュールは、何か想定外が発生しても対処できないため危険です。
このバッファですがタスクごとに積むのではなく、バッファ全体をまとめて作業の後半に配置します。
各タスクはバッファがありませんが、リスク発生時は必要に応じてバッファから工数を取り崩していきます。

理由ですが作業者はリスク発生の有無にかかわらず、割り当てられた期間をフルに使う傾向にあります。
そうすると必要のないバッファまで消費されることになります。
CCPMではタスクごとではなくまとめてバッファ管理するので不必要なバッファの消費を抑止します。
また従来はタスクで設定した以上のリスクが発生すると全体遅延につながる可能性が高いのですが、CCPMではタスクに割り当てた以上のリスクが発生しても全体のバッファから調達することもできます。

スケジュール・ベースラインについては以上となります。
プロジェクト管理の全体については「プロジェクト管理の全体解説」を参考にしてください。