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

コンウェイの法則 とは?

公開:
💡 チームの形がそのままコードの形になる、組織とシステムの鏡の法則
📌 このページのポイント
コンウェイの法則 → 組織 ≒ システム 組織構造 フロントチーム APIチーム DBチーム 反映される システム設計 フロントエンド API サーバー データベース 逆コンウェイ戦略(Inverse Conway Maneuver) 理想のアーキテクチャを先に決め → それに合わせて組織を再編する
組織構造がシステム設計に反映される(コンウェイの法則)
ひよこ ひよこ
コンウェイの法則って、具体的にどういうこと?
ペンギン先生 ペンギン先生
たとえば「フロントエンドチーム」「バックエンドチーム」「データベースチーム」の3チームで開発すると、システムも自然と「フロントエンド」「API」「DB」の3層に分かれやすいんだ。チーム間の連携がそのままシステムのインターフェースになるよ
ひよこ ひよこ
それって当たり前じゃない?何が問題なの?
ペンギン先生 ペンギン先生
問題は、組織の都合でチームを分けると、技術的に最適じゃないアーキテクチャが生まれてしまうことなんだ。たとえば部署の壁が高いと、本来1つのサービスにすべきものが無理に分割されたりするよ
ひよこ ひよこ
逆コンウェイ戦略って何?
ペンギン先生 ペンギン先生
「理想のシステム設計を先に決めて、それに合うようにチームを再編する」という戦略だよ。マイクロサービスを導入したいなら、サービスごとに独立したチームを作る。組織を変えることでシステムも変わるという逆転の発想なんだ
ひよこ ひよこ
マイクロサービスと関係が深いの?
ペンギン先生 ペンギン先生
めちゃくちゃ深いよ。Amazonの「Two-Pizza Team(ピザ2枚で足りる少人数チーム)」が有名だけど、小さなチームがそれぞれ独立したサービスを持つことで、コンウェイの法則を味方につけているんだ
ひよこ ひよこ
じゃあ組織設計って技術的にもすごく大事なんだね
ペンギン先生 ペンギン先生
その通り。最近はTeam Topologiesという本で「ストリームアラインドチーム」「プラットフォームチーム」など、コンウェイの法則を意識したチーム分類が体系化されているよ。アーキテクトは技術だけでなく組織構造も設計する時代なんだね
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「コンウェイの法則」って出てきたら「組織の形がシステムの形に反映される」と思えればだいたいOK!
📖 おまけ:英語の意味
「Conway's Law」 = コンウェイの法則
💬 コンピュータ科学者メルヴィン・コンウェイが1967年の論文で述べた法則。当初は学会誌に却下されたけど、後にフレッド・ブルックスが『人月の神話』で引用して有名になったんだよ
← 用語集にもどる