ガントチャートとは
ガントチャートとはプロジェクト全体の工程表です。縦欄に作業スコープ(タスク)、横欄に日付を並べ、個々のタスクごとにいつからいつまで作業するかをチャート形式(横バー)で図示します。縦欄のタスクは、WBSで展開した作業タスクが階層構造に並びます。作業タスクごとに担当者が割り当てられるので、誰がそのタスクをいつからいつまでに行うかが一目でわかります。
ガントチャートは計画プロセスで作成される「スケジュール計画」です。ただし、計画だけでなく、作業の進捗状態(実績)をパーセントで表します。0%が未着手、100%が完了ですが、途中の進捗状況もバー表示します。例えば60%であれば、全体の長さの6割のバーで表示します。
上司から「5月に新人がうちの部に来るので1ヵ月の新人教育を実施してほしい。ついては教育スケジュールを立てるように!」と指示されたとします。いきなり、そんなこと言われても…と思っても、頼まれたからにはやるっきゃない。やるべき作業を洗い出し、作業量を勘案しながら誰がいつやるか計画を立てなければなりません。そんな時、誰もがわかる共通のツールとして「ガントチャート」が使われます。スケジュール表や線表、工程表などと呼ばれることもあります。 図1のように日程を横軸に作業や担当を縦軸に配置し、現時点の進捗状況を視覚的にわかるようにした便利な図がガントチャートです。
図1:ガントチャート
もう100年近く前のことになりますが、アメリカの経営コンサルタントのヘンリー・ガント氏が考えたチャート(棒状の表)ということで「ガントチャート」と呼ばれます。ガント氏には失礼なのですが、初めて名前を聞いた時は難しそうな名前でとっつきにくかったです。でも名前とは裏腹にプロジェクトの進捗を端的に表していて、プロジェクトの進捗計画を立て実績を管理する上でとても便利なものでした。
ガント氏は、個人の能力を最大限に発揮し、いかに生産性をあげるかといったことにも取り組んでいたようです。ガント氏の意向通り、ガントチャートにWBS展開したタスクを配置し、担当者を割り当てて計画を共有することで、個人個人が責任を持ってスケジュールをキープしようして、全体の生産性が上がる効果が如実に出る優れたチャートだと思います。
ガントチャートの作成
通常、何の下準備もなしに「ガントチャートを描画」することはできません。 スケジュールを立てるまでには、「納期」「作業タスク」「見積工数」「リソース(要員)」の計画が必要で、それらをもとにガントチャートを作成することになります。
身近なことを例にして考えてみることにします。娘の誕生日祝いに犬のぬいぐるみを製作することにしました。ぬいぐるみを制作する時間の目安(見積工数)は7時間で、1週間後の誕生日(納期)には間に合わせないといけません。 毎日忙しい中で作業するので1日1時間、合計7日間で作ることにします。「作業タスク」「見積工数」「リソース(要員)」を図2のように整理し、それをもとにガントチャートを作成していきます。作業タスク全てが期限(納期)までに完了するように、作業スケジュールの計画を立てなければなりません。
図2:作業タスクごとのスケジュールを計画し共有
ガントチャートで進捗トラッキング
ガントチャートはスケジュールの計画だけでなく実績もチャート上に表現できます。図2では長四角の枠が計画(開始予定日から終了予定日の幅)で、その中の横棒グラフが実績です。作業が進捗する都度、チャートの進捗バーを伸ばしたり、「進捗率」を入力したりすることにより実績を報告します。この例では8/4時点で胴体部分の作成が80%完了していることが横棒グラフでわかります。ガートチャートは視覚性に優れているので、直観的に遅れているタスクがあること、全体で1日程度の遅れが生じていること、などが一目でわかります。1日1時間の作業予定ですから、今日1時間多く作業すれば遅れが取り戻せる計算になります。
実は遅れの原因は生産性にあります。裁縫が苦手な私にとって、7時間という見積が甘かったようです。今日がんばって1時間の遅れを取り戻したとしても、生産性を加味すると予定通りには進めない恐れがあります。こうした問題が山ほど出てきます。計画に対して実績(進捗状況)をトラッキングしているからこそ、遅れの状態や今後の見通しがわかるのです。効率的なガントチャートを作成するために、 ガントチャート活用におけるポイントを紹介していきたいと思います。
ガントチャート作成のポイント
①WBSでタスクを洗い出してからガントチャートを作成する
「【第7章】WBSの目的とメリット」で説明した通り「プロジェクトの成功の鍵はWBSにあり」といえます。まずはWBSの階層構造を利用し、プロジェクト全体の細かな作業を漏れがないよう洗い出します。 タスクの洗い出しに漏れがあると、プロジェクトの途中でタスクを追加し作業を割り当てる等の調整が必要になります。メンバーの誰かが想定外の作業をすることになるため、プロジェクトを円滑に進められなくなります。ガントチャート作成時には、WBSで作業スコープを徹底的に洗い出し、計画プロセスにおけるタスクの漏れを極力なくすようにします。
②WBSの標準を持つべし。実現は可能!
プロジェクトが発足するたびに、WBSを一から作成するのは大変です。一般には、これまでの経験から似たようなプロジェクトのWBSをコピーして作成することが多いでしょう。しかし、このやり方だとコピー元のWBSの完成度にばらつきが出ますし、属人的なので組織全体の効率化につながりません。
そのため、WBSの標準を持つことが大事です。標準は1パターンとは限りませんので、通常はプロジェクトのタイプ(開発スタイル、システム要件が同じようなプロジェクト)別にWBS標準を作っておき、そこから今回のプロジェクトのタイプに当ったものを選択すると効率的です。
WBS標準をプロジェクトに適用した後、今回のプロジェクトではスコープ外と思われるタスクは削除します。逆にプロジェクト固有の作業があれば、WBSに漏れなく追加します。例えば“開発環境をクラウド環境に移行する”というタスクがWBS標準になかった場合、プロジェクトのWBSに追加してガントチャートで進捗管理します。
図3:WBSでタスクを洗い出し、今、それをガントチャートのタスクに展開
③作業スコープでWBS展開し、末端タスクは成果物スコープをシンプルにセット
WBSを使って洗い出すスコープには「作業スコープ」と「成果物スコープ」があります。この二つの違いは、簡単に説明すると「何をやるか」と「何を作るか」です。作業によってできるものが成果物です。たとえば、詳細設計工程において、「ログイン画面設計」という作業により作成されるものが「ログイン画面の詳細設計書」です。
このように作業に成果物が紐づくのですが、作業によっては成果物を紐つけにくいものがあります。たとえば、データ移行工程において、「受注データ移行プログラムの作成」という作業は「受注データ移行プログラム」という成果物を紐つけることができます。しかし、そのプログラムを使って行う「データ移行処理」という作業には、ピンとくる成果物を定義できません。あえて定義するとすれば、「正しくデータ移行されたデータベース」ということになるのでしょうが、ばかばかしいのでこうした作業には無理に成果物を持たせません。このような性質からWBSの展開は作業スコープで行う方がやりやすいでしょう。
一方で進捗管理は作業スコープよりも成果物スコープの方が管理しやすい特性があります。たとえば「受注データ移行プログラムの作成」という作業の進捗が50%というと何をもって50%なのかわかりにくいです。対象が「受注データ移行プログラムソフトウェア」という成果物であれば、全体のボリューム(ステップ数やロジック数など)のうちどれくらい終了したかという具体的な数値で管理しやすくなるのです。
「WBSでスコープを洗い出してガントチャートに展開する」作業を行う場合、この2つの特性を活かした法則に従って作業すると効率よく計画を立てられます。その法則とは
(1) まず「作業スコープ」ベースでWBSを展開する
(2) 末端タスクには成果物スコープを割り当てる(作業スコープは省略して成果物スコープのみでOK)
(3) 成果物スコープを持たない作業スコープは末端タスクも作業スコープのままとする。
というものです。
具体例で説明しましょう。ソフトウェアのウォーターフォール型の開発の場合、「基本設計書作成」「詳細設計書作成」「コーディング」等の作業タスクについては、それぞれの作業タスクの下に機能別の作業タスクがつきます。たとえば「詳細設計書作成」の下には、「ログイン画面作成」「メニュー画面作成」「受注入力画面作成」など機能単位の作業タスクにブレークダウンされます。これらの作業タスクには「ログイン画面」「メニュー画面」「受注入力画面」などの成果物(設計書)が紐付きます。
これが末端タスク(進捗管理の対象のタスク)になるので、ガントチャート上には「ログイン画面作成」という作業項目ではなく、「ログイン画面」という成果物項目を末端タスク(ワークパッケージといいます)として進捗管理するのです。 このように成果物を作業タスクに関連付けてガントチャートで一括管理することにより進捗報告の精度が上がり、タスクの漏れもなくなります。またタスクの進捗は個々の成果物(機能)の進捗の積み上げですので、上位タスクの進捗が正確に把握できるのです。
OBPMとガントチャート
OBPMは、①WBSの定義を行う「スコープ管理機能」、②WBSの標準化を行う「ドメイン管理機能」、③作業スコープと成果物スコープをガントチャートに展開する「スコープ連携機能」のすべてをカバーしています。さらに④として工数見積の値を計画工数に連携する機能もあります。
プロジェクトのスタート時点において、作成した機能一覧表をもとにして、ログイン画面設計は2人日、メニュー画面設計は3人日というように機能別に工数を見積します。この値がガントチャートに展開した場合の計画工数となります。 当社ではOBPMを利用し見積した機能(明細)を自動でガントチャートに関連付ける機能があります。機能名だけでなく見積工数も連携され、それに応じた期間もガントチャートに自動反映(3人日なら3日分の線の長さで初期表示)されるので容易にスケジュールが作成しやすいと利用者に好評です。
図4:見積工数がガントチャートの計画工数となり線幅を自動設定する
共有するなら専用ツール
このような手法を見につければ、ガントチャートを作成ツールはなんでもかまわないとも言えます。皆さんの身近にあるエクセルやフリーのアプリを使うこともよいかもしれません。しかし、エクセルのフリーテンプレートは結局メンバーの入力状況や、今がわからなかったりするデメリットがあります。フリーのアプリも、チケット発行をして進捗状況はわかりますが、スコープや工数見積と連携したり、WBS標準を展開したりできる専用ツールに比べると生産性が落ちると思います。
ガントチャートのメリット
ガントチャートを書かない人、おおざっぱなガントチャートで済ます人、最初に書いたっきり放っておく人、世の中にはいろいろな人がいます。でも「ガントチャートを制すものはプロジェクトを制す!」と言うほど、私はガントチャートを使いこなすことの重要さを認識しています。そこで、最後にガントチャートを使う上での3つのポイントを述べたいと思います。
①タスクが明確になる
やるべき作業をWBSのような階層構造に落とし込むことにより、作業の漏れをなくすことができます。失敗プロジェクトを経験した人から「やるべきタスクが漏れていて、後から追加作業が多発した」という後悔話をよく聞きます。「結局、最初の計画が大事」なのだと思い、この言葉を忘れないようにしています。プロジェクトを失敗させないためにも、タスクを漏れなく洗い出す。洗い出したタスクが予定通りこなせるように管理する、といったことがプロジェクト管理の基本と心得てください。
②担当が明確になる
タスクが明確になると、担当者を割り当てることができます。ガントチャートにして計画工数を算出し、リソースを勘案したうえで担当を決めることで、無理のないプロジェクト遂行が行えます。タスクを全て洗い出すと、適材適所に担当を決めることができますし、責任の所在が明確になりコミュニケーションがスムーズになります。
③進捗が明確になる
ガントチャートでタスクを分解し、各タスクの作業ボリュームを計画することにより、進捗が管理できます。タスクごとに工数を計画することにより、全体の進捗を数値で確認することができます。遅れているタスク、進んでいるタスクといったチャート図上の目で見える情報のほか、誰が、どれだけの工数遅れているのか、取り戻すのには何日かかるのかといった、根拠のある数値で、遅れに対する早期処置が可能になります。
(株式会社システムインテグレータ 羽佐田奈津美)
- カテゴリ:
- キーワード: