大っ嫌い!今、話題の人工知能(AI)などで人気のPython。2018/11/21初回:2018/11/210.前回のおさらい保育園の補欠入園があり、1名の募集に10名の候補者(保護者)が現れたとします。そこで、園長さんは箱に青いボール9個と赤いボール1個を入れて、順番に保護者に引いてもらい、赤いボールを引き当てた保護者の子供さんを入園させると言いました。すると、ある保護者が『青いボールじゃなくて、白いボールを使ってください』と言い出します。P子「ちょっと、まぜっかえさないでくれる?」(※1)すると、ある保護者が『最初にくじを引く人が有利でしょ』と言い出します。園長先生は、『そんなことはありません。くじを引く順番に関係なく確率は同じです』と言います。この件については、園長先生の主張は間違っていませんでした。この事実を保護者の方に理解して頂き、入園児を決める必要があります。案1:先の計算式とプログラムを見せて、納得していただく。文句を言う保護者の方には退場いただき、残りの人達だけで抽選会を行う。案3:しれっとそういう声は無視して、先に進める。案4:予備抽選会(つまりくじを引く順番を決めるくじ引き)を行い順番通りに引いていただく。案5:引く都度、球を箱に戻してもらい、『ほら、これで全員同じ確率です』といってなだめる。案6:寄付金の多い保護者の子供を入園させる。案7:入園テストと面接を行ってその点数で決める。案8:大食い選手権を開催して、勝った保護者に権利を付与する。P子「大食い選手権って、前回は無かったけど...」(※2)コミュニケーション能力がある人は、どの案を採用するでしょうか?という事で、私の結論は、案3の手法(しれっと無視して先に進める)を選択するのが優秀なSEで、それを選択しても苦情が出なく顧客に納得してもらえる能力が、コミュニケーション能力だと思います。コミュニケーション能力って重要ではない、と考えています。P子「やっぱり炎上目的でしょ。煙も立たなかったけどね。」1.コミュニケーション能力は重要か?まずは、適用範囲を明確にしておきます。今回は『プロジェクトを成功に導く』ための手段としてのコミュニケーション能力についてです。恋人や家族、上司や同僚などとの人間関係を円滑にするための手段とは異なります。コミュニケーション能力を定義するのは難しいのですが、あえて定義するとすれば、1.自分の意見や考えを相手に的確に伝える。2.相手の考えを的確に理解する。これらは手段であって、目的はというと、1.相手に自分の思い通りに動いてもらう。2.自分の知らない知識を相手から頂き、利用する。言うと、1.は、(しれっと無視して先に進める)ための手段です。2.は、システム利用者の業務実態を理解してシステムを成功に導く為の手段です。プロジェクトを進めるにあたって直接会話するのは、顧客のシステム部門や利用部門の部門長などの人達です。ほとんどの場合、これらの人達はシステムの利用者(コアユーザー)ではありません。1.については期待できますが、2については期待できません。(※3)つまり、1でお願いすべきことは、実際の利用者の声を聞かせていただくとか、導入テストで実ユーザーにも参加していただくとか、そういう類の依頼になります。これって、コミュニケーション能力ではなく、受注前か受注時の契約で決めておくべき内容だと思います。次に、実ユーザーへのヒアリングや導入前テストの件ですが、これも当然ヒアリングシートなり導入前テストの計画表やチェックシートを用意しておき、事前説明しておくことで対処できます。プロジェクトを成功に導くために、コミュニケーション能力が『重要か』というと『重要ではない』という事を理解いただけたでしょうか?P子「ここまで一気に真面目に説明していたけど、体調でも悪いの?」(※4)2.プロジェクトを成功に導くには?そもそもプロジェクトの成功可否を、個人のコミュニケーション能力に委ねるという考え方が間違っています。システム開発を職人技に頼るのではなく工業製品として製造するべきでしょう。最近のなんでもかんでもコミュニケーション能力で解決しましょうという風潮は、避けるべきだと思います。コミュニケーション能力で何をするかというと、相手との信頼関係を構築することでしょう。信頼関係があれば、こちらの意見は聞いてもらえる可能性が高まるでしょうし、相手から、色々と聞き出すことが容易になります。逆に信頼関係を構築する手段として、コミュニケーションは重要でしょうか?実は、これにも少し懐疑的です。何となく優しい雰囲気で、話し上手で、信頼できそうだからと言って、信用してお金を預けて持ち逃げされたとか、高額の羽毛布団を買わされたとか、そういう話を聞いたことはないでしょうか?そう、口だけの人って、私はあまり信用しないんです。P子「あなたがそうだもんね」そうそう、私は口だけの人間です...って、そんなことないでしょ!基本が天邪鬼(あまのじゃく)(※5)なので、そう見えるだけです。相手の信用を得るのが目的であれば、態度(行動)で示すのが良いと思います。少なくとも私が信用するのは肩書や甘い言葉ではなく、きちんとした行動からです。同様に、信用を得るには行動で示したいと思っています。P子「ちょっと、まぜっかえさないでくれる?」P子とは、私があこがれているツンデレPythonの仮想女性の心の声です。案8:大食い選手権を開催S女史からのおいしいネタ、ありがたく頂戴いたしました。2については期待できません。システム導入の目的とか、成果についてはこれらの人達の意見が重要です。提案書作成時にはしっかりとヒアリングする必要があるでしょう。天邪鬼(あまのじゃく)「本心に素直になれず、周囲と反発する人」またはそのような言動を指す。軽くグーを作って自分の頭をこつんとしながら、ペロッと舌を出します。遠くから見ると「シェー」に見えるのでご注意ください。23:17>この件については、園長先生の主張は間違っていませんでした。いや、『くじの引き方』を明記していない以上そうは言えませんよ。確率が変わらないのは1.誰かがくじを引く前に全員の順番を決めて絶対に変更しない。2.全員がくじを引き終わるまで、絶対に結果を公開しない(引いた本人もくじを見てはいけない)。場合で、3.誰かがくじを引いてその結果が確定した後で次にくじを引く人を決める。事後確率の影響をもろに受けます。前回のプログラムコードだと園長先生が正しいという結果が出たのは、単に『コーディングだと事後確率の変化まで織り込んだコードを書く方が面倒』だから暗黙の前提で事前確率のみのコードを書いちゃったせいで、仕様書に明記されてないことを勝手に決めちゃまずいと思うんですが。方式1や2でも『順番を決定した時点では事後確率の影響を受けていないので公正さには問題がないが、人間の認識の方は変動した事後確率を観測してしまう』から保護者のいう事も間違ってはいないんですよね。当選確率に影響が及んでいないだけで、確率が変動しているのは事実なので。事前確率と事後確率の区別がつく人間ならこんな文句は言わないですし、逆に区別のつかない人間には『確率変動が当選確率に影響を与えていない』ことを理解してもらうことは不可能でしょう。結局この場合は4.先に番号だけのくじを引いてもらい、全員がくじを引き終わった後で当選番号を決める。先のプログラムコードだと1と2と4は同解ですが『人間の眼から見ると大違い』なんですよね(苦笑)。00:29>3.誰かがくじを引いてその結果が確定した後で次にくじを引く人を決める。事後確率の影響をもろに受けます。今回のくじ引きの方法です。>『確率変動が当選確率に影響を与えていない』ことを理解してもらうことは不可能でしょう。おっしゃっているように、事後確率を観測しようとしまいと当選確率は同じなので、保護者のいう事は間違っているんです。これを、コミュニケーション能力で説得することには、意味がないというのが今回のテーマです。いうのは、保護者の皆さんは理解できると思います。くじを引いて確認(公開)して、外れていれば帰ります。次の人(まだ、順番は決まっていません)が、名乗り出て、くじを引きます。事後確率の影響とおっしゃっていると思いますが、そこがミソです。これは、結果を公開しようが秘密にしようが関係ありません。事後確率の変化があるからこそ、順番に関係なく同じ確率になるという事です。ちなみに、先のプログラムは、前の人の外れる確率(1-当選確率)と事後確率を加味したソースになっています。トリッキーなところがあるとすれば、0番目にくじを引く人は必ず外れるという前提を入れることで初期化を簡素化してコーディング量を減らしています。保護者にこのソースを見せても理解してもらえないでしょうね。名前を記憶しておくコメント:ちゃとらんオープンソースのWeアプリケーションフレームワーク(openGion)を主催しています。書籍「誰でも身につく!暗算力」を読んでみた。未成年者略取ムチャか?男気か?部下も立て続けに。利用規約ITmediaはアイティメディア株式会社の登録商標です。