« 影舞の感想~チケット駆動開発の起源を探る #tidd | トップページ | Scrumの概念イメージ »

2011/04/17

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な組織構造が必要。
もう少し調べてみる。

|

« 影舞の感想~チケット駆動開発の起源を探る #tidd | トップページ | Scrumの概念イメージ »

モデリング」カテゴリの記事

プロジェクトマネジメント」カテゴリの記事

ソフトウェア工学」カテゴリの記事

Agile」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: Conwayの法則~アーキテクチャは組織にしたがう:

« 影舞の感想~チケット駆動開発の起源を探る #tidd | トップページ | Scrumの概念イメージ »