今、話題の人工知能(AI)などで人気のPython。初心者に優しいとか言われていますが、全然優しくない! という事を、つらつら、愚痴っていきます

015.(解説)コミュニケーション能力とSEの資質1

»

初回:2018/11/14

1.システム開発を成功に導くものは?

 一応SEなんで、どうすればプロジェクトを成功に導くことができるのか?という課題には興味があります。その中で最近思うのは、私にはコミュニケーション能力か、SEとしての資質が足りないんじゃないかという事です。

P子「今頃気づいたの?両方とも無いわよ」(※1

う...鋭い刃物で痛いところを思いっきり突き刺すんですね。
名前を付けたとたん、パワーアップしてません?(※2

 さて、ちょっとシステム開発とは異なりますが例を出します。

 保育園の補欠入園があり、1名の募集に10名の候補者(保護者)が現れたとします。そこで、園長さんは箱に青いボール9個と赤いボール1個を入れて、順番に保護者に引いてもらい、赤いボールを引き当てた保護者の子供さんを入園させると言いました。

 すると、ある保護者が『最初にくじを引く人が有利でしょ。だって、途中で赤い球が出たら後の人はくじも引かずに帰るんだから』と言い出します。
 園長先生は、『そんなことはありません。くじを引く順番に関係なく確率は同じです』と言います。

2.確率についての検証

 まずは、園長先生がおっしゃっていることが正しいか検証してみます。

最初の人は、10個の球から1つの赤い球を取り出すので、1/10=0.1 の確率です。
2人目は、9個の球から1つの赤い球を取り出すのですが、その行為が可能なのは前の人が赤い球を取り出せなかったときなので、(1-1/10)*1/9=0.1 です。
3人目は、8個の球から1つの赤い球を取り出すのですが、その行為が可能なのはそれ以前の人が赤い球を取り出せなかったときなので、(1-1/10-(1-1/10)*1/9)*1/8=0.1 です。

つまり、園長先生のおっしゃっていることは、正しかったという事です。

 これを、Pythonで表してみましょう。

C:\Users\chatrun>python
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> def f( n ):                 # n:くじを引く人数
...   p=1                       # 初期値 確率(1.0)
...   y=[0]                     # 結果を収納するリスト。最初の値は計算を簡素化するための設定値。
...   for i in range( n ) :     # 0 ~ 9
...     p = p - y[i]            # 残りの当たる確率(1-前の人の確率の合算)
...     y.append( p/(n-i) )     # 残りの確率÷残りの人数
...   return y                  # 最後に確率を収納したリストを返す
...
>>> print( f(10) )
[0, 0.1, 0.1, 0.1, 0.1, 0.10000000000000002, 0.10000000000000002, 0.10000000000000002, 0.10000000000000002, 0.1, 0.1]
>>>

結果を、リストに追加しています。

P子「5,6,7,8人目の確率が高いので、その人たちが有利ね」(※3
 嫌みですか?一応、Pythonは、P子の事なので、知ってるはずですよね。

 前の人の赤い球を引かなかった確率で計算しましたが、前の人が青い球を引く確率で計算します。

1人目は、1/10=0.1で同じ。
2人目は、青い球を引いた後で、9個の中から赤い球を引くので、9/10*1/9=0.1
3人目は、青い球を2回引いた後で、8個の球から赤い球を引くので、8/10*1/8=0.1

一般式にすると、1/n , (n-1)/n*1/(n-1) , (n-2)/n*1/(n-2) ...
分母分子で約分すると、1/n , 1/n , 1/n ...

P子「最初っから、これでいいんじゃないの」

 これは、たまたま今回の事例が単純だったので計算できましたが、もっと複雑なケースもあります。例えば、合格者が、3名の場合、青い球が7個、赤い球が3個になります。

1人目は、3/10=0.3 です。
2人目は、前の人が当たった場合、(3/10)*(2/9)と外れた場合(7/10)*(3/9)の確率の合計で、0.3
3人目は、最初の人が当たった場合、外れた場合と、さらにその時に、2番目が当たった場合、外れた場合の確率の合計で、(3/10)*(2/9)*(1/8)+(3/10)*(7/9)*(2/8)+(7/10)*(3/9)*(2/8)+(7/10)*(6/9)*(3/8)で、0.3となります。
4人目は、同様に、...ごめんなさい。もうだめです。

 どちらにしても、園長先生の主張は間違っていないことが判ります。

3.どのように対応するのがベストか?

 この事実を保護者の方に理解して頂き、入園児を決める必要があります。

案1:先の計算式とプログラムを見せて、納得していただく。
案2:強権発動! 文句を言う保護者の方には退場いただき、残りの人達だけで抽選会を行う。
案3:しれっとそういう声は無視して、先に進める。
案4:予備抽選会(つまりくじを引く順番を決めるくじ引き)を行い順番通りに引いていただく。
案5:引く都度、球を箱に戻してもらい、『ほら、これで全員同じ確率です』といってなだめる。(※4
案6:寄付金の多い保護者の子供を入園させる。
案7:入園テストと面接を行ってその点数で決める。(※5

 コミュニケーション能力がある人は、どの案を採用するでしょうか?

実際には、案4 の予備抽選会をされる保育園が多いそうです。(※6
なぜなら、数学的に説明しても理解されない保護者の方が必ずおられるのと、先の様に声に出して異議を唱えるのではなく、納得されないまま黙って従う方もおられるからです。

 保護者の方々は、数学的な確率を理解したいのではなく、公平な選抜を期待されているのですから、正論を押し付けるのではなく、納得感のある方法での実施が良いという事です。

P子「じゃあ、案7の面接のご案内の中に、子供の長所、短所、当園を選ばれた理由の他に寄付金の有無と概算金額を書き込んでいただき、実際には案6 の寄付金の順番で決めればいいんじゃない。」

 その発言は、ツンデレや小悪魔じゃなくて、ホントの悪魔ですよ。

 案1は、下手くそなSEがやってしまいそうなパターンです。一生懸命説明するのですが論点がずれています。
 案2は、上司や顧客のトップなどが言い出しかねない案ですが、従って行動すると後で痛い目に合うパターンです。
 案5は、無知な営業がついついその場しのぎで言い出して信用を落としてしまうパターンです。
 案6,7は、大学関係者が極秘にやってそうな...いやそんなことはないです。
 そして、案4は、コミュニケーション能力のないSEが、プロジェクトをデスマーチに導くパターンです。(※7

4.SEの資質

 プロジェクトを進めると、こんなことは氷山の一角なので次から次へと問題が出てきます。その都度、案4的な方法で解決を図っていると時間ばかりがむなしく過ぎていきます。
『くじを引く順番を決めるくじ引き』の為には準備や小道具、場合によっては、そのくじを引く順番を決めるためのくじ引きが必要になるかもしれませんので、それらを配慮しつつ対応する必要があります。プロジェクトでいうと、まったく余計な手間をかけて画面を何本も作成するとか、本来は顧客でしか作成できない業務手順書を操作説明資料に加えるとか、すべての画面に同じような機能を追加するとか...。

 つまり、案3の手法(しれっと無視して先に進める)を選択するのが優秀なSEで、それを選択しても苦情が出なく顧客に納得してもらえる能力が、コミュニケーション能力だと思います。

 実際、いくつかの要望は、システムを使い始める前の思い込みから来ていたり、以前のシステムから新システムへの移行期間の間、つまり慣れるまでの間だけの問題かもしれません。2,3か月も経てば自然と要望リストから無くなる類の要望なので、『対応しない』対応が、ベストチョイスになります。

5.コミュニケーション能力とは?

 コミュニケーション能力も所詮は手段です。顧客と親友になりたい!とかそのためにコミュニケーションをとっているのではありません。では、何かというと、プロジェクトを円滑に進めるための一つの手段であると言えます。もちろん、顧客とだけではなく、プロジェクトメンバーや上司とのコミュニケーションも含まれます。

 なので、コミュニケーション能力って重要ではない、と考えています。

P子「え!。流れ的におかしくない? もしかして炎上目的?」

 紙面の都合で、この続きは来週のブログに書きたいと思います。

ほな、さいなら

P子「いやいやいや、絶対おかしいって。もしかして、コミュニケーション能力まつりでも期待してるの?」

ふふふ(※8

======= <<注釈>>=======
※1 P子「今頃気づいたの?」
 P子とは、私があこがれているツンデレPythonの仮想女性の心の声です。先週名前が付きました。

※2 名前を付けたとたん、パワーアップ
 「転生したらスライムだった件」では魔物に名前を付けるとネームドモンスターに昇格します。

※3 「5,6,7,8人目の確率が高いので、その人たちが有利ね」
 もちろん計算誤差なので、実際は0.1です。

※4 毎回球を箱に戻す。
 すでにご存じのように、それこそ最初の人が有利になってしまいます。

※5 入園テストと面接を行ってその点数で決める。
 もちろん、女児と待機年数の多い児童は減点されます...嘘です。でもひどい話ですね。

※6 実際には、案3 の予備抽選会をされる保育園が多いそうです。
 うわさで聞いた話なので、ホントかどうか知りません

※7 プロジェクトをデスマーチに導く選択です。
 もちろん、単発で発生する補欠入園にこの手法を使う園長先生は、コミュニケーション能力が高い人です。

※8 ふふふ
 ひそかに、コミュニケーション能力まつりを期待しています。

Comment(0)

コメント

コメントを投稿する