TFS? Tepeler için koş! Mümkün olduğunca çabuk hareket edin. Pek çok farklı şey yapar, ancak bunların hiçbiri ırk araçlarının mevcut en iyileri kadar iyi değildir.
Ama ciddice:
İyi bir sürüm kontrol sistemine (SVN, GIT, vb.) Sahip olduğunuzda, şube yönetimi için, örneğin ne zaman şube oluşturulacağı, ne için, ne zaman birleştirileceği, kim ve çok daha fazlası için kurallar oluşturmanızı öneririm.
Yakın zamana kadar yeni gelişim için tek bir dal kullandık ('gövde'). Bir sürüm için bagajdan bir dal oluşturacağız. Nihai KG bu dalda yapılacak ve tamamlandığında serbest bırakacağız (aylık sürümlerdeyiz).
Program riskini azaltmak için 'bagajda önemsiz' kavramına geçtik. Bu kavram temel olarak, geliştirme işi için gövdeden ayrı dallar oluşturacağınız bir kural içerir. Örneğin, bir özellik için, küçük bir geliştirme ekibi veya benzeri için ayrı bir şubeniz olabilir. Küçük bir özelliği veya bir özelliğin serbest bırakılabilir kısmını tanımlamak ve her destan için bir dal oluşturmak için 'destanları' kullanırız. Günde en az bir kez bagajdaki tüm değişiklikler destansı dalda birleştirilir. Anahtar, sürüm kontrolü veya ayrı bir araç (örneğin üç yönlü birleştirme) ile iyi birleştirme desteğidir. Destan için KG destansı dalda yapılır. Geçtikten sonra epik dal gövdeye birleştirilecek ve bir entegrasyon testi yapılacaktır. Hâlâ bültenler için şubelerimiz var.
Destansı dallarla, artık gövdeden çıkacak ve gövdeye başarıyla birleştirilen tüm destanları dahil edebileceğimiz için program riskini önemli ölçüde azalttık. Tam olmayan destanlar otobüsü kaçırır ve bir sonraki sürümü (gelecek ay) yapar.
Bu elbette sadece çevremizde işe yarayabilir. Muhtemelen bizimkinden farklı, şube yönetimi için en iyi seçeneklerin neler olduğunu etkileyecek faktörlere sahip olacaksınız.
Örneğin, uzaktan çalışan ve her zaman sürüm kontrol sunucusuna bağlı olmayan birçok kişiden oluşan bir ekibiniz varsa, dağıtılmış bir modeli destekleyen bir sürüm kontrol sistemi kullanmak istersiniz. GIT ve diğer birkaç kişi bu kategoriye girer. Bildiğim kadarıyla TFS, dosyaları yazılabilir yapmak için sunucuya bağlantı gerektirir (2010 sürümünde düzeltildi mi?).
Umarım "tek beden herkese uyar" olmadığını gösterebildim. Özellikle şube yönetimindeki süreçlerinizle başlayın, gereksinimleri belirleyin ve son olarak ihtiyaçlarınıza en uygun aracı seçin. Belki TFS, belki de değil.