Conway Kanunu
"Organizasyonlar, kendi iletişim yapılarını kopyalayan sistemler tasarlarlar."
Açıklama:
Sistem mimariniz, teknik bir karardan ziyade şirketinizin veya ekibinizin organizasyonel şemasına dönüşür. Birbirinden kopuk iletişim kuran üç ayrı takımınız varsa, ortaya çıkacak ürün üç farklı ve uyumsuz arayüze sahip olacaktır.
Gerçek Hayattan Mimari Örnek:
Diyelim ki "E-Ticaret" projeniz var ve takımları şu şekilde böldünüz:
- Frontend Takımı
- Backend Takımı
- Veritabanı Takımı
Bu yapıda basit bir buton eklemek bile üç takımın toplantı yapmasını gerektirir (API güncellenecek, DB güncellenecek, UI çizilecek). İletişim zor olduğu için "Büyük Monolit" uygulamalar doğar.
Eğer takımları özellik (feature) bazlı bölerseniz (Örn: "Ödeme Takımı", "Ürün Kataloğu Takımı"), mimariniz doğal olarak Mikroservis mimarisine doğru evrilir. Çünkü her takım kendi alanında bağımsız olmak ister.
Nasıl Uygulanır? (Tersine Conway):
İstediğiniz sistem mimarisi neyse (örneğin mikroservisler), önce ekiplerinizi o mimariye uygun şekilde birbirinden bağımsız feature takımları olarak organize edin.