Conwayの法則~アーキテクチャは組織にしたがう
デブサミ2011で鈴木雄介さんの講演を聞いた後でTwitterを何気なく見ていたら、Conwayの法則を見つけたのでメモ。
AgileJapan2011北海道の資料でも、Conwayの法則が紹介されてますね。
ラフなメモ書き。
【元ネタ】
AgileJapan2011北海道サテライトに参加してきました - tricknotesのぼうけんのしょ
生成的開発プロセス・パターンランゲージ - lamuuの勿忘草日記
Conwayの法則
* Conwayの法則
組織を製品のアーキテクチャに当てはまるようにしなさい。このパターンランゲージにおいて、ここでは、組織がアーキテクチャに影響をおよぼすべきであるというよりも、アーキテクチャが組織に影響をおよぼすべきであるといえるだろう。
コンウェイの法則 - Strategic Choice
(引用開始)
「ソフトウェアの構造(アーキテクチャ)」は、それを作った「組織」を反映したものになります。たとえば、コンパイラを4チーム編成で作れば、4パスのコンパイラが作成されます。
(中略)
「組織」と「ソフトウェアの構造(アーキテクチャ)」の相互依存関係も重要ですが、「組織」と「プロセス」の相性も重要です。
書籍「リーンソフトウェア開発と組織改革」では、役割で分割されたチーム、すなわちテクノロジラインで編成したチーム「組織」で、アジャイル「プロセス」を実践し、苦労している企業の例が紹介されています。
データベースチーム、メインフレームチーム、Webサーバーチーム、テストチームのような具合にチーム分けを行います。このようにテクノロジ(あるいは役割)で分けたチームは、他のチームの作業に依存し、小さなフィーチャーセットですら、大量のコミュニケーションと協力が必要になってしまいます。コミュニケーションの手間がますます時間を食い、誤りの可能性もオーバーヘッドコストも増えていきます。こうなると、インクリメンタルに小さなリリースを重ねることは現実的でなくなってしまいます。
(引用終了)
鈍重な開発チームは鈍重なシステムを作る? - @IT情報マネジメント
(引用開始)
Melvin Conwayが1960年代後半に定義したConwayの法則は、「どのソフトウェアも、それを作り出した団体の組織構造を反映している」としている。このようなことが起きるのは、人は自分たちがどのように組織化されているかを反映した形で作業をするためだ。つまり、分散したグループは分散アーキテクチャのシステムを作り出す可能性が高い。プロジェクトチームの組織構造にある長所や短所は、いずれも彼らに生み出されるシステムに必然的に反映されることになり、それは効率的なITアーキテクチャが目標ならITの組織構造が効率的でなくてはならないことを暗示している。
(引用終了)
組織構造がアーキテクチャ、開発スタイルに影響する。
組織構造が開発の効率性に制約をかける。
では、WF型開発やAgile開発の組織はどんな影響を与えるのか?
さかばさんのBlogを読むと、答えが見えてくる。
[#TiDD] プロセスプログラミング2 - ウォーターフォールとアジャイル -: ソフトウェアさかば
WF型開発は構造化設計、Agile開発はオブジェクト指向設計に影響を受けているのが読んで取れる。
ソフトウェアプロダクトライン、派生開発も同様に、アーキテクチャと組織構造が密接に関係している。
Agileに開発したいなら、Agileなアーキテクチャ、Agileな組織構造が必要。
もう少し調べてみる。
| 固定リンク
「モデリング」カテゴリの記事
- AIが設計も思考も代替する時代ではエンジニアはモデルを理解するだけの存在なのか?(2026.07.25)
- リプレースとアーキテクチャモダナイゼーシヨンの違いの本質は何なのか?(2026.04.08)
- すり合わせの優位性は健在か?日本の製造業が直面するPLM活用とMBSEソフトウェア運用の理想と現実(2026.03.29)
- アーキテクチャモダナイゼーションにおけるAMETチームの役割と責任範囲は何か(2026.03.23)
- アーキテクチャモダナイゼーションとはそもそも何なのか?(2026.03.22)
「プロジェクトマネジメント」カテゴリの記事
- 第23回Redmine大阪の感想~AIの暴走はチケット駆動で制御する!AI時代に人間が担うべき真の役割は何なのか? #redmineosaka(2026.09.06)
- Redmineのブロッキング機能はどこで使うのか?~FF関係で使うべきだ!(2026.08.10)
- 製造業でアジャイルが定着しない理由~スプリント不在とチケット二重管理の壁 #Redmine(2026.07.18)
- Redmine利用成熟度モデルによる運用戦略(2026.07.12)
- なぜCCPMは挫折する?経営者の理想と現場の挫折をLycheeRedmineが解決する #redmine(2026.06.30)
「ソフトウェア工学」カテゴリの記事
- 第23回Redmine大阪の感想~AIの暴走はチケット駆動で制御する!AI時代に人間が担うべき真の役割は何なのか? #redmineosaka(2026.09.06)
- AI時代のソフトウェア開発者とはアーキテクトの役割として再定義される(2026.08.30)
- AI時代の「コードと人間の関係」を問い直す—デブサミ関西2026で考えた、アーキテクチャの未来とコミュニティの価値 #devsumi(2026.08.22)
- 人の成果物は品質基準に不足しすぎるが、AIの成果物は品質基準を超過しすぎる(2026.08.16)
- 「System of Systems(SoS)の統合テストは不可能だ」という言説を聞いた(2026.08.16)
「Agile」カテゴリの記事
- 第23回Redmine大阪の感想~AIの暴走はチケット駆動で制御する!AI時代に人間が担うべき真の役割は何なのか? #redmineosaka(2026.09.06)
- AI時代の「コードと人間の関係」を問い直す—デブサミ関西2026で考えた、アーキテクチャの未来とコミュニティの価値 #devsumi(2026.08.22)
- チケット駆動でAIを制御する仕組みのアイデア(2026.08.13)
- アジャイル開発を強化するキルチェーン進化の歴史~VUCA時代におけるモノづくりの新アーキテクチャ(2026.08.11)
- 脱PDCA!DXを加速する超高速戦略「KillChain」(2026.08.10)


コメント