ソフトウェア工学の分野で、
「目標が決まっているときに、
どうやってシステムに落とし込むか」
という手法(要求分析手法の一つ)にゴール指向要求分析がある。
ゴール指向要求分析のKAOSは、このゴール指向分析から、
ソフトウェア工学で使われるUMLへの落とし方は
Requirements Engineering: From System Goals to UML Models to Software Specifications
https://www.amazon.co.jp/dp/0470012706
に載っている。UMLからプログラムの落とし方は、大体わかると思う
(このブログにも、どっかに載っていると思った)
ということで、ゴール分析、とくにKAOSで表現できれば実現可能性が高い。
じゃあ、ソフトウェア工学の学者さんは、社会貢献のためにKAOSで、
コロナのワクチン接種をどうやるか示すべきだけど…
ゴール指向要求分析で、日本で一番有名な人は山本修一郎先生で、
手法として最近話題はGQMでこれは鷲崎先生、
研究室的には南山大学の青山先生の研究室とかで
やっているけど、この先生方はみんなDXで忙しそうなので、
まあ、(その先生とは雲泥の差だけど、底辺にいる)自分が今回やってみることとする
※最近は、ゴール指向分析はゴール指向Liteという手法が有名みたい。
世界的には、ゴール指向分析をもとに、リスク分析を行うことが盛んで
その流れにゴール指向Liteは乗っているんだけど、
そもそも、きれいに分割できないと、リスク分割できない。
なので、今回は、きれいに分割する方法を考える)
■ゴール志向分析の手順
ゴール指向分析のKAOSのやり方は
1.達成したい大目標を立てる(=トップゴール)
2.上で立てたゴールを分割して、サブゴールにする
3.ゴールが実現可能になるまで、これを繰り返す
たったこれだけ。
■1.達成したい大目標を立てる(=トップゴール)
はじめに、一番初め、トップゴールを作る。
‥って、そのまえに、KAOSでいうゴールとは、
状態Pから状態Qへの状態遷移
と定義され、トップゴールは
現在の状態Pから、目標への状態遷移
を記述する。
米コロナ和キチンの場合
ワクチンを誰も打っていない状態→ワクチンをみんなが打っている状態
への状態遷移となる。
■2.上で立てたゴールを分割して、サブゴールにする
上記のトップゴールを分割する。
その前に、なぜ、分割すると、実現できるようになるかというと、
分割する前は、複雑な手続き(仮にN個の手続きとなる)を経て、
多くの人(m人としよう)がかかわるゴールでも、
手続きを分解していけば(N→N/2→N/4のように)最終的には1手続き1人の人になる。
このとき、
分解した手続きが実現不可能なら、ゴール達成不可能となり、
分解した手続きが実現可能なら、ゴール達成可能となり、
分割中のどこかで、自分は達成できなくとも、ほかの人が達成可能なことが分かれば、
それを達成できる人に頼めば、達成可能になる
というしくみ。
これを満たすために、ゴールは2種類の分割方法がある
(これだけで分割方法が足りているかどうかは証明されていない)
1.手続きを分割していく(マイルストーン分割)
2.状態を分割していく
2-1)初期状態(P)のほうの状態を分割する
2-2)ゴール(Q)のほうを分割する
米コロナの場合は、分割方法が決まっているので、それに合わせる
ワクチンを誰も打っていない状態→ワクチンをみんなが打っている状態
⇒ワクチンを誰も打っていない状態→医療関係者が打っている状態
⇒ワクチンを誰も打っていない状態→高齢者・基礎疾患が打っている状態
⇒ワクチンを誰も打っていない状態→その他一般が打っている状態
※分割の書き方は決まっていて、この書き方ではないんだけど、
ブログに書きにくいので、こうかく。
■3.ゴールが実現可能になるまで、これを繰り返す
上で、サブゴールがいくつか出てきた。それぞれのサブゴールに対して、
そのサブゴールをさらに分割して、サブサブゴールを作り。
さらにサブサブゴールを分解して、サブサブサブゴールを作り、
サブサブサブゴールを分割してサブサブサブサブゴールを作る・・・
というように、ゴールを分割していくことを繰り返す
このときの分割のテクニック。
分割する際は、
・ゴールに届きそうなところ=実現するまでの手続きが見えそうなところ
を先に分割、次に
・リスクの低いところから分割
さらに
・効果のでかいところから分割
する。
効果のでかいところから分割すると、結局、それ出来ない。となってゴール分割
の意味がなくなってしまう。
米今回のコロナの場合は、
⇒ワクチンを誰も打っていない状態→医療関係者が打っている状態
を先に分割する。医療関係者に注射するのは、簡単そう。
病院でやればいいんだから
これでうまくいけば、このゴール分割の結果をもとに
(参考にして)
⇒ワクチンを誰も打っていない状態→高齢者・基礎疾患が打っている状態
⇒ワクチンを誰も打っていない状態→その他一般が打っている状態
も分割できる。医療従事者の分割をパクってきて、差分だけを修正すればいいわけだから。
米米今回のサブゴール分割
医療関係者なら、だれがやっても同じだし、リスクも同じだけど…
・効果のでかいところから分割
って考えると、コロナ関係者は院内感染が防げるかもしれないし※
自分はコロナを発病しなくなるので、この場合
コロナを診ている病院に勤める医療関係者
コロナを診ていない病院に勤める医療関係者
病院以外の医療関係者
に分けられる
P→ワクチンをみんなが打っている状態
⇒P→医療関係者が打っている状態
⇒P→コロナを診ている病院に勤める医療関係者が打っている状態
⇒P→コロナを診ていない病院に勤める医療関係者が打っている状態
⇒P→病院以外の医療関係者が打っている状態
⇒P→高齢者・基礎疾患が打っている状態
⇒P→その他一般が打っている状態
P:ワクチンを誰も打っていない状態
ってなかんじ。長くなるので、初めの条件をPと書くことにした。
■分割の打ち止め:ゴール分割は
分解した手続きが実現不可能なら、ゴール達成不可能となり、
分解した手続きが実現可能なら、ゴール達成可能となり、
分割中のどこかで、自分は達成できなくとも、ほかの人が達成可能なことが分かれば、
なので、終了点は
1.実現不可能と悟った点
2.手順が全部見えて、実現できる点になったとき
3.誰かに丸投げできるとき
ということになる。
米米米今回のゴール分割の着地点は、
⇒P→コロナを診ている病院に勤める医療関係者が打っている状態
という場合、コロナを見ているお医者さんは、インフルエンザ駐車とかやっているんだから、
コロナもできそう!ということで、まず、コロナを診ているお医者さんにヒアリングして、
自分たちの病院で、予防接種できそうかどうかをヒアリングする。
ここで分割はいったん終了し、
「コロナを診ているお医者さんに自分たちの病院で、予防接種できそうかどうかをヒアリング」
となる。ヒアリングの際は手順もうかがっておき、今度は手順で分割していくことになる。
P→ワクチンをみんなが打っている状態
⇒P→医療関係者が打っている状態
⇒P→コロナを診ている病院に勤める医療関係者が打っている状態
⇒P→医療関係者に1回目の接種完了
⇒P→コロナワクチンを入手する
⇒P→対象者に、接種の通知をする
⇒コロナワクチンを入手する→コロナワクチンが会場に到着している
⇒対象者に、接種の通知をする→対象者が会場に行く
⇒対象者が会場に行く&コロナワクチンが会場に到着している→コロナ接種完了
⇒医療関係者に1回目の接種完了→医療関係者に2回目の接種完了
(1回目のゴール分割をここにコピー)
⇒P→コロナを診ていない病院に勤める医療関係者が打っている状態
⇒P→病院以外の医療関係者が打っている状態
⇒P→高齢者・基礎疾患が打っている状態
⇒P→その他一般が打っている状態
このあと、ゴールを阻む問題は何かのリスク分析をする。
2回で終わりなのに3回受けてしまう危険性とか、コロナワクチンが運搬できるかとか、接種する医者はとかを考えることになる。
その阻害要因に対応するため、新たな仕事が生まれ、その仕事を実現するために新たな登場人物が出てくる。
コロナの場合、保健所、市役所がそれにあたる。
■誰に話をつけに行くか
手続きに分解するには、有識者にヒアリングしに行く必要がある。
とくに、このような大きな事業は、今後中心になっていく人のトップに話をつけて、
トップダウンにやったほうがいい
米コロナの場合、地域地域で、医者が中心になり、保健所がバックアップすることになる。
つまり、地域医療によって、実現できるわけで、初めに今回の話を動かすには。
地域医療推進機構のトップ(理事長)が、理解を示し、地域医療でワクチン接種を実現するように
トップにハタ降ってもらう必要がある。
で、地域医療推進機構のトップなのだが・・・
・・・これ、尾身茂氏なのだ。
そう、コロナの分科会の一番偉い人で、テレビに菅首相と一緒に出て記者会見したり、
密をさけろと言っている人。あの人が一番偉いわけで、ゴール志向的に考えると、
あの人がワクチン接種について動いてくれないといけない。
もっというと、コロナ分科会が中心になってワクチン接種のハンドブック作ったり、
分科会の人の病院でワクチン接種の実証実験したり、
尾身さん自身がワクチン接種について、国民に訴えかけ、
率先してワクチン打たないといけないんだけど・・・・
・・・それがないわけよ。な~ぜ~
大丈夫なのだろうか?
P.Sこのあと、リスク分析する。そうすると、医療関係者を先にやらないと、以下のケースが出る可能性があるので
問題となり、結論として、「コロナ関係の医療従事者の接種に全集中すべき」になるのだが、そこは省略。
■問題となるケース
・ワクチン接種を終えていないお医者さんが
・コロナにかかっているのに無症状で(科人に感染させることはできる状態で)
・高齢者にワクチン接種を行う場合。
この場合、高齢者に移してしまい、コロナワクチン接種した人が集団感染っていう結果になる。
「目標が決まっているときに、
どうやってシステムに落とし込むか」
という手法(要求分析手法の一つ)にゴール指向要求分析がある。
ゴール指向要求分析のKAOSは、このゴール指向分析から、
ソフトウェア工学で使われるUMLへの落とし方は
Requirements Engineering: From System Goals to UML Models to Software Specifications
https://www.amazon.co.jp/dp/0470012706
に載っている。UMLからプログラムの落とし方は、大体わかると思う
(このブログにも、どっかに載っていると思った)
ということで、ゴール分析、とくにKAOSで表現できれば実現可能性が高い。
じゃあ、ソフトウェア工学の学者さんは、社会貢献のためにKAOSで、
コロナのワクチン接種をどうやるか示すべきだけど…
ゴール指向要求分析で、日本で一番有名な人は山本修一郎先生で、
手法として最近話題はGQMでこれは鷲崎先生、
研究室的には南山大学の青山先生の研究室とかで
やっているけど、この先生方はみんなDXで忙しそうなので、
まあ、(その先生とは雲泥の差だけど、底辺にいる)自分が今回やってみることとする
※最近は、ゴール指向分析はゴール指向Liteという手法が有名みたい。
世界的には、ゴール指向分析をもとに、リスク分析を行うことが盛んで
その流れにゴール指向Liteは乗っているんだけど、
そもそも、きれいに分割できないと、リスク分割できない。
なので、今回は、きれいに分割する方法を考える)
■ゴール志向分析の手順
ゴール指向分析のKAOSのやり方は
1.達成したい大目標を立てる(=トップゴール)
2.上で立てたゴールを分割して、サブゴールにする
3.ゴールが実現可能になるまで、これを繰り返す
たったこれだけ。
■1.達成したい大目標を立てる(=トップゴール)
はじめに、一番初め、トップゴールを作る。
‥って、そのまえに、KAOSでいうゴールとは、
状態Pから状態Qへの状態遷移
と定義され、トップゴールは
現在の状態Pから、目標への状態遷移
を記述する。
米コロナ和キチンの場合
ワクチンを誰も打っていない状態→ワクチンをみんなが打っている状態
への状態遷移となる。
■2.上で立てたゴールを分割して、サブゴールにする
上記のトップゴールを分割する。
その前に、なぜ、分割すると、実現できるようになるかというと、
分割する前は、複雑な手続き(仮にN個の手続きとなる)を経て、
多くの人(m人としよう)がかかわるゴールでも、
手続きを分解していけば(N→N/2→N/4のように)最終的には1手続き1人の人になる。
このとき、
分解した手続きが実現不可能なら、ゴール達成不可能となり、
分解した手続きが実現可能なら、ゴール達成可能となり、
分割中のどこかで、自分は達成できなくとも、ほかの人が達成可能なことが分かれば、
それを達成できる人に頼めば、達成可能になる
というしくみ。
これを満たすために、ゴールは2種類の分割方法がある
(これだけで分割方法が足りているかどうかは証明されていない)
1.手続きを分割していく(マイルストーン分割)
2.状態を分割していく
2-1)初期状態(P)のほうの状態を分割する
2-2)ゴール(Q)のほうを分割する
米コロナの場合は、分割方法が決まっているので、それに合わせる
ワクチンを誰も打っていない状態→ワクチンをみんなが打っている状態
⇒ワクチンを誰も打っていない状態→医療関係者が打っている状態
⇒ワクチンを誰も打っていない状態→高齢者・基礎疾患が打っている状態
⇒ワクチンを誰も打っていない状態→その他一般が打っている状態
※分割の書き方は決まっていて、この書き方ではないんだけど、
ブログに書きにくいので、こうかく。
■3.ゴールが実現可能になるまで、これを繰り返す
上で、サブゴールがいくつか出てきた。それぞれのサブゴールに対して、
そのサブゴールをさらに分割して、サブサブゴールを作り。
さらにサブサブゴールを分解して、サブサブサブゴールを作り、
サブサブサブゴールを分割してサブサブサブサブゴールを作る・・・
というように、ゴールを分割していくことを繰り返す
このときの分割のテクニック。
分割する際は、
・ゴールに届きそうなところ=実現するまでの手続きが見えそうなところ
を先に分割、次に
・リスクの低いところから分割
さらに
・効果のでかいところから分割
する。
効果のでかいところから分割すると、結局、それ出来ない。となってゴール分割
の意味がなくなってしまう。
米今回のコロナの場合は、
⇒ワクチンを誰も打っていない状態→医療関係者が打っている状態
を先に分割する。医療関係者に注射するのは、簡単そう。
病院でやればいいんだから
これでうまくいけば、このゴール分割の結果をもとに
(参考にして)
⇒ワクチンを誰も打っていない状態→高齢者・基礎疾患が打っている状態
⇒ワクチンを誰も打っていない状態→その他一般が打っている状態
も分割できる。医療従事者の分割をパクってきて、差分だけを修正すればいいわけだから。
米米今回のサブゴール分割
医療関係者なら、だれがやっても同じだし、リスクも同じだけど…
・効果のでかいところから分割
って考えると、コロナ関係者は院内感染が防げるかもしれないし※
自分はコロナを発病しなくなるので、この場合
コロナを診ている病院に勤める医療関係者
コロナを診ていない病院に勤める医療関係者
病院以外の医療関係者
に分けられる
P→ワクチンをみんなが打っている状態
⇒P→医療関係者が打っている状態
⇒P→コロナを診ている病院に勤める医療関係者が打っている状態
⇒P→コロナを診ていない病院に勤める医療関係者が打っている状態
⇒P→病院以外の医療関係者が打っている状態
⇒P→高齢者・基礎疾患が打っている状態
⇒P→その他一般が打っている状態
P:ワクチンを誰も打っていない状態
ってなかんじ。長くなるので、初めの条件をPと書くことにした。
■分割の打ち止め:ゴール分割は
分解した手続きが実現不可能なら、ゴール達成不可能となり、
分解した手続きが実現可能なら、ゴール達成可能となり、
分割中のどこかで、自分は達成できなくとも、ほかの人が達成可能なことが分かれば、
なので、終了点は
1.実現不可能と悟った点
2.手順が全部見えて、実現できる点になったとき
3.誰かに丸投げできるとき
ということになる。
米米米今回のゴール分割の着地点は、
⇒P→コロナを診ている病院に勤める医療関係者が打っている状態
という場合、コロナを見ているお医者さんは、インフルエンザ駐車とかやっているんだから、
コロナもできそう!ということで、まず、コロナを診ているお医者さんにヒアリングして、
自分たちの病院で、予防接種できそうかどうかをヒアリングする。
ここで分割はいったん終了し、
「コロナを診ているお医者さんに自分たちの病院で、予防接種できそうかどうかをヒアリング」
となる。ヒアリングの際は手順もうかがっておき、今度は手順で分割していくことになる。
P→ワクチンをみんなが打っている状態
⇒P→医療関係者が打っている状態
⇒P→コロナを診ている病院に勤める医療関係者が打っている状態
⇒P→医療関係者に1回目の接種完了
⇒P→コロナワクチンを入手する
⇒P→対象者に、接種の通知をする
⇒コロナワクチンを入手する→コロナワクチンが会場に到着している
⇒対象者に、接種の通知をする→対象者が会場に行く
⇒対象者が会場に行く&コロナワクチンが会場に到着している→コロナ接種完了
⇒医療関係者に1回目の接種完了→医療関係者に2回目の接種完了
(1回目のゴール分割をここにコピー)
⇒P→コロナを診ていない病院に勤める医療関係者が打っている状態
⇒P→病院以外の医療関係者が打っている状態
⇒P→高齢者・基礎疾患が打っている状態
⇒P→その他一般が打っている状態
このあと、ゴールを阻む問題は何かのリスク分析をする。
2回で終わりなのに3回受けてしまう危険性とか、コロナワクチンが運搬できるかとか、接種する医者はとかを考えることになる。
その阻害要因に対応するため、新たな仕事が生まれ、その仕事を実現するために新たな登場人物が出てくる。
コロナの場合、保健所、市役所がそれにあたる。
■誰に話をつけに行くか
手続きに分解するには、有識者にヒアリングしに行く必要がある。
とくに、このような大きな事業は、今後中心になっていく人のトップに話をつけて、
トップダウンにやったほうがいい
米コロナの場合、地域地域で、医者が中心になり、保健所がバックアップすることになる。
つまり、地域医療によって、実現できるわけで、初めに今回の話を動かすには。
地域医療推進機構のトップ(理事長)が、理解を示し、地域医療でワクチン接種を実現するように
トップにハタ降ってもらう必要がある。
で、地域医療推進機構のトップなのだが・・・
・・・これ、尾身茂氏なのだ。
そう、コロナの分科会の一番偉い人で、テレビに菅首相と一緒に出て記者会見したり、
密をさけろと言っている人。あの人が一番偉いわけで、ゴール志向的に考えると、
あの人がワクチン接種について動いてくれないといけない。
もっというと、コロナ分科会が中心になってワクチン接種のハンドブック作ったり、
分科会の人の病院でワクチン接種の実証実験したり、
尾身さん自身がワクチン接種について、国民に訴えかけ、
率先してワクチン打たないといけないんだけど・・・・
・・・それがないわけよ。な~ぜ~
大丈夫なのだろうか?
P.Sこのあと、リスク分析する。そうすると、医療関係者を先にやらないと、以下のケースが出る可能性があるので
問題となり、結論として、「コロナ関係の医療従事者の接種に全集中すべき」になるのだが、そこは省略。
■問題となるケース
・ワクチン接種を終えていないお医者さんが
・コロナにかかっているのに無症状で(科人に感染させることはできる状態で)
・高齢者にワクチン接種を行う場合。
この場合、高齢者に移してしまい、コロナワクチン接種した人が集団感染っていう結果になる。