memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

アローダイアグラムについての質問について考えたメモです。

まえおき

プロジェクト管理という授業を10年以上担当しています。

私自身、大学等でプロジェクト管理を学んでから実務をしたわけではなく(たぶんそういう人は稀と思いますが)、実務を通してプロジェクト管理を体験し、教える側になったときに持論だけ展開するのはあんまりなので、PMBOKや実務者が書いた本を元ネタとして経験の少ない学生でも学べるように配慮して授業を改善してきました。

担当した当初はお勉強ではなく実務を学ばせたいという思いから授業を組み立ててきましたが、実務と学習はやはり同じではないですし、経験したことがないことを知識だけ得た状態で想像するのは想像以上に難しいことがわかってきました。

そこで、実務を実際にやらせてみるとか、小プロジェクトをまず体験させてみるとか、チーム演習を取り入れてみるなど、色々と試してきました。道のりは以下のようなところで発表しています。

本日、このプロジェクト管理の第5回目の授業がありました。アローダイアグラムの作成方法を前回に説明し、今回はPERT図を作成し、クリティカルパスを求めるまでを解説し演習してもらいました。

本題に入る前の予備知識を少し説明しておきます。

プロジェクト管理図法の1つにプレシデンスダイアグラムがあります。例えば、AとBを終えたらCという仕事(アクティビティと呼びます)をすることを以下のように表現します。



これを別の図法であるアローダイアグラムで表現すると以下のようになります。アローダイアグラムではFS(Finish-to-Start)の関係(前のアクティビティが完了したら次のアクティビティが開始できる)しか表現できないため、AとBが終わったらという関係(Finish-to-Finish)を表現するため、所要時間0のダミーアクティビティ(点線矢印)を使います、と講義では説明してきました。



ここまで学習した状態で、本日の講義で演習のため以下のような図を示しました。図中の英字はアクティビティ名で数字は所要期間です。



本日もZOOMによるオンライン授業だったのですが、そこでチャット機能で次のような質問をいただきました。はっきり覚えていないので不正確かもしれませんが、質問の意図をくんだ内容になっている(はず)です。たぶん。

質問1「dのあとにはダミーアクティビティが続くのに、bのあとにはないのはなぜか?」

元ネタの本から抜粋した図で、あくまでクリティカルパスを求めるための練習用に使ってきましたのでこれまで疑問には思いませんでした。はて?と困りました。。。しばらく考えましたがよい説明が思いつかず変な回答をしてはまずいと思い「宿題にさせてください」と伝えました。

上記の質問文だけではちょっとわかりにくいかもしれませんが、上述の通り、アローダイアグラムではアクティビティ間がFinish-to-Finishの関係にあるときにダミーアクティビティを使うと説明しています。

この図をみると「a〜b」と「c」と「d」という3経路あり、Finish-to-Finishの関係にあるはずなのに「a〜b」にはダミーアクティビティがない。。。あれ?と学生さんは感じられたのではないかと想像します。ちなみにこの疑問はeとhにも言えることです。

しばらく考えてみたのですが、1つ思い当たる説明は以下の通りです。

この例のdはそのあとに続くgを実行する流れ作業を表現しています。これが本流であるものの、dというアクティビティはeを開始するときには必要な青果物を生み出すため、eの開始条件にも関係させたい。。。その制約関係を結ぶために所要時間0のダミーアクティビティを挿入している、と考えると少しは理解しやすいのかと思いました。

ただ、結果的には、上記の3経路についてFinish-to-Finishの関係にあることを表していることには変わりはありません。これについては後述します。

もっというと3経路の関係だけ着目すると、以下のように描けなくはないと思います。この場合にアクティビティだけ着目して計算するのであれば、PERT図を作れないこともないと思います。



ここでPERT図について少し触れておきます。

PERT図を作るときにET(最早開始時刻)やLT(最遅開始時刻)を求める必要があります。以下はETの求め方について授業で解説したスライドは以下です。



ETを求めると、3経路の所要期間は10(0+6+4)と5(0+5)と7(0+7)ですので、最大値をとって10となり、ダミーアクティビティを使わない図と同じように求めることができます。実はアローダイアグラムには「ノート間を結ぶアクティビティは1本のみとする」というルールがありますので、何かしらの試験で以下のように解答すると❌になる可能性がありますが。。。PERT図を作成することだけを考えると無視してよいルールのようにも思えてきます。なかなか面白いです。このルールの正当性について何か知見をお持ちの方がいらっしゃったら教えていただけると幸いです。



とりあえず質問1の答えはあまりはっきりしませんが、dの次にする仕事がgであることと、あわせてdが完了していることがeを開始するための条件であるという制約条件をつけたくてダミーアクティビティを使っている、と理解してもらうのがよろしいかと思います。冒頭のプレシデンスダイアグラムの対応も嘘ではないのですが、そこだけ見てしまうと理解が難しくなるのかと思います。もう少しシンプルな題材で説明すべきですね。。。申し訳ありません。

質問2 (冒頭の図を以下に再掲します)「a+bとcとdが完了したらeが開始できるように見えるが、そもそもアローダイアグラムではFinish-to-Finishの関係は表現できないはず。。。なのにFinish-to-Finishの関係のようになっていて、さらに(質問1に関係するが)a+bのあとにダミーアクティビティがないのは理解できない」



こちらはごもっともなことと思いました。最初、アローダイアグラムが間違っているのでは?とさえ思いました。

ちなみに、アローダイアグラムがFS関係しか表現できないというのは元ネタの本には書いていたわけではなく、たまたまあるときにこちらの記事を見かけて説明がクリアになると思い、いつからか採用するようになっていました。個人ブログですが、エビデンスも示されていてなるほどと思った次第でした。

このアローダイアグラムがFS関係しか表現できないが誤っているのかもしれない。。。とも思いました。調べても特にそれらしい情報はでてきませんでした。しかたがなく、プロジェクト管理ツールで試してみました。

簡単にするためdは除いて、a、b、c、eの4つのアクティビティだけ入力してみました。

まず、すべてFS関係でアクティビティ間を結んだ場合です。



続いて、bとcの間でFF関係でアクティビティ間を結んだ結果が以下です。



注目していただきたいのは、どちらの場合でもeの開始日は同じであるということです。これらの図をみてピンときました。なるほど。。。と。

アローダイアグラムでダミーアクティビティであろうが普通のアクティビティであろうが、ノートに流入するアクティビティは複数書くことはできます。この例に限らず、様々な場所で紹介されているアローダイアグラムでノートに対して流入アクティビティが複数あります。

その場合に、流入するアクティビティがそれぞれ後続のアクディビティにFSの関係で接続していても、結果的に流入するアクティビティがFFの関係であるような結果になるということです

この例でいえば、a+bとcがFF関係を設定していなくても、それぞれのアクティビティが次のアクティビティであるeにFS関係で接続していると、a+bまたはcで完了が遅い方の時刻からeが始まるわけです。

まどろっこしいい言い方ですが。

なので、アローダイアグラムはFS関係しか表現できない、は今時点では間違っていないと考えられます。

そして、繰り返しになりますが、ノードに対して流入するアクティビティが複数存在していてあたかもFF関係じゃんと思えるような図である場合は、最遅完了時刻から次アクティビティが開始されるので、FS関係だけどFF関係のような結果になる、という理解をしてください。。。というのが質問2に対する説明になります。そこまで気になるのであれば、ですが。

当たり前を疑う、これは研究者(研究者に限らず、何か新しい視点や価値観を獲得して実践していく人)としては当然持つべき資質と思います。

この質問をした方は悩まれたことと思いますし、クリアではない説明をしたことを申し訳なく思いますが、自分のその感覚を信じてもらいたいですし、そのまま疑問を持ち続けて考える努力を続ければ何かしらの結果があると思います。

色々とごちゃごちゃと書いてきましたが、とりあえず、今日、考えてみた結果は以上になります。今後も考え続けたいと思います。

そもそも解釈が間違っているという指摘はもちろん、何かよい説明や解釈がありましたら教えていただけると幸いです。そのため、ネットに晒していますので。

うわ、もうこんな時間。

では、帰ります。