不確実性とエンジニアリング
エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファタクリングの1-3を読んで、感じたこととまとめを記載する
まとめ
- エンジニアリングとは課題を不確実性の高い状態から具体的な何かを生み出し解決すること
- 不確実性コーンとは不確実性が高くて予測精度が低い状態から始まり、不確実性を削減することで予想精度が向上していく様を表している
- 自己組織化された組織は不確実性の削減を効率よく行えるためスケールしやすい。マイクロマネジメントな組織で細かい指示が必要である。よってスケールしない
- 不確実性を削減することは判断できる情報を生み出すことである。
- 不確実性の発生源は未来と他人である
- 環境不確実性・・・未来→試すしかない
- 通信不確実性・・・他人→コミュニケーションするしかない
- 不確実性を削減するために情報を生み出すための考え方は3つある。
- 論理的思考の盲点
- 経験主義と仮設思考
- システム思考
感じたこと
不確実性とはなんなのか?難しく考える必要はなくて、わからないことである。 わからないことはゴールも曖昧で、何をどうして実現していくか?から解決しなければならない。 これらをクリアしていくと、徐々にわかることだらけになる。 こうなるとやればいいだけの状態になるため、不確実性コーンは収束していく。 当たり前の話であるが、人は不安によって不確実性を避けたがる。これが非常に厄介である。 例えば、やり方がわかっているチケットをつい優先的に取りたくなる。 しかし、よく考えるとわからないことが伸びるだけであり、結果として後で分かったことの中に重大なことが隠れているケースもあり、 そうなると戻り作業や、合意プロセスを最初から取る必要が出てきてしまう。いっときの安心のために不安を先延ばしにして、 隠れた爆弾を取り返しのつかないところで爆発させてしまうことを起こしかねない。 不確実性から取り組む。組織であればしっかりコミュニケーションをとって、通信不確実性を削減し、 未来には行動で対応し、学習することで次に活かしていく。 このサイクルをどれだけ上手に回せるか?が開発が成功する肝なのだと思う。
エンジニアリングとは?
数学と自然科学を基礎としながら、誰かの役に立つものを実現していくことである。 実現には始まりと終わりがあり、 始まり = 抽象度が高く決まっていない状態 終わり = 具体的に明確な何かが存在する状態
例えば、ソフトウェアでも 曖昧な要求→情報を整理→意思決定を行い→開発 となるため、極めて抽象的で形のない状態から情報を整理し、要求を具体化しコードに反映させていく つまり、実現とは曖昧な状態から、不確実性を潰し込み、具体的な何かを生む行為である。
不確実性コーン
不確実性が高ければ、開発期間のブレが大きくなる。 理由は、抽象度の高い状態が多い物事が多いためである。つまり、情報を整理し、意思決定を行う過程で開発期間の見積もりが大きく伸縮するからである。 わからないことがわかるようになって初めて、具体に落とせる状態に変化するため、予測の精度はそれに伴い伸縮してしまう。
この見積もり精度を高くしていくには、不確実性の高いものから開発初期に対応していくことが良い。 極論、不確実性のないものであれば作業がある程度、具体的に想像がつくため、見積もり精度は高くなり、開発が進むにつれ、着地時期の予想が高くなっていく
自己組織化された組織とマイクロマネジメントの組織とは?
自己組織化された組織とは 自分たちで不確実性の削減を多く行える組織のことを指す。 曖昧な指示でも自分たちで考え、物事を進めていけるため、効率的に成果を出すことができる。 また組織が拡大したとしても、自律的に考えて行動ができるためスケールしやすい組織だと言える
マイクロマネジメントな組織は、一方で具体的な指示のもの動く組織である。 曖昧な指示では物事を進めることが難しく、指示者のアウトプットが直接組織の成果に響くことになる。 組織が拡大したとしても不確実性の削減ができず、優秀な指示者を多く抱えなければスケールすることは難しい
不確実性と情報の関係
AとBを選択する際にどちらが良いのかが、判断つかないケースがある。 これは情報が散らばっていて、エントロピーが高い状態である。 逆に情報を整理し、Aの方が良い可能性が上がって判断がつく状態になればエントロピーは低い状態になる。 要は判断基準のない状態から、選択肢が絞りこまれて、何をどのように実現すれば良いのかわかっている状態の差が、情報であり、 この情報が少ないほど、不確実性は高いと言える
未来と他人が不確実性の発生源
不確実性とはわからない状態 未来と他人はわからない本質的な2つの発生源である
環境不確実性
未来は訪れるまでどうなるかわからない。このような状態を環境不確実性と言い、どんなに考えてもわからないため、行動して確認を行うことしかできない
通信不確実性
人は全ての情報を一致させて、コミュニケーションをとることは不可能である。 何かを伝えたとしてもが正しく伝わるとも、それによって行動が変容するとも限らない。 これも考えてもわかるものではないため、コミュニケーションを通じて削減していくことしかできない。
確定していないもの、答えのないもの=不確実性が高いもの 上記に向き合うと不安が生まれる。 この不安を人間は避ける傾向があるが、不確実性を低減させないとこの不安も減っていかない。 わかっているものを進めるのではなく、不確実性の高いものを優先的に進めることで、不安も徐々に減っていく。 不確実性に向き合って、不安を減らしていくことも重要である。
不確実性を削減するために情報を生み出す
3つの考え方が重要である。
- 論理的思考の盲点
- 自分を含めて、人は論理的ではなくなる可能性があることを知った上で問題解決に臨む考え方
- 感情
- 自分でない人の情報を全て手に入れることが不可能であるという現実を認知的ない(忘れる)
- どんなに自分の中で正論であろうが、自分の認識できる範囲の中での正論にすぎず、
- 自分を含めて、人は論理的ではなくなる可能性があることを知った上で問題解決に臨む考え方
- 経験主義と仮設思考
- 経験主義
- 課題を解決するために情報がないのであれば自身で行動を起こして、結果を観察し、そこから問題解決を行う考え方
- 仮設思考
- 限定された情報でも、全体像を想定し、それを確かめることで少ない情報から実現に向かう思考様式
- 経験主義
- システム思考
- 物事を個別のパーツではなく、全体的なつながりや相互作用として捉えて根本的な解決を目指す思考様式