【こんうぇいのほうそく】

コンウェイの法則 とは?

💡 チームの形がそのままコードの形になる、組織とシステムの鏡の法則
📌 このページのポイント
コンウェイの法則 → 組織 ≒ システム 組織構造 フロントチーム APIチーム DBチーム 反映される システム設計 フロントエンド API サーバー データベース 逆コンウェイ戦略(Inverse Conway Maneuver) 理想のアーキテクチャを先に決め → それに合わせて組織を再編する
組織構造がシステム設計に反映される(コンウェイの法則)
ひよこ ひよこ

コンウェイの法則って、具体的にどういうこと?

ペンギン先生 ペンギン先生

たとえば「フロントエンドチーム」「バックエンドチーム」「データベースチーム」の3チームで開発すると、システムも自然と「フロントエンド」「API」「DB」の3層に分かれやすいんだ。チーム間の連携がそのままシステムのインターフェースになるよ

ひよこ ひよこ

それって当たり前じゃない?何が問題なの?

ペンギン先生 ペンギン先生

問題は、組織の都合でチームを分けると、技術的に最適じゃないアーキテクチャが生まれてしまうことなんだ。たとえば部署の壁が高いと、本来1つのサービスにすべきものが無理に分割されたりするよ

ひよこ ひよこ

逆コンウェイ戦略って何?

ペンギン先生 ペンギン先生

「理想のシステム設計を先に決めて、それに合うようにチームを再編する」という戦略だよ。マイクロサービスを導入したいなら、サービスごとに独立したチームを作る。組織を変えることでシステムも変わるという逆転の発想なんだ

ひよこ ひよこ

マイクロサービスと関係が深いの?

ペンギン先生 ペンギン先生

めちゃくちゃ深いよ。Amazonの「Two-Pizza Team(ピザ2枚で足りる少人数チーム)」が有名だけど、小さなチームがそれぞれ独立したサービスを持つことで、コンウェイの法則を味方につけているんだ

ひよこ ひよこ

じゃあ組織設計って技術的にもすごく大事なんだね

ペンギン先生 ペンギン先生

その通り。最近はTeam Topologiesという本で「ストリームアラインドチーム」「プラットフォームチーム」など、コンウェイの法則を意識したチーム分類が体系化されているよ。アーキテクトは技術だけでなく組織構造も設計する時代なんだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「コンウェイの法則」って出てきたら「組織の形がシステムの形に反映される」と思えればだいたいOK!
📖 おまけ:英語の意味
「Conway's Law」 = コンウェイの法則
💬 コンピュータ科学者メルヴィン・コンウェイが1967年の論文で述べた法則。当初は学会誌に却下されたけど、後にフレッド・ブルックスが『人月の神話』で引用して有名になったんだよ
← 用語集にもどる