gantt
アロー ダイアグラム 書き方で検索する人がつまずく場所は、だいたい2つに決まっています。結合点に番号をどう振ればよいのか分からなくなる場所と、ダミー作業をどこに入れるのか判断できなくなる場所です。この記事では、作業を洗い出すところから、番号を振り、日数を入れ、クリティカルパスを求めるところまで、1つの例題を通して順に進めます。試験で解くための手順としても、実際の工程を引くための手順としても使える形で並べます。
最初に、この図が何を表しているかをはっきりさせます。アローダイアグラムは、PERT図やネットワーク工程表とも呼ばれる図で、作業と作業のつながりを矢印で表します。表しているのは、作業の順序と所要日数だけです。誰が担当するか、いくら掛かるか、どの日付から始まるかは、この図には含まれません。
この割り切りが、ガントチャートとの違いを生みます。ガントチャートは横軸が日付で、棒の長さが期間です。いつ何が動くかは一目で分かりますが、なぜその日から始まるのかという理由は棒の上に書かれていません。アローダイアグラムは逆で、日付は出てこない代わりに、どの作業が終わらないと次に進めないのかがすべて矢印として残ります。
現場で効いてくるのは、この「理由が残る」という点です。工程が1本遅れたとき、ガントチャートだけを見ていると、影響が及ぶ先を人が毎回たどり直すことになります。矢印で持っていれば、遅れた作業から先に伸びている矢印を追うだけで、影響の範囲が決まります。
| 見るもの | アローダイアグラム | ガントチャート |
|---|---|---|
| 横軸 | 作業の順序 | 日付 |
| 分かること | どの作業が次を止めるか | いつ何が動くか |
| 遅れの影響 | 矢印をたどれば範囲が出る | 人が読み替える |
| 向いている場面 | 計画を組む段階 | 進行を共有する段階 |
どちらが優れているという話ではありません。計画を組む段階でアローダイアグラムを引き、組み終わった結果をガントチャートで共有する。この2段構えが、実務では最もよく回ります。
手順の前に、引く見返りをはっきりさせておきます。ここに納得がないと、忙しい週に図を引く時間は確保されません。
変わることの1つめは、監視する対象が絞られることです。 作業が30件ある案件で、30件を毎日見張るのは無理です。余裕ゼロの作業が6件と分かれば、その6件だけを毎日見て、残りは週に1回でよくなります。とりまとめる人の時間は、この絞り込みで最も大きく空きます。
2つめは、遅れの報告の意味が変わることです。 「2日遅れています」という報告だけでは、対応すべきかどうか判断できません。余裕が3日ある作業の2日遅れと、余裕ゼロの作業の2日遅れは、まったく別の事態です。図があると、同じ言葉の報告を別の重さで受け取れます。
3つめは、短縮の相談に数字で答えられることです。 「1週間早められないか」と聞かれたとき、どの作業に人を足せばよいかが図から決まります。余裕のある作業に人を足しても1日も短くならないという説明も、図があれば1分で終わります。
逆に、引かないと起きることは決まっています。遅れが出たときに、影響が及ぶ先を人が毎回たどり直します。たどり直しは記憶に頼るので、抜けます。抜けた先で手待ちが発生し、その手待ちは誰の報告にも出てきません。気づくのは納期の直前です。
デメリットも書いておきます。作業の数が多いと図が大きくなり、紙1枚に収まらなくなります。50件を超える工程を1枚の図で扱うのは現実的ではないので、工程をいくつかの塊に分け、塊ごとに図を引いて、塊のあいだの関係だけを別の図で持つ形にします。もう1つは、記法を知らない人に見せても伝わらないことです。この点への対処は後ほど触れます。
書き方の手順に入る前に、部品を4つだけ整理します。ここが曖昧なまま手を動かすと、途中で必ず止まります。
結合点。 丸で描く点で、イベントやノードとも呼ばれます。作業の始まりと終わりを表す区切りで、作業そのものではありません。ここに番号を振ります。
作業。 実線の矢印で描きます。矢印の上に作業の名前、下に所要日数を書くのが一般的な書き方です。矢印の長さに意味はありません。3日の作業と10日の作業を、同じ長さで描いてかまいません。ここを勘違いすると、図を描くのに無駄な時間が掛かります。
ダミー作業。 破線の矢印で描きます。所要日数はゼロで、実際の作業は伴いません。順序の関係だけを表すために引く矢印です。使う場面は後ほど詳しく説明します。
所要日数。 その作業に掛かる日数です。人数を増やせば短くなる作業と、待ち時間のように人数と関係なく決まる作業があります。図に入れる前に、どちらなのかを担当者に確認してください。混ぜて描くと、後から短縮を検討するときに使えない図になります。
この4つに加えて、描き方のルールが4つあります。矢印は左から右へ向けて描き、右から左へ戻す矢印は引きません。開始の結合点と終了の結合点はそれぞれ1つだけにします。1つの結合点から同じ結合点へ向かう矢印を2本引いてはいけません。そして、結合点の番号は、矢印の始点よりも終点のほうが大きくなるように振ります。
ここから例題で進めます。作業はAからFの6つ、順序は次の通りとします。
AとBは最初から始められます。Aが終わるとCに入れます。Bが終わるとDとFに入れます。CとDの両方が終わるとEに入れます。EとFが両方終わると全体が完了します。所要日数はAが3日、Bが4日、Cが5日、Dが2日、Eが6日、Fが8日です。
手順1、作業を全部書き出します。 ここで漏れると、以降の計算が全部やり直しになります。試験の問題であれば与えられていますが、実務では洗い出しがいちばん時間の掛かる工程です。検査や承認の待ち時間、材料の納品待ちも作業として立てます。人が手を動かしていない時間も、次の作業を止めているなら矢印になります。
手順2、それぞれの先行作業を決めます。 「この作業を始めるには、どれが終わっていなければならないか」を1件ずつ聞いていきます。表にして書くのが確実です。AとBは先行なし、Cの先行はA、DとFの先行はB、Eの先行はCとD、という形です。
先行関係を聞くときのコツが1つあります。「この作業の後に何をしますか」と後ろ向きに聞かないことです。後ろ向きに聞くと、担当者は自分の次の仕事を答えるので、他の担当者へ渡る関係が落ちます。「この作業を始めるために、終わっていなければならないものは何ですか」と前向きに聞くと、他部署や社外からの受け取りも出てきます。落ちやすいのは、自分以外の人が終わらせる作業です。
もう1つ、同時に始められるかどうかを必ず確認します。担当者は習慣で順番に並べる傾向があり、本当は並行できる作業まで直列に答えます。「AとBは同じ週に進められますか」と1件ずつ確認すると、日数が縮む場所が見つかります。ここで見つかった並行化は、図を引く前に効く短縮です。
手順3、矢印を並べます。 先行のない作業を左端の結合点から出し、順に右へつないでいきます。この段階では番号を振りません。番号を先に振ると、途中で作業が追加されたときに全部振り直すことになります。
手順4、番号を振ります。 ここがつまずきやすい場所です。左から右へ、上から下へという順で振っていけばよいのですが、守るべき条件は1つだけです。すべての矢印について、始点の番号より終点の番号が大きくなっていること。 この条件を満たしていれば、番号が連続していなくても、飛んでいても図として正しく読めます。
例題に番号を振ると、次のようになります。開始が1、Aの終わりが2、Bの終わりが3、CとDの合流点が4、終了が5です。矢印は1から2へA、1から3へB、2から4へC、3から4へD、4から5へE、3から5へFとなります。すべての矢印で終点の番号が大きくなっていることを確認してください。
番号は結合点に振るもので、作業に振るものではありません。ここを混同すると、作業Cを「作業4」と呼んでしまい、他の人と話が通じなくなります。作業は名前で呼び、結合点は番号で呼ぶと決めておくと混乱しません。
ダミー作業の使いどころが分からないという声がいちばん多いので、場面を3つに絞って整理します。
場面1、同じ結合点のあいだに2本の矢印が並ぶとき。 作業Cと作業Gが、どちらも結合点2から結合点4へ向かうとします。このまま描くと、矢印2本が同じ2つの番号で表されることになり、「作業2から4」と呼んだときにどちらを指すのか決まりません。そこで、片方の矢印の途中に新しい結合点を1つ作り、そこから4へ破線を引きます。作業の順序は変わらず、呼び分けができるようになります。
場面2、先行作業の組み合わせが作業ごとに違うとき。 作業Eの先行がCとDの両方で、作業Fの先行はDだけ、という関係を考えます。CとDを同じ結合点に合流させると、FもCの完了を待つことになってしまいます。これは元の条件と違います。Dの終点とCの終点を別の結合点にして、Dの終点からCの終点へ破線を引くと、EはCとDの両方を待ち、FはDだけを待つ形になります。
場面3、開始点や終了点を1つにまとめるとき。 ルールとして開始と終了はそれぞれ1つです。先行のない作業が3つあるなら、開始の結合点から実線を3本出せば足ります。一方、最後に終わる作業が複数あって、そのうち1つが別の作業の先行にもなっている場合は、破線で終了点へ寄せることがあります。
逆に、ダミーを入れなくてよい場面のほうが多数です。矢印が交差してしまう、図が見づらいといった理由でダミーを増やすのは避けてください。ダミーが増えると、後から見た人が「この破線は何のために引かれているのか」を判断できなくなります。引いたダミーには、なぜ引いたのかを図の外に1行だけ残しておくと、後任が読めます。
番号が振れたら、日数の計算に入ります。計算は2回、右向きと左向きに行います。
前進計算で最早結合点時刻を出します。 開始の結合点1をゼロとして、左から右へ進みます。ある結合点の最早時刻は、そこへ入ってくる矢印について「始点の最早時刻に作業日数を足した値」を計算し、そのうちの最大値を取ります。最大値を取るのは、入ってくる作業が全部終わらないと次に進めないからです。
例題で計算します。結合点1はゼロです。結合点2はA、つまりゼロに3を足して3日です。結合点3はB、ゼロに4を足して4日です。結合点4にはCとDが入ります。Cの経路は結合点2の3日に5を足して8日、Dの経路は結合点3の4日に2を足して6日。大きいほうを取って8日です。結合点5にはEとFが入ります。Eの経路は結合点4の8日に6を足して14日、Fの経路は結合点3の4日に8を足して12日。大きいほうを取って14日です。これが全体の最短の所要日数になります。
後退計算で最遅結合点時刻を出します。 終了の結合点の最遅時刻を、先ほど出した14日とします。ここから右から左へ戻ります。ある結合点の最遅時刻は、そこから出ていく矢印について「終点の最遅時刻から作業日数を引いた値」を計算し、そのうちの最小値を取ります。最小値を取るのは、いちばん厳しい制約に合わせないと全体が遅れるからです。
結合点5は14日です。結合点4はEを引いて、14から6を引いて8日です。結合点3はDとFの2本が出ています。Dの側は結合点4の8日から2を引いて6日、Fの側は結合点5の14日から8を引いて6日。小さいほうを取って6日です。結合点2はCを引いて、8から5を引いて3日です。結合点1はAとBの2本で、Aの側は3から3を引いてゼロ、Bの側は6から4を引いて2日。小さいほうを取ってゼロです。
2つの計算が終わったら、各結合点で最遅時刻から最早時刻を引きます。この差が余裕日数です。
結合点1はゼロ引くゼロでゼロ。結合点2は3引く3でゼロ。結合点3は6引く4で2日。結合点4は8引く8でゼロ。結合点5は14引く14でゼロです。
余裕がゼロの結合点を順にたどった経路が、クリティカルパスです。例題では結合点1から2、4、5を通る経路、つまり作業A、C、Eの並びになります。3足す5足す6で14日、全体の日数と一致します。
余裕が2日あるのは結合点3です。つまり作業Bは2日遅れても全体の完了日は動きません。ただし2日を使い切ると、結合点3の余裕がゼロになり、BもDもFも余裕を失います。余裕は結合点のものであって、経路上の作業それぞれに2日ずつ与えられているわけではありません。ここを誤解すると、BとDの両方で2日使って全体が2日遅れます。
クリティカルパス上の作業に余裕がないことの意味は、次の一文が端的に表しています。
図3のアローダイアグラムは2段の四角い枠の上下の数字が全て同じです。これは、どこかのタスクで1時間でもオーバーすれば、期限オーバーするということを示します。 出典: engineering-technology.brexa.com
とりまとめる立場からすると、この読み取りが図を引く目的そのものです。全部の作業を同じ重さで見張る必要はありません。余裕ゼロの作業だけを毎日確認し、余裕のある作業は週に1回でよい。監視の濃さを変えられることが、図を引いた見返りです。
工期を短くしたいときも、見る場所は同じです。 クリティカルパス上の作業に人を足すか、順序を組み替えるか、並行して進められる部分を切り出すか。余裕のある作業に人を足しても、全体の日数は1日も短くなりません。短縮の相談を受けたときに最初にこの図を開くのは、そのためです。
手で描くのは、作業が10件までなら現実的です。紙と鉛筆のほうが速く、消して描き直す判断も早く付きます。それを超えると、描き直しの手間が判断の速さを食い始めます。
エクセルで描く方法もよく使われます。図形の矢印と丸を並べれば見た目は作れますし、前進計算と後退計算は数式でも組めます。ただし、作業が1本増えるたびに図形を手で並べ替えることになり、番号の振り直しも手作業です。そして、1人が図を引き直しているあいだ、他の人はその図を見られません。 引き直しの途中の図は誰にも見せられないので、いったん閉じて作業し、終わってから共有します。その数時間、チームは古い図を見て動きます。
専用の道具を使う場合、見るべきポイントは3つです。
1つめ、作業と作業を線でつなげるか。 棒を並べられるだけの道具では、順序の情報が持てません。前後関係を線として保持できるかどうかを最初に確認します。線で持っていれば、1本の遅れがどこまで波及するかを人がたどらずに済みます。
2つめ、同じデータを別の形で見られるか。 計画を組む段階は順序の図が向いていますが、共有する段階は日付の並びが向いています。同じデータをガントで見て、カンバンで見て、カレンダーで見られる形であれば、転記が発生しません。転記が発生する形だと、2週目には片方が止まります。板の種類とカードに持たせられる項目はできることにまとまっています。
3つめ、試す段階で本番と同じ機能に触れるか。 工程の図を引くのは、たいてい案件が始まる直前です。試す期間は1週間もありません。機能で絞られる形だと、肝心のガントの部分に触れないまま判断することになります。機能で絞らず、区切るのは人数とボードの数だけという区切り方なら、数人で全機能を確かめてから広げられます。無料の範囲と有料に移る境目、人数の数え方は料金のページで確認できます。
苦手な部分も先に書いておきます。リポジトリの機能は持たず、自動化と外部サービスとの連携では勝負していません。自動で取り込めるのはTrelloだけで、他のサービスからは手で移すことになります。Trelloで運用してきた分の移し方はTrelloからの移行で確認できます。
実務で図が止まるのは、計算の途中ではありません。所要日数を1つの数で書けない作業に当たったときです。
やったことのある作業なら、担当者は日数を即答できます。困るのは初めての作業で、聞くと「3日かもしれないし、10日かかるかもしれない」という答えが返ってきます。この場合に1つの数を無理に決めさせると、たいてい安全側に大きく振れた数が入ります。安全側の数を全部の作業に入れると、全体の日数が実際より長く出て、その日程で受注できなくなります。
こういう作業には、3つの数を聞く方法が使えます。うまくいった場合の日数、いちばんありそうな日数、悪くなった場合の日数の3つです。この3つから、うまくいった場合に1、ありそうな場合に4、悪くなった場合に1の重みを付けて足し、6で割ります。3日、5日、13日という答えなら、3足す20足す13で36、6で割って6日です。
この計算の価値は、出てきた数よりも、聞く過程にあります。「悪くなった場合はどうなりますか」と声に出して聞くと、その作業が持っているリスクが言葉になります。材料の入荷が読めない、検査で差し戻されることがある、承認者が出張で不在になる。1つの数を聞いているあいだは出てこなかった情報が、3つ聞くと出てきます。
そして、この方法で出した日数の作業がクリティカルパス上にあるなら、余裕を持たせる場所は作業の中ではなく、経路の終わりです。作業ごとに日数を水増しすると、水増し分は必ず使われます。経路の終わりにまとめて置いておくと、本当に必要になった作業だけが使います。
アローダイアグラムは、情報処理の試験や中小企業診断士の試験でも出題されます。実務で引くときと、試験で解くときでは、時間の使い方が違います。
試験では作業と先行関係が与えられているので、洗い出しの工程がありません。その代わり、限られた時間で計算を間違えないことが求められます。手順を固定しておくのが最短です。
図が与えられている問題では、まず全部の結合点に最早時刻を書き込みます。 聞かれているのが最短日数だけであっても、途中の結合点を飛ばさずに埋めてください。飛ばすと、合流点で最大値を取り損ねます。最大値を取る場所、つまり矢印が2本以上入ってくる結合点が、この問題の得点の分かれ目です。
次に、終了点から戻って最遅時刻を書き込みます。 差を取る前に、両方の数を全部書き終えてください。1つの結合点ごとに差を取っていくと、途中で符号を取り違えます。
余裕がゼロの結合点に印を付け、つながっているかを確認します。 クリティカルパスは開始点から終了点までつながっている必要があります。余裕ゼロの結合点が2つに分かれて見えたら、計算のどこかが間違っています。検算の役に立つので、必ず確認してください。
日数を短縮する問題では、クリティカルパス以外に手を付けません。 「作業Bを2日短縮したら全体は何日になるか」という問題で、Bが余裕のある経路にあれば答えは変わりません。ここを読み違える誤答がいちばん多い箇所です。また、クリティカルパス上の作業を短縮すると、別の経路がクリティカルパスに変わることがあります。短縮後にもう一度計算し直す癖を付けてください。
最後に、実務で引いた図がおかしくなるときの原因を並べます。
1つめ、待ち時間を作業として立てていない。 承認待ち、材料の入荷待ち、先方の回答待ち。人が手を動かしていない時間を図から落とすと、計算上の日数が実際より短く出ます。図の日数が毎回実績より短いチームは、ここが原因です。
2つめ、1つの矢印に複数の作業を詰め込んでいる。 「設計と設計レビュー」を1本にまとめると、レビューだけが遅れているのか設計が遅れているのか分かりません。矢印を分ける基準は、担当が変わるかどうかです。担当が変わる場所では必ず切ってください。
3つめ、矢印を右から左へ戻している。 差し戻しがある工程を表そうとして、戻る矢印を引く人がいます。この図では表現できません。差し戻しは、やり直しの作業を別の矢印として立てるか、日数の中に見込むかのどちらかで扱います。
4つめ、番号を振り直していない。 作業を1本追加したのに番号をそのままにすると、始点より終点の番号が小さい矢印が生まれます。読む人がそこで混乱します。追加したら番号を通しで見直してください。
5つめ、引いた図を更新していない。 これがいちばん多く、影響も大きいです。計画の段階で引いた図のまま2か月が過ぎると、余裕日数はすべて実態と合わなくなります。余裕のない作業を余裕があると思って放置した結果、納期の直前に発覚します。
最後に、引いた図をどう使うかを整理します。ここを決めずに図だけ作ると、描いた本人しか読まない資料になります。
全員に共有するのは、図そのものではありません。 アローダイアグラムを読むには、結合点と余裕日数の考え方を知っている必要があります。チーム全員にそれを求めるのは現実的ではありません。共有するのは、図から出てきた3つの結論だけで足ります。全体の日数、余裕ゼロの作業の一覧、そして余裕がある作業とその日数です。
余裕ゼロの作業には、担当と期限を必ず付けます。 図の上では作業Cという名前でも、動かすのは人です。担当が決まっていない作業がクリティカルパス上にあるなら、それは日数の問題ではなく体制の問題です。
図は計画の段階で1回引いて終わりにしません。 作業が1本遅れた時点で、余裕日数は全部変わります。週に1回、実際の進み具合を入れて計算し直すと、余裕ゼロの作業の一覧が入れ替わります。この入れ替わりを追えている状態が、工程を管理できている状態です。
道具ごとの持ち方の違いを個別に見るなら、カードと板の考え方が近いところから当たるのが速いです。Trelloとの比較とBacklogとの比較が入り口になります。7社を横に並べた表は比較の一覧にあります。条件の数え方で分からないことが出たら、よくある質問を先に見てください。
アローダイアグラムを引くこと自体は、慣れれば30分の作業です。難しいのは、引いた図を毎週更新し続けることのほうです。更新が続く場所に置いてください。
守るべき条件は1つだけです。すべての矢印について、始点の番号より終点の番号が大きくなるように振ります。この条件を満たしていれば、番号が連続していなくても飛んでいても正しく読めます。番号は結合点に振るもので、作業に振るものではありません。矢印を並べ終えてから振ってください。
3つの場面に絞れます。同じ2つの結合点のあいだに矢印が2本並ぶとき、先行作業の組み合わせが作業ごとに違うとき、開始点や終了点を1つにまとめるときです。図が見づらいという理由で増やすと、後から読む人が引いた理由を判断できなくなります。
前進計算で各結合点の最早時刻を出し、後退計算で最遅時刻を出します。結合点ごとに最遅から最早を引いた差が余裕日数で、その差がゼロの結合点を順にたどった経路がクリティカルパスです。その経路上の作業が1日遅れると、全体の完了日が1日遅れます。
いいえ。余裕は結合点に対して計算された値で、経路上の各作業に2日ずつ配られているわけではありません。手前の作業で2日を使い切ると、その先の作業の余裕はゼロになります。複数の作業でそれぞれ2日使うと、全体が遅れます。