第一原理は「技術的な過剰設計」を避けるのに役立ちますか?

Silja B.A.
Silja B.A.
Systems engineer with 10 years experience in first principles.

回答内容:もちろんです、そしてその効果は非常に顕著です。

わかりやすい例を使って説明しましょう。

「喉の渇き」という問題を解決したいと仮定します。

もし第一原理を使わない場合、あなたはこう考えるかもしれません。「みんなはどうやって喉の渇きを癒しているんだろう?ああ、ペットボトルの水を買ったり、飲み物を買ったり、コーヒーを買ったりしているな。」そして、あなたは様々な飲み物のレシピ、味、パッケージを研究し始め、さらには大金を投じて飲料工場を建設するかもしれません。これが「類推思考」です。他人がどうしているかを見て、自分もそうする、しかももっと派手にやろうとする。結果として、あなたは少し喉が渇いただけなのに、非常に複雑なものをたくさん作り上げてしまうかもしれません。

しかし、第一原理を使う場合、あなたは問題を最も根本的な要素に分解します。「喉の渇き」の本質とは何か?それは体の水分不足です。では、この問題を解決する核となるものは「水分補給」です。「水」を構成する基本要素はH₂Oです。

このレベルまで考えると、問題を解決する方法は必ずしも工場で飲み物を生産することである必要はなく、H₂Oを含んだ清潔な液体であれば何でも良いことに気づくでしょう。一杯の白湯、水道の蛇口、さらにはリンゴ(水分を含んでいます)でさえ、程度の差こそあれ、この核心的な問題を解決できます。

さて、この考え方を「技術設計」に当てはめてみましょう。

「技術の過剰設計」の本質は、上記の例と同じように、あなたが最初に「喉が渇いただけ」だったことを忘れ、「どうすれば素晴らしい飲料帝国を築けるか」という幻想にのめり込んでしまうことです。例えば、あなたは単に簡単な社内フォーラムを作りたいだけなのに、最初から数千万人の同時接続ユーザーをサポートするような「マイクロサービス」、「分散データベース」、「ロードバランシング」といった、あらゆる高度な技術のフルセットを導入してしまう。あなたの理由はこうかもしれません。「ほら、Facebookやタオバオもそうしているじゃないか?」

これが典型的な「類推思考」であり、第一原理ではありません。

もし第一原理で考えるなら、あなたはこう問いかけるでしょう。

  1. 私が本当に解決したい核心的な問題は何だろう? -> 会社の数十人の同僚が投稿したり、返信したりできるようにすること。
  2. この問題の最も基本的な要件は何だろう? -> コンテンツを投稿できる場所、コンテンツを表示できる場所、ユーザーログインシステム。
  3. これらの基本的な要件を実現するための最小限のコストは何だろう? -> オープンソースのフォーラムソフトウェア(Discuz!、Flarumなど)をインストールするか、クラウドサービスを利用すれば、おそらく半日で完了するだろう。

ご覧の通り、問題を一つずつ剥がし、最も核心的な要件に戻ることで、複雑で高価だが全く不要な「高度な機能」や「竜殺しの技」を自然と排除できます。あなたは最も直接的で効率的な方法で問題を解決したのです。

したがって、第一原理は「妖怪を映し出す鏡」のようなものです。それは、何が問題の核心であり、何が他人から押し付けられた、あるいはあなた自身が想像した「偽のニーズ」であるかを識別するのに役立ちます。それはあなたに「雨風をしのげる屋根が必要だ」というところから考え始めることを強制し、「ヴェルサイユ宮殿を建てよう」と直接飛びつくことをさせません。そうすることで、自然と過剰設計を避けることができるのです。