プロジェクト管理を行う上で、そのスケジュールの作成や管理にどういうツールを利用しているだろうか。実際の現場では「Microsoft Office Excel」(以下、Excel)が圧倒的に使われているだろう。TechTargetジャパンが2008年に実施したプロジェクト管理ツールの利用状況調査でも、回答者の約68%が管理ツールとしてExcelを使用しているという結果が出ている。中には、独自に作成したマクロ機能を駆使して、プロジェクト管理用にカスタマイズしているユーザーもいる。
Excelは本当に、プロジェクト管理に最適なツールなのだろうか?
本稿では、プロジェクト管理専用ツールである「Microsoft Office Project」(以下、MS Project)とExcelの2つのツールにおいて、実際にスケジュールを作成・管理した場合に使用した機能や作業時間の測定結果などを紹介する。今回、この2つを比較した理由は「Excelでスケジュールの作成や管理をすることで、多くのプロジェクトマネジャーがいかに時間を無駄にしているかに気付いてもらいたい」からである。専用ツールを取り入れることで、そうしたユーザーの作業負荷や時間などを削減できる。その分の余った時間を「進ちょく遅延への対策検討、利益率や品質の向上、リスク回避」といった本来のプロジェクト管理業務に役立ててもらいたい。
今回は、以下のようなプロジェクトの概要スケジュールを作成することにした。また、Excel、MS Projectともにバージョン2007を使用した。
実際にプロジェクト管理で利用するには、上記の概要スケジュールを管理可能なレベルまで詳細化したWBS(作業分解図)を利用しなくてはならないことに留意してほしい。今回は、以下の5つのシミュレーションにおける比較検証を行った。
| ラウンド | 内容 | 詳細 |
|---|---|---|
| 第1ラウンド | 事前準備 | 線を引くなどのスケジュール作成前に必要な作業 |
| 第2ラウンド | スケジュール計画作成 | タスク名の記入やガントバーを引くなどの実際にスケジュールを作成する作業 |
| 第3ラウンド | ベースライン(マスタースケジュール)設定 | 予定と実績との差を確認するために、そのベースラインを設定する作業 |
| 第4ラウンド | 進ちょく管理 | 実績開始日や達成率などの進ちょくを管理する作業 |
| 第5ラウンド | 遅延回復シミュレーション | 「あるタスクの開始日を変更した際、プロジェクト終了日にどう影響するのか」など、プロジェクトの遅延を取り戻すためにスケジュール計画を変更する場合のシミュレーション |
それでは早速、検証を開始する。
スケジュール作成の事前準備として、まずは「スケジュール表」自体の作成が必要だ。その際には管理項目の入力やタイムスケール(時間配分)の設定、表の見栄えを決める「行の高さ」「列幅の設定」「セルの色付け」などの作業を行う。ここではそうしたスケジュール表作成作業の比較検証を行った。
実際にExcelで作成した場合、以下の2つのタイムスケールが作成できる。
図1_1の場合は、[図形オブジェクト]で「ガントバー」を挿入し、図1_2の場合はセルを色付けしてガントバーに設定した。Excelでスケジュール表を作成する場合、この2通りの方法で作成することが一般的だろう。
次に、同様のタイムスケールをMS Projectで作成した場合は、以下のようになる。
MS Projectでは「タイムスケール」機能を使用することで、あらかじめ用意された多くのスケールから選択するだけで、簡単に表示を切り替えることが可能だ。
スケジュール表には土日や祝祭日などの「非稼働日」を登録する必要がある。特に祝祭日は年や制度変更などによって流動するため、登録作業自体に手間が掛かることがある。
Excelでは休日および祝祭日の設定として、日付列ごと(もしくはセル単位)での塗りつぶしなどの操作を行う必要がある。また後から休実や祝祭日を変更すると、各タスクの日付状況およびスケジュール全体の見直しが必要になるため、可能な限り事前に登録することが望ましい。
MS Projectでは「稼働時間の変更」機能を活用することで、祝祭日などの非稼働日を登録する。事前登録も可能であるが、プロジェクト開始後に追加登録した場合でも各タスクに自動的に反映されるので、納期などのスケジュール全体への影響を確認するだけで済む。
両者の機能比較を以下にまとめてみた。
| 検証内容 | Excel | MS Project | 内容 |
|---|---|---|---|
| 管理項目の入力 | 必要 | 必要 | 入力作業は両方実施する |
| タイムスケールの設定 | 必要 | 不要 | MS Projectでは「年」「半期」「四半期」「旬」「週」「日」「時間」「分」の単位で切り替えが可能。Excelでは手動で設定する必要がある |
| 行の高さ設定 | 必要 | 不要 | MS Projectは1行単位。Excelは複数行も可能 |
| 列幅の設定 | 必要 | 必要 | MS Projectは1列単位。Excelは複数列も可能 |
| セルの色付け | 可能 | 可能 | |
| 枠線の設定 | 可能 | 可能 | |
| 非稼働日の設定 | 可能 | 可能 | |
実際のプロジェクト管理においては、ユーザーの好みも加味した見栄えの良い表や資料を作成することも意外と重要である。実際にはそうした準備作業に時間がかかったとしても、Excel、MS Projectのどちらの場合もその作業は一時的なものだ。一度テンプレートとしてひな型を作成すればよい。この部分については両者の差はつきにくい。
しかし、スケジュールをより簡単に作成できるという点においては、タイムスケールや非稼働日の機能などExcelにはない機能を有しているMS Projectの方が優れているといえるだろう。

次に、各タスクの「開始日」「終了日」といった期間設定や後続タスクとの関係性、リソースの割り当て、クリティカルパスの計算といったスケジュール計画作業について、両者の作業手順を比較してみる。
まず、実際にExcelで作成した結果は以下のようになる。
ガントバー部分の描画は、「セルの塗りつぶし」または「図画描画」機能を使う。また、Excelにはタスク間の依存関係を設定する機能はないため、「図画描画」で矢印を記載することで対応することになる。ただし、依存関係を表す線が引かれていないこともある。
さらにExcelには割り当て超過の確認の機能がなく、それを自動で判断することはできない。Excelで管理しているユーザーの中にはタスクに割り当てる稼働時間の割合を登録して、その負荷状況を計算させるマクロを開発する強者もいるが、その開発時間や負担を考えるとそうした作業に時間を費やすのは本末転倒である。同様に、Excelにはクリティカルパスの計算機能がないため、実際に目視で確認する方法が取られる。
次に、MS Projectにおける作業結果を示す。
MS Projectではタスク名と期間、タスクとタスクの依存関係などを設定するだけで、開始日や終了日などの項目が自動的に設定される。また、ガントバーや依存関係の線も自動的に表示される。割り当て超過の確認については、単位数と割当て状況の関係から自動的に計算され、超過となっているリソースを容易に特定できる。さらに、クリティカルパスも自動的に計算され、クリティカル上のタスクに関するガントバーが赤色で表示される仕組みとなっている。
スケジュール計画作業における両者の作業手順をまとめると、以下のようになる。
| Excel | MS Project | |
|---|---|---|
| 1 | タスク(作業)名の入力 | タスク(作業)名の入力 |
| 2 | タスクの開始日と終了日を入力 | タスクの期間を設定 |
| 3 | 後続タスク名を入力 | タスク間の依存関係を設定 |
| 4 | 後続タスクの開始日と終了日を入力 | リソースの割り当て |
| 5 | 1〜4をタスク数の分だけ繰り返す | 割り当て超過がないか確認する |
| 6 | すべてのタスクの開始日・終了日を確認して、ガントバーを描画する | 実現可能なスケジュールになるまで調整する |
| 7 | 依存関係の線を描画する | ※ 上記で作業が終了 クリティカルパス→自動計算 ガントバー→自動計算 依存関係線→自動生成 |
| 8 | 担当者をタスクに割り当てる | |
| 9 | 割り当て超過がないか確認する | |
| 10 | 実現可能なスケジュールになるまで目視確認および調整をする | |
| 11 | クリティカルパスを計算する | |
Excelでの管理ではプロジェクトの規模が大きくなればなるほど、タスク設定の1つひとつの手間を積み重ねていくと思いもよらない時間を浪費することになる。ガントバーや依存関係の線も自動表示、クリティカルパスの自動計算などの機能を有しているMS Projectの方が作業および確認時間が短縮できることが分かる。
プロジェクトの進ちょく管理を行う上では、その予定と実績の差異を正確に把握することが重要だ。ここでは、スケジュール進ちょく状況の評価対象となるマスタースケジュール(以下、ベースライン)の設定に関する操作を比較してみる。
まず、実際にExcelでベースラインを設定した結果は次のようになる。
行をコピーしてセルの色付け操作でガントバーを表現するのは大変なので、今回は図形オブジェクトでベースライン用のガントバーを設定する方法とした(黄色の線)。また、「基準開始日」「基準終了日」の各項目は、開始日や終了日から日付をコピー&ペーストすることで設定可能である。
次に、MS Projectによるベースライン設定結果を示す。
MS Projectにおけるベースライン設定は非常に簡単だ。「基準計画の設定」機能を呼び出し、「基準計画の設定」画面にて「OK」ボタンをクリックするのみである。
MS Projectでは「基準開始日」「基準終了日」などの項目については、開始日や終了日から日付情報が自動的にコピーされ、ベースラインのガントバーについても自動的に表示される。
ベースラインを新規で作成する場合は、Excelでも何とか実施可能かもしれない。しかし、稼働中のプロジェクトにおいてベースラインを部分的に更新する場合は、Excelではかなり負荷が掛かる。Excelでプロジェクト管理を行っているユーザーの多くが実際にベースラインを表示させていないことからも、その難易度が推測できるだろう。
ベースライン設定における作業手順を以下にまとめてみた。
| Excel | MS Project | |
|---|---|---|
| 1 | プロジェクト開始日をコピー | [ツール]−[進捗管理]−[基準計画の設定]で「OK」ボタンをクリック |
| 2 | 基準開始日にペースト | ※ 上記で作業が終了 |
| 3 | 終了日をコピー | |
| 4 | 基準終了日をペースト | |
| 5 | 「オブジェクト選択」をクリックして、タスク行をコピー | |
| 6 | ベースラインガントバーに図形描画から選択して、タスクバーの下に設定 | |
| 7 | タスクの数だけガントバーを設定する | |
ベースライン設定では作成作業はもちろんのこと、部分的に変更を加える場合などにも対応できる基準計画保存機能の有無が重要となる。予実管理を正確に把握し、プロジェクト管理の質を高めるためにも、そうした機能を持つMS Projectの方が役立つといえる。
ここでは、プロジェクトの実績を入力して予定との差異を確認するという進ちょく管理作業について比較を行う。
まずは、Excelで進ちょく管理を行った結果が以下の図である。
この図ではピンク色のバーで終了した作業部分を、青色で終了していない作業部分を表示している。色を分けることで、ベースラインの黄色のバーとの差異を確認することはできるが、1行目のタスクのように、実際の開始日(※)を登録した結果、該当タスクのガントバーはベースラインと比較してズレが生じている。つまり、タスクが遅れていることを意味している。
※ 「実際の開始日」とは「該当タスクに関する作業を実際に初めて行った日付」のことを意味する。
実際のプロジェクトでは、先行タスクの遅れは後続タスクの開始に影響を与えるが、Excelでは後続タスクとの依存関係性を持たせる機能はないため、手作業による変更を行う必要がある。この点は、管理者の作業負荷と共に人的なミスにつながる危険性がある。また、こうした手作業による変更は、開始日や終了日などの日付情報に関しても同様に問題となる。
次に、MS Projectで進ちょく管理をしてみる。
MS Projectでは、実績開始日と達成率を登録するだけで、ガントバーは自動的に変更される。また、影響を受けるタスクに関しても日付情報、ガントバーなども自動的に変更されるため、実績が入ったタスクだけではなく、その後続タスクにも差分が反映される。
さらに、ガントバー上でもバー単位で達成率を表示することができるなど可視性も高い。このガントバー上に表示させる項目(文字列)も任意で変更可能できる点もこのツールの特徴だといえる。
以下に両者の作業内容をまとめた。
| Excel | MS Project | |
|---|---|---|
| 1 | タスクに実際の開始日を入力する | 進ちょく管理用テーブルを変更する |
| 2 | タスクに実際の終了日を入力する | タスクに実際の開始日を入力する |
| 3 | 実際の開始日、終了日に合わせてガントバーを移動させる | タスクに実際の終了日を入力する |
| 4 | 後続タスクすべての実際の開始日、終了日に差分を反映させる | ガントバーや後続タスク、依存関係の線はすべて自動で差分を反映させる |
| 5 | 変更された後続タスクすべての実際の開始日、終了日をガントバーに反映させる | |
| 6 | 依存関係の線を修正する | |
このラウンドでも、実績を登録する際に関連するガントバーや後続タスクの情報が自動的に変更される機能を持つMS Projectの方が優れているといえる。
実際のプロジェクトでは、前提タスクの遅延によりスケジュールが変動することが起こる。その場合のリカバリとしてスケジュールを何度も変更してシミュレーションをすることがある。ここではそうした遅延回復シミュレーションに関する操作比較をしてみる。
まずはExcelで遅延回復シミュレーション操作を行った結果を示す。
Excelでは、変更内容をスケジュールに反映させるために必要となる開始日や終了日、ガントバーと依存関係の線などの操作をすべて手動で行う。第4ラウンドと同じように、ガントバーの情報と各セルの日付情報などの整合性を取るのは、もはや至難の業である。また、これらの矛盾が発生していても警告が表示されないと、管理者の確認漏れにもつながる。この点はExcelでプロジェクト管理を行う際の問題点の1つだ。
次に、MS Projectで遅延回復シミュレーション操作を行った結果を示す。
Excelの場合と同様に「詳細設計を基本設計終了2日前から着手するように計画変更」するためには、依存関係の線をダブルクリックし「タスクの依存関係」画面にて間隔を「-2日」と設定するだけである。さらに、開発を詳細設計終了の1日前から着手するようにスケジュールを変更すると、プロジェクトの終了がベースラインと同じになる。
このようにMS Projectでは、あるタスクに関する変更が、別のタスクにどのような影響を与えるかをシミュレーションすることが容易に実現できる。このシミュレーション機能は、MS Projectが「このままでは、あなたのスケジュールはこういう結果になります」と警告を与えてくれることにも役立つ、非常に有効なツールだといえる。
プロジェクトの現場では、予期せぬ要因によってスケジュールが変動することが起こり得る。その場合でも、簡単な操作でシミュレーションが行えるMS Projectが管理者を支援する部分が大きいといえるだろう。
ここで簡単にExcelとMS Projectの機能比較表をまとめてみた。対応機能を比較すると、専用ツールであるMS Projectの機能の豊富さに気付かされるだろう。
| 機能 | Excel | MS Project | 備考 |
|---|---|---|---|
| タスクガントバー自動生成 | × | ○ | Excelでもマクロ開発であれば対応可能 |
| サマリータスクガントバー自動生成 | × | ○ | |
| マイルストーン自動生成 | × | ○ | |
| 依存関係線の自動生成 | × | ○ | |
| サマリータスクの期間自動計算 | × | ○ | |
| プロジェクト全体期間の自動計算 | × | ○ | |
| プロジェクト全体の作業時間計算 | × | ○ | |
| クリティカルパスの自動計算 | × | ○ | |
| クリティカルパスの可視化 | × | ○ | |
| 実績ガントバーの自動生成 | × | ○ | |
| 達成率自動表示 | × | ○ | |
| タイムスケール表示の変更 | × | ○ | |
| 土日祝祭日などの非稼働日対応 | × | ○ | |
| リソースの稼働率自動計算 | × | ○ | |
| 遅延リスク分析 | × | ○ | |
| 任意のタイムスケール表示 | ○ | × | MS Projectでは、「週」スケールにおいて、月の「1週目、2週目」という表示はできない |
| 同一タスク名の連番機能 | ○ | △ | MS Projectの場合、定期タスク機能を使いタスクを生成後、定期タスクサマリー外に移動させる必要がある。Excelではコピー&ペーストで実施する |
| タスク名の折りたたみ表示 | ○ | △ | MS Projectでは、長いタスク名を限られた列幅に表示する場合、タスクの行単位で行の高さを変更する必要がある |
| 画面のズームイン、ズームアウト | ○ | × | |
| プロジェクト全体を1枚の紙に印刷する | ○ | △ | タスク数にもよるが、Excelの方が容易に印刷できる |
上記の表では、任意のタイムスケール表示でMS Project「×」としているが、既存のタイムスケール表示でほぼカバーできる。
さらに、「プロジェクト計画作成50タスク、進ちょく管理タスク8タスク」のケースで、スケジュール計画作成から進ちょく管理、再計画シミュレーションを実施した時間測定結果を以下に示す。
| 作業内容 | Excel | MS Project |
|---|---|---|
| 基本シートの作成 | 300 | 150 |
| 階層構造の設定 | 270 | 40 |
| 「期間」「依存関係」「リソースの割り当て」設定 | 1118 | 481 |
| ガントバーの作成 | 2560 | 0(自動) |
| クリティカルパスの計算 | 1800(※ 中断) | 0(自動) |
| ベースラインの保存 | 161 | 8 |
| 実績開始日・終了日の登録 | 158 | 158 |
| 実績をガントバーに反映 | 534 | 0 |
| 遅延日数の算出 | 724 | 0(自動) |
| 遅延状態の可視性 | なし | あり |
| ガントバーの修正を含めた再計画 | 1195 | 171 |
| 総時間 | 14868(約248分) | 1679(約28分) |
| 時間の差異 | 13189(約220分) | |
このケースではExcelとMS Projectでは作業時間に「約220分」の差が出た。その大半がMS Projectでは自動化できる機能だ。特に、両者の差が多かった依存関係の作成やクリティカルパス、再計画などの作業は現場ではよく発生するものである。
Excelでクリティカルパスを計算する場合、プロジェクトの完了タスクから依存関係をさかのぼり、すべてのタスクに関して、その期間や同時進行タスク、同時進行間隔などを1つずつ確認して、プロジェクト完了に一番時間が必要である「クリティカルなパス」を探し出さなくてはならない。しかし、セルの文字列上でこれを実施するのは極めて困難であり、また、手書きのガントバーや依存関係の線で作成したガントチャートでは時間がかかり過ぎる。そのため、今回の検証でも作業途中で断念してしまった。上記の結果よりも作業時間やその負荷の違いは何倍にも膨れ上がるだろう。
また、実際に作成するスケジュールは、100〜200以上のタスクで構成されるのが一般的だろう。進ちょく管理作業については、週次や隔週単位で実施することもある。例えば、3カ月のプロジェクトを週次で管理する場合、その進ちょく管理作業を12回行うことになる。実際に「プロジェクト計画200タスク、進ちょく管理8タスクを12回、再計画シミュレーション12回」を行った場合の時間を測定した。その結果は以下の通り(表示単位は秒)だ。
| 作業内容 | Excel | MS Project |
|---|---|---|
| 基本シートの作成 | 1200 | 600 |
| 階層構造の設定 | 1080 | 160 |
| 「期間」「依存関係」「リソースの割り当て」設定 | 4472 | 1924 |
| ガントバーの作成 | 10240 | 0(自動) |
| クリティカルパスの計算 | 7200 | 0(自動) |
| ベースラインの保存 | 644 | 8 |
| 実績開始日・終了日の登録 | 1896 | 1896 |
| 実績をガントバーに反映 | 6408 | 0 |
| 遅延日数の算出 | 8688 | 0(自動) |
| ガントバーの修正を含めた再計画 | 14340 | 2052 |
| 総時間 | 56168(約248分) | 6640(約28分) |
| 時間の差異 | 49528 (1日8時間の業務として換算すると、1.72日) |
|
上記の表「時間の差異」項目で示した通り、この検証では実に2日ほどの違いが発生した。この2日を「進ちょく遅延への対策検討、利益率や品質の向上、リスク回避」といった本来のプロジェクト管理業務に費やすことで、より安定したプロジェクト運営が可能になるといえる。
本稿では主にタイムスケジュール機能を比較してみたが、プロジェクト管理専用ツールであるMS Projectには、コスト管理やリソース管理などのプロジェクト管理に必要な多くの機能が搭載されている。近年では「工事進行基準」「国際会計基準」などの法制度の変更もあり、マクロによる独自開発の管理手法がこうした外部要因の変化にも対応するのか、また今後どこまでそれが通用するのかをあらためて見直す必要があるだろう。ただし、道具である管理ツールを使いこなすにはある程度の慣れが必要だ。管理ツールを使った経験がない場合は、当然のことながら使い慣れるまでに時間がかかることもある。
「実際にはExcelでも何とかなる(なってきた)」という現場の管理者も多い。しかし、メンバーをけん引して、プロジェクトを成功に導く立場にいる管理者が「Excelでの管理作業に多くの時間を費やすこと」が本当に最適な管理手法といえるか疑問である。今回の結果を参考にして、Excelでスケジュール管理に困っている方、困ったことがある方はプロジェクト専用ツールの導入を検討してみてはいかがだろうか。
製造業や製薬業、IT業を中心としたプロジェクトマネジメントの導入および展開支援のコンサルタント事業を20年近く実施。特に、MS Project導入に関するコンサルティングに豊富な実績を持っている。