IT業界で気づいたことをこっそり書くブログ

くすぶってるアプリエンジニアが、日々気づいたことを適当に綴っていきます(受託→ベンチャー→フリー→大企業→ベンチャー→法人化(今年))

間違っても成功するし、正しくても失敗する、と言う話

 

社会に出ると「間違っても成功するし、正しくても失敗する」という事象に多く遭遇します。
この現象をきちんと受け入れないと、誤った解釈を産んでしまうことが多いです。というような話をします。

観察してみると結構面白いです。

 

 

1.間違っても成功するし、正しくても失敗する例

理不尽な状況と言うのは大体そうです。社会人になるとそういう状況をよく目にしますね。むしろそちらのほうが自然なのだと思います。逆に学校や創作など、作られた世界ほど理不尽度は低く保たれています。

  • マニュアル通りに行ったが、ソフトは動かなかった
  • 完璧なプレイをしたが、試合に負けた
  • 社長は大きな間違いをしたが、プロジェクトは成功に終わった
  • 100問中40問間違ったが、受験には合格した
  • 会社は成長したが、給料は上がらなかった

 

2.主な原因 

1.環境に対する勘違い(環境誤認)

2.複数行動、程度によるもの

 

原因1.環境差異

人が何かのアクションに対する結果を予測するとき、理想となる環境を想像しています。例えば「ボールを投げたら地面に落ちる」という予測は重力のある地上という環境を想像しているわけです。
この環境が、実際に行う環境と異なれば、結果は異なるでしょう。

(まどろっこしい言い方ですが、要は「予想が外れた」って状況です)

 

成功すると思ってやった正解のアクションなのに失敗したとき
あるいは
失敗すると思ってやった間違いのアクションなのに成功したとき

その原因は理想環境実環境に差があったのかもしれません。

 

f:id:otihateten3510:20190924230000p:plain

わかりにくいですが、難しい話ではないです。結局「正しい」の前提となってる環境と、行使した実際の環境は別物だった。予想が外れたと言う感じです。

 

環境誤認の例

環境:転職前の会社 と 転職後の会社

Aさん「前の会社ではこの行動で上手く行ったんだけど、今の会社じゃ全然うまくいかないよ〜」

 

環境:Web系の業界 と SIerの業界

Bさん「Web系の業界ではこんなの当たり前なんだけど、SIerでやったらこっぴどく怒られた」

 

環境: 世間一般 と 会社

Cさん「メールで承知しましたって書いたら、拝承を使うようにとたしなめられた」

 

環境:猫 と パンダ 
猫を飼ったことがある人が、同じようにパンダを飼育したら上手くいかなかった。

 

なぜ環境誤認を起こすか

極端な例だと「そりゃそうだろ」となりますが、これが複雑になると途端にわからなくなります。

たとえば、環境が別物だとわかりやすいです(猫とパンダ)
しかし、例えばWeb系もSIer同じIT業界だと認識すると、頭の中で両者が同じ環境だと認識してしまい、環境誤認という結論に中々至らないものです。

誤認する原因はいろいろあります。

  • 同じカテゴリだと思っている
  • 両者が似ている
  • 1つの環境が、時間や条件で不変だと思っている

特に最後のモノが曲者です。
例えば入力条件、内部状態でも出力は変化します。

例)イケメンがナンパをするのと、ブサメンがナンパをする場合、環境=人に対し同じ行動をしても結果が異なる
例)母が忙しい時に話しかけたら怒られるが、落ち着いた時に話しかけても怒られない

一見して同じ環境でも、タイミングや条件で変わるわけです。

 

似ている環境も厄介です。
あるアクション群にたいして、環境Aと環境Bが同じ結果を示したとすると、AとBは似ていると思ってしまいますが。じゃあ次の行動に対して同じ結果が得られる保証はどこにもありません

 

環境構築に問題がある

環境の分類というのは学習によって行われます。
これは強化学習などの機械学習の考えに近いです。その環境に対して色々行動をして反応を見て、似ているものを分類するわけです。
あるいは、同じカテゴリだとか、似ているだとか、いろんな情報から環境の切り分けをし、その環境下である行動をすればこういう結果が得られるという経験値を貯めていきます。

ですが、人間はその環境構築があまりにも雑かつ早すぎるきらいがあります。学習が早いというのはメリットでもありますが、デメリットでもあります。機会学習なんて、一個の環境を調べるのに数千〜数万回の試行を行うわけですが、人間はせいぜい数回で一般化(環境構築)してしまいます。「わかった気になる」んです。これは注意するべきなのだと思います。

 

環境構築時点で間違っている常識が多々ある

ある環境下で、常識的に正しいと言われている行動をして、失敗しました。

このとき考えられるのは

  • 自分が環境を誤認している
  • 常識の一般化が早すぎる(例外を考慮できていない)

です。

 

逆の結果が出たらどうするか

「予想が外れた」わけですから、その正しいと思った行動は実環境下で間違っていたわけです。
素直にそう捉えれば良いのだと思いますが、これが非常に難しいです。
なぜなら頭の中で「理想環境=実環境」だと思っているから。これを剥がすのにはなぜか苦しみを伴います。

結果出てくる感情は「実環境が理想環境ではないのがおかしい」という、認知的不協和です

  • 国はこうあるべきだ
  • 会社はこうあるべきだ
  • のび太のくせに生意気だ

もちろんこういう感情は進歩のために必要なのですが(環境改変)、それは認知的不協和であって、環境構築を再確認することもできます。
そこで一歩踏み込めば、理想環境と実環境の差は何から来ているのか?という疑問に発展し、それは非常に有益なモチベーションとなるはずです。

「実環境が悪い!」という結論はもったいないです。

 

理想環境を捨てるという手もある

理想環境、すなわち常識なんて邪魔なだけなので、実環境に対してアクションをした結果そのものだけをベースに考えるのは一つの手です。
認知的不協和もあまり起こりません。

 

応用:会社が成長したのに給料は上がらなかった 

理想環境:会社が成長したらそれに寄与した社員の給料が上がるものだ

得られた結果:給料が上がらない

  • 今の理想環境はどのように自分の脳内に構築されたか?常識か、経験か、知識か、願望か
  • 実環境はどのようにしてそうなっているのか?決めている機構や権限はどこにあるか
  • 理想環境と実環境の差はどこにあるか
  • では今後どうするか?

 

原因2.複数行動、程度によるもの

環境誤認がなくても、「間違っても成功するし、正しくても失敗する」は起きます。

例えば、80点取れば合格する試験があるとします。
そしたら、20点分間違っても合格しますし、70点分正しくても不合格になります。
そのテストで、問題毎に正解/間違いが分かればいいですが、合否の結果みアウトプットされた場合、どの行動が正しかったか、間違っていたかわからないのです

すると、局所的に「正しい解答をしたのに結果失敗する」という現象が起きます。
これも非常に多いです。

 

f:id:otihateten3510:20190924234437p:plain

 

絶対に失敗を返す環境が存在する

これの応用で考えると、絶対に失敗を返す環境も存在しますし、絶対に成功を返す環境も存在しますし、ランダムに成功/失敗を返す環境も存在します

厄介なのは、複雑な環境においてはそのことを知るのが困難だということです。

 

入力しているのが自分だけとは限らない

例えばチーム戦・組織戦の場合、自分だけが100点の働きをしても、他の人がポンコツなら簡単に失敗します。

これは逆も言えます。

 

まだまだある厄介な環境

f:id:otihateten3510:20190924235241p:plain

反応がない環境

 

f:id:otihateten3510:20190924235301p:plain

結果が複数ある環境

 

3.行動の評価は非常に難しい

私達は「行動と結果から環境を類推する」と同時に「行動と結果から、その環境下でその行動が正しいか間違っているか」を学習すると思います。

でも上記の通り、とにかく行動と結果というのは様々な要因で合わないケースがあります。こんなの簡単に学習できるわけがないんです。

実はこれを言いたかった。

分かったふりしてる人は大体一般化が早すぎます。

 

4.再現性のある成功への戦略

以上からわかることを短めにまとめます。

正しい行動を見定めるにはどうするか?

環境×行動のパターンは膨大です。
ある程度範囲を絞らなければなりません

これは人気サービスなんかがグロースハックでやっていますね。

選択と集中という話はよく出ますが、私は分析可能なサイズまで落とす必要があるのだという認識をしています。

 

環境を正しく理解する

自分が行動をとっている対象の範囲をよくよく観察しなければなりません。
別の環境で起きた事象を参考にするとノイズになってしまいます。

 

未知であることを自覚し、予測し、行動し、結果を比較する

科学的アプローチでも良いですし、リーンスタートアップ的アプローチでもいいですが。

学習できる流れを作っていく必要があります。

 

検証可能な環境を選択する

フィードバックが得られない環境に対峙するのは無駄です。
あるいは、フィードバックが得られるように工夫する必要があります。

 

検証可能な行動を取る

一気に行動をすると何が良かったのかわからなくなります。

 

成功するか失敗するかギリギリの環境×行動を選択する

常に成功が返ってきたり、常に失敗が返ってくると学習できません。

 

5.あるいは全部諦める

なにかの環境に対して再現性ある成功を求め、正しい行動を追求するのは素晴らしいことです。でもあまりにも難度が高く、そんな都合のいい環境や行動の取れる人はかなり稀です。例えば大企業の中に居ると非常に厳しいと思います。人が多い分、行動が良かったのか悪かったのかは非常にノイジーというケースが多いでしょう。成功しても自分が上手くやったのか、会社がすごかったのか、わからないはずです。

じゃあそんなことは諦めて、正解を知っている人に乗っかる方が手っ取り早いかもしれません。おそらくそれが一番賢いです。

 

6.諦めても知っておきたいこと

成功しても、失敗しても、「原因が◯◯にある」だなんて安易に言えないはずです。

誰かのせいかどうかもわからないし、自分のせいかどうかもわかりません。あまり悩んでも無駄で、「わからない」以上にはならないと思います。

 

おわりに

ここらへんの話は、事業の勝ちパターンってどう発見すればいいだろう?と考えていた時にグルグル頭の中を回っていた話です。

結局無理ゲーじゃん!です。ほとんどのケースはたまたま勝ったか、勝ってるものを徹底的にパクったかだと気づきました。

たまーにガチで世界の深淵に挑んでいるすごい人が居ますけど。どうやったらなれるんでしょうね?やはりまずはそういう実験場を作る環境なんでしょうか。でもそういうのを狙ってやれてる人はどれだけ居るのか疑問です。