okuzawatsの日記

モバイルアプリケーション開発の沼💀

虫の目・鳥の目・魚の目👀

書いている人

モバイルアプリケーションアーキテクトとして働いています。モバイルアプリケーションのアーキテクチャ、自動テスト、CI/CDに興味があります。


「経済を見る3つの目」(伊藤(2014))という書籍に、「虫の目・鳥の目・魚の目」という考え方が紹介されています。経済を理解するためには3つの目が必要である、その3つの目とは「ミクロを見る虫の目」「マクロを見る鳥の目」「流れを見る魚の目」である、というものです。この考え方は経済だけでなくさまざまに応用できる気がするので、この記事ではソフトウェア開発についてこの3つの目を考えてみたいと思います。

虫の目🐛

まずは虫の目。これはミクロに物事を見る目です。経済学ではミクロ経済学という分野があり、「生産者(企業)が経済的な取引を行う市場に着目する」ものです(「ミクロ経済学 - Wikipedia」より引用)。価格理論、ゲーム理論、契約理論がその主要分野です。経済における個々のプレイヤーの動きに着目する、と言えば良いでしょうか。

ソフトウェアに例えると、個々のコンポーネントに着目することに相当すると考えます。

例えば、サーバーがあり、Webフロントエンドがあり、iOSアプリがあり、Androidアプリがあり…という場合のサーバー、Webフロントエンド、iOS、Androidがそれです。サーバーサイドにはサーバーサイドの技術があり、WebフロントエンドにはWebフロントエンドの技術があることでしょう。サーバーサイド特有の知識があり、さらに特定の技術(GoとかRuby on Railsとか)についての知識があります。モバイルについても、モバイル特有の知識があり、さらに特定の技術(Android SDKとかFlutterとか)についての知識があります。

個々のコンポーネントに着目し、そのコンポーネントに対する理解を深めることがソフトウェア開発における虫の目と言えます1

鳥の目🦆

次に鳥の目。これはマクロに物事を見る目です。経済学ではミクロ経済学に対してマクロ経済学という分野があります。マクロ経済学は、「個別の経済活動を集計した一国経済全体に着目するもの」です(「マクロ経済学 - Wikipedia」より引用)。個々のプレイヤーの動きに着目するミクロ経済学に対して、その総和である経済全体に着目するのがマクロ経済学である、といったところでしょうか。

ソフトウェアに例えると、システムのアーキテクチャに着目することに相当すると考えます。

ここでは、個々のコンポーネントを抽象的に考え、システムの目的を実現するためのアーキテクチャとして捉えます。実務で置き換えて考えると、サーバーサイドエンジニア、Webフロントエンドエンジニア、モバイルエンジニアを集めてひとつのプロダクトを作っていく状況がわかりやすいでしょうか。個々のコンポーネントの詳細を把握する必要はなく、それらのインターフェース設計と全体の構成を考えることになるでしょう。

個々のコンポーネントを抽象化し、その統合としてのアーキテクチャに対する理解を深めることがソフトウェア開発における鳥の目と言えます2

魚の目🐟

最後に魚の目。これは「潮の流れをしっかり見極める眼力、あるいは経済の流れを見る力」 (伊藤(2014), p.15)です。これが一番大切な視点である、とのこと。

ソフトウェアに例えると、コンポーネントとアーキテクチャに対する、技術マネジメントと言ったところでしょうか。技術マネジメントとは例えば、ビジネス要件の変化に伴いアーキテクチャを進化させる判断、技術的負債の返済に対する投資判断、モダン技術の採用とリプレイスの判断、などを指します。

ビジネスや技術は、常に変わり続けます。その流れの変化を見極めて、コンポーネントとアーキテクチャも変化・進化させていく技術マネジメントを行うことは重要でしょう。こういった技術マネジメントがソフトウェア開発における魚の目と言えます3

まとめ

またポエムを書いてしまいました。

Reference

  1. 伊藤元重, (2014), 「経済を見る3つの目」, 日本経済新聞出版社社
  2. 伊藤公平, (2022), 2022年度大学院入学式 式辞(最終アクセス日:2025年6月7日)
  3. ミクロ経済学 - Wikipedia(最終アクセス日:2025年6月7日)
  4. マクロ経済学 - Wikipedia(最終アクセス日:2025年6月7日)

  1. 他の切り方もあると思います。 ↩︎

  2. 異論は認める。 ↩︎

  3. 本当か? ↩︎

Related