【第9-3章】ガントチャートとToDo管理の理想的な使い分け:ToDo管理とは「ガントチャートを制すものはプロジェクトを制す!」はちょっと言い過ぎかも知れませんが、ガントチャートはプロジェクト管理上必須のアイテムなのは異論がないと思います。旅行における行程表や料理におけるレシピも、単なるTODOメモではなくガントチャートにまとめると、旅の良い思い出を作ったり、よりおいしい料理が作ったりすることができます。ガントチャートは、時間の長さをバーで表すことができるので、誰が見てもプロジェクト全体像をわかりやすく把握できるのです。日々の業務の中ではもっと細かいTODOレベルでの管理が必要になってきます。コーディングするのに、「アカウント情報の取得ロジック」、「超過時間を月稼働日数から算出するロジック」といった細かなロジックを作成するタスクは、いちいちガントチャートのバーで表すほどでもないので、TODOレベルで管理したいところです。全体を一目で見られるガントチャートと、現場レベルの作業内容(TODO)をどのように使い分ければ効率的でしょうか。今回は、チャートとTODO(ここではサブ明細と呼んでいます)の関係について説明します。ガントチャートとTODO管理1チャートとサブ明細(イタリア旅行編)サブ明細の便利さを理解するために、身近な例で説明しましょう。1年がかりで手掛けたシステムが無事リリースを迎えることができて、1週間程お休みをもらえることになりました。忙しいさなかに思った「終わったら最新技術を勉強しよう!」という決意を実行しようといったんは考えたのです。「いや、その前にイタリア旅行だ!」とふと思ってしまい、結局夢だった「イタリア旅行」に行くことにしました。この心境、きっと数々のプロジェクトを乗り越えてきた方は共感していただけると思いますが...。思わずほおが緩むのを抑えながらも、そこはPMのプロ(?)ですので、ガントチャートを使ってイタリア旅行の行程表を図1のように作成しました。1日目に東京からミラノへの移動、2日目にミラノ探索といった日程に従った計画をガントチャート上で立てましたが、実際現地でやるべきことをどう表すかで迷ってしまいます。「成田空港でWiFiをレンタルする」「真実の口に手を入れる」「スペイン広場でアイスを食べる」といった“やるべきこと”(=TODO)は、どうタスク化すればいいでしょうか。これらをWBSの最下層としてチャートで表すのも1つの方法です。期間を表すほどのタスクではありませんし、チャートが増えすぎても管理が煩雑になります。夢のイタリアですからやりたいことがいっぱいあるので、WBS上のタスクではなく、そこに関連付けできるTODOで管理することにします。OBPMでは、WBSの最下層のタスク(ワークパッケージと呼びます)の下にサブ明細というTODOを設定できるようになっています。図1のWBS欄にある「ローマ探索」というタスクのサブ明細欄を見ると「0/5」と表示されています。これはローマ検索には5個のTODOがあり、全て未完了であることを示しています。「0/5」のリンクをクリックするとこの5個のサブ明細が表示されます。「ローマ探索」にまつわる5つのTODOが、やった、やらないで管理されるのです。個々のサブ明細を選択すると画面右側にその詳細が表示され、何をやるべきか明確に記されます。実際の旅行では、行程表とは別にやりたいことを紙に書きだしたり、旅行ガイド片手に付箋をつけたりして目的を果たすと思います。プロジェクト遂行においてもガントチャートとTODOを関連付けて、楽しい旅行を成し遂げる計画を立てると、思い残すことのない想いで深い旅行になるのです。確かにそういうところもありますね。通常の開発プロジェクト「A社向け勤怠システム構築プロジェクト」の例で考えてみます。Structure)でタスクを分解する際に難しいのは、タスクをどこまで分解するか、つまりワークパッケージを何にするかです。これをWBSの粒度とも言います。図2の例で考えてみましょう。WBSでタスクを「製造」→「コーディング」→「勤怠入力」とブレークダウンしました。これ以上分解すると煩雑になるので、ワークパッケージは「勤怠入力」で管理することにします。プロジェクト全体の管理としてはここで分解を止めることが多いのですが、現場の作業指示&進捗確認としてはもう少し細かく管理したいところです。そこで作業を始める前に「勤怠入力」コーディングの具体的な内容を洗い出します。「アカウント情報の取得:4時間」「日別入力モードの表示:12時間」「月別入力モードの表示:8時間」等のように実施する作業内容が洗い出されたら、それを明細タスク(TODO)として登録します。ウォーターフォール開発の場合は、設計書にもとづいて実装作業を行います。この場合、設計書の1ページ目から順番にコーディングするわけではありません。はじめの1日で画面項目説明書に記述されている内容を実装する、2日目にイベント制御の更新前チェック部分を実装する、といった段取りを行ってからコーディングするはずです。その段取りを頭の中で覚えていればいいのですが、私に限らず人間忘れるようにできているようです。そのため、こうした段取りをきちんとTODO登録するのです。TODO登録するとやるべきことが明確になるほか、進捗管理もできるので「あ、間に合わない」と焦ることが少なくなります。営業担当がスケジュール表にアポイントの日程やTODOを登録するように、エンジニアもガントチャートというスケジュール表にやるべきことを登録して管理すれば、効率よく作業がでます。決めたTODOの順に作業を実施し、ガントチャート上のタスクスケジュール内で全てのTODOタスクが完了するように作業します。作業を始める際にTODOを書き出すことは自己レビューにも似ています。これから実施する作業に漏れがないか、早期解決しておくべきことは何かを明確にすることができます。ガントチャートにTODOを登録すればチーム共有できますので、チーム内での調整やアドバイス、進捗状況の共有化をしやすくなるメリットもあります。図2:「勤怠入力」をTODO(サブ明細)化して管理3TODOがチケットになる仕組み先程説明したサブ明細の一つひとつは、担当者に割り当てられた作業そのものです。これを作業一覧としてリスト化し、それぞれの担当者を明確にすることも可能です。この担当者の作業をチケットという単位に割り当てると、作業一覧はチケット一覧そのものになります。一般のチケット管理は、現場監督(PL)が作業内容を書き出して、それをチケットとして発行して「はい、これは山田君」「これは佐藤さん、お願いします」と担当者に配り、それぞれの期限を定めます。このやり方の難点は、PLが「えーと...」と考えてチケットを発行するのがちょっとだけ面倒なところです。ガントチャートのサブ明細にTODOを登録すると、それが自動的に別画面でチケット一覧として管理される仕組みなら、自然な流れでチケットが発行されて作業管理されるメリットがあります。チケット一覧を見れば誰がどれくらいの作業ボリュームをいつまでに実施するかが一目瞭然になるので、作業負荷を皆で共有することができ、チームの作業効率が高まります。チケットは“担当者がやらなければならない作業”です。ガントチャートの作業タスクだけとは限りません。質問の回答や障害の修正など、あらゆる作業がチケットとなります。一般のチケット管理は、これらをひっくるめた汎用的なチケットを発行して、その進捗を管理するのですが、OBPMは逆の流れでチケット管理できるようにしています。OBPMは統合型のプロジェクト管理システムなので、さまざまな管理項目(PMBOKの10の知識エリア)で発生する作業をすべてチケットとして統括管理します。リスク」「レビュー」などで発行されます。発行するというよりも、それぞれの管理において担当者の作業が決まると自動的にチケットになるという仕組みです。障害管理において障害判定者がバグと判定して、修正者に酒井君を指名すると、その修正指示内容は酒井君のチケットとなります。同様に、質問回答や課題の対応担当など、それぞれの管理において対応者を決めるとそれがチケットとなってチケット一覧で管理できます。現場監督はこれを使って作業の空きや偏りがないよう調整することができます。担当者も割り当てられたチケットから優先順位を判断して作業を行うことが可能です。仕事ができる人はタスク管理も上手です。「タスク管理を制すものは仕事を制す!」と心得て嫌な作業もタスク化してさっさと終わらせましょう。言いつつ、私はさっさと終わらせられないタイプなので、毎日チケット一覧とにらめっこしながらぎりぎりの進捗を綱渡りしています。ガントチャートは何がいいのかガントチャートを書かない人、おおざっぱなガントチャートで済ます人、最初に書いたっきり放っておく人、世の中にはいろいろな人がいます。「ガントチャートを制すものはプロジェクトを制す!」と言うほど、私はガントチャートを使いこなすことの重要さを認識しています。そこで、最後にガントチャートを使う上での3つのポイントを述べたいと思います。1タスクが明確になるやるべき作業をWBSのような階層構造に落とし込むことにより、作業の漏れをなくすことができます。失敗プロジェクトを経験した人から「やるべきタスクが漏れていて、後から追加作業が多発した」という後悔話をよく聞きます。「結局、最初の計画が大事」なのだと思い、この言葉を忘れないようにしています。プロジェクトを失敗させないためにも、タスクを漏れなく洗い出す。洗い出したタスクが予定通りこなせるように管理する、といったことがプロジェクト管理の基本と心得てください。[RELATED_POSTS]2担当が明確になるタスクが明確になると、担当者を割り当てることができます。ガントチャートにして計画工数を算出し、リソースを勘案したうえで担当を決めることで、無理のないプロジェクト遂行が行えます。タスクを全て洗い出すと、適材適所に担当を決めることができますし、責任の所在が明確になりコミュニケーションがスムーズになります。3進捗が明確になるガントチャートでタスクを分解し、各タスクの作業ボリュームを計画することにより、進捗が管理できます。タスクごとに工数を計画することにより、全体の進捗を数値で確認することができます。遅れているタスク、進んでいるタスクといったチャート図上の目で見える情報のほか、誰が、どれだけの工数遅れているのか、取り戻すのには何日かかるのかといった、根拠のある数値で、遅れに対する早期処置が可能になります。マラソンに出場して、今何キロ地点にいるかわからなければどうでしょうか。ゴールまでの道のりがしんどくてしょうがないでしょう。42.195kmの折り返しを予定タイムより5分遅れている、ピッチは落ちてないので体力はまだある、といった現状把握をしたうえで、プロジェクトのゴールを迎える方がはるかに精神的ゆとりも大きいのではないでしょうか。