Belirli bir tarihte piyasaya sürülmesi planlanan tek bir üründe (revizyon kontrolü Git'i kullanarak) sürekli çalışan yaklaşık 200 geliştiriciden oluşan bir kuruluşuz.
Çok sayıda geliştirici nedeniyle, her ekipte yaklaşık 10 geliştirici ile "çapraz fonksiyonel" ekipler oluşturmaya çalışıyoruz, bu da kuruluşta yaklaşık 20 geliştirme ekibiyle sonuçlanıyor.
Ana depoda ürünün sürekli "yüksek standardını" (geliştirici bir çekme yaptığında, ürün en azından derlenebilir vb.) Korumak istediğimizden, bir tür kaliteli kapı kullanmak istiyoruz.
Soruyu nasıl ifade edeceğime emin değilim, ancak tek bir ürün üzerinde çalışan bu kadar büyük bir geliştirici grubu için geliştirme metodolojileri hakkında bazı tavsiyeler alabilir miyim merak ediyorum.
Görüşümüze göre, spektrumun bir ucu her geliştiricinin doğrudan ana veri havuzuna bağlanmasına izin vermektir, ancak çok sayıda geliştirici / taahhüt nedeniyle "ana veri havuzunun" sürekli olarak kırık bir aşamada olabileceğinden korkuyoruz her bir taahhüt için zorlu bir "kaliteli kapıya" sahip olamayız.
Spektrumun diğer ucu (Linus Torvalds / Linux'un bunu yaptığını düşünüyoruz), "ana havuzun" sadece üç çekme kaynağına sahip olduğu bir ağaç veya piramit yapısı gibi olabilir, bu üçünün sadece bir avuç güvenilir çekme kaynağı vb. Bununla birlikte, böyle bir yapıda değişikliklerin "ana depoya" girmek için uzun bir zincire sahip olduğunu düşünüyoruz. Ayrıca, bir birleştirme çakışması oluşursa, sorun "orijinal geliştirici" den başka bir geliştiriciye aittir.
Tüm bu arka plan bilgileri ve görüşler belirtildiğinde, birçok geliştirici için önerilen geliştirme yöntemlerini nasıl öğrenebilir ve okuyabiliriz? Büyük kuruluşlar (Microsoft, Facebook, Ubuntu, vb.) Gelişimlerini nasıl yapılandırıyor?