FLINTERS Engineer's Blog

FLINTERSのエンジニアによる技術ブログ

知っておきたいエンジニアリング組織論

こんにちは。業務効率化と組織論が好きな新卒 3 年目の清水(@_smzst)です。「エンジニアリング組織論への招待」を読んで、これまでの自身の経験と紐づいて強烈な学びと納得感が得られたのでぜひみなさんにも知って欲しいと思いまとめてみました。

今回は第 1 章の「思考のリファクタリング」に絞っています。もし、この内容がいいなと思ったらぜひ書籍を手にとってみてください。きっと役に立つはずです。

エンジニアリング組織論を通して組織やチーム全体が共通の認識を持ち、お互いの弱みを補い強みを引き出し合う共同体としてより大きな力を発揮する… このブログがそのきっかけとなればいいなと思っています。

「エンジニアリング」とは?

まず、エンジニアリングとはなんでしょうか。エンジニアリングは工学と訳され、その定義*1の 1 つとして以下があります。つまり、実現していくための科学領域と捉えることができます。

工学とは数学と自然科学を基礎とし、ときには人文社会科学の知見を用いて、公共の安全、健康、福祉のために有用な事物や快適な環境を構築することを目的とする学問である。

ソフトウェアにおけるエンジニアリングに当てはめて考えると、曖昧な要求から具体的な何かを実現するためのプロセス全体を指しています。つまり、曖昧さを減らし、具体性・明確さを増やす行為と言えます。ということは、エンジニアリングでは曖昧さ(不確実性)をいかに効率よく減らしていけるかが重要になってきますね。

不確実性を減らしていくには

不確実性を減らし、何かを実現していくためには「情報」が必要です。この情報を増やすためには、答えの与えられていない複雑な問題に対する問題解決が必要です。そのために必要な考え方として以下の 3 つが挙げられています。

  • 論理的思考の盲点
  • 経験主義と仮説思考
  • 全体論とシステム思考

論理的思考の盲点

そもそも、論理的な思考ができるための前提には「事実を正しく認知できる」ことと「感情に囚われず判断できる」ことが必要です。…難しいですよねぇ。

なので、自分がどんなときに認知が歪むのか、感情的になってしまうのかを知ることで、その影響を少なくするための考え方や行動を自身に促すことが大事になってきます。そして、この能力こそが論理的思考能力でもあるわけです。

経験主義と仮説思考

未来や市場の変化といったことはどれだけ考えても答えに辿りつきません。この不確実性を確実なものにするには行動して確かめるしかありません。これを「経験主義」といいます。ただし、単純に「とにかくやってみよう」という考え方ではなく、行動によって得た経験を重要視します。そのためには、自分自身の意思でコントロールでき、結果を観測できるものをターゲットとすることが重要になってきます。

また、わずかな情報から推論を行い、この仮説を検証するための行動に繋げる推論方法を「仮説思考」といいます。ここで重要なのは、事象と仮説を行動によって得た証拠で穴埋めしていくことです。「証拠が不十分で仮説が作れない」とか「前提から導けないから仮説が間違っている」といった考え方は仮説思考ではないので注意が必要です(前者が演繹法、後者が帰納法)。

これらは、いくら理屈で考えても答えの出ない問題に時間を費やしてしまう性質が人間にはあるので、問題に辿り着くための行動と、行動による知識の獲得を促す考え方です。

全体論とシステム思考

まず、「システム」とはなんでしょうか。「生態系」を例に考えるとわかりやすく、害虫だから駆除しよう益虫だから増やしていこうといった個別の最適化が全体に思いもよらぬ影響を及ぼしてしまうといったものです。個別最適が全体最適に必ずしもならない関係のことですね。

この個別最適が全体最適ではない事象は、コミュニケーションの中でも発生します。これは、人間がものごとを認知できる範囲には限界があり、各人が合理的・正しいと判断していることは全体の一部に過ぎないことから起こります。たとえば、機能開発を進めたいプロダクトオーナーと技術的負債を返済したい開発陣とでは両者が合理的と考えている領域はズレていて、いつ・何を判断軸にするかで変化し、一概にどちらが合理的だとは言えないみたいなことですね。

人間の不完全さを受け入れる

問題解決に必要な 3 つの考え方を紹介しましたが、何か気付きませんでしたか?それは、それぞれの考え方には共通して「人間ってそういうとこあるよね」という人間の不完全さがあることです。

人間の不完全さを知っていないと何が起きるのか?

エンジニアリングとはたいてい複数人で行うものです。人と人とはコミュニケーションで繋がっていますが、人間の不完全さが積み上がって組織全体に悪影響を及ぼすことがあります。次の 3 つはコミュニケーションの不確実性を要素分解したもので、「情報の非対称性」と「限定合理性」を生み出す原因となります。

  • 他者理解の不確実性:人は他人や事象を完全には理解できない
  • 伝達の不確実性:コミュニケーションが到達するとは限らない
  • 成果の不確実性:仮に理解されたとしても予想されたように行動するとは限らない

情報の非対称性とは、ある人は知っているがある人は知らないといった情報の偏りです。これは自分の伝えたいことが相手にも正確に伝わっている(伝わって欲しい)という願望と、現実はそう甘くはないというところから生じます。そして、限定合理性とは、ある人にとっての最適な戦略が全体にとって最適だとは限らないという性質です。これは人間の認知能力には限界があり、ある物事をすべての人が同じように認知するわけではないところから生じます。

「エンジニアリング」していくために

このように、人は事実をありのまま認知できなかったり思い込みや自分中心に考えてしまい、問題の本質が何であるかを見失いがちです。また、コミュニケーションにおいても自分は他人ではないというシンプルな事実を見落としてしまい、ギスギスしてしまうものです。

エンジニアリングは、行動によって未来を現在のものにすると同時に、自身の不完全性を内省し、コミュニケーションの不確実性を低く維持することで初めて実現されるのです。

*1:工学における教育プログラムに関する検討委員会 H.11