Bir şeyden başka bir şeye geçerken, tanımlamanız gereken sadece iki şey vardır:
- Hedefin ne
- Nasıl Gidilir (Göç Planı)
İlk bölüm ne yazık ki, genellikle gözden kaçan veya olduğu yolu çok belirsiz. Sahip olduğunuz şeyin bir karışıklık olduğunu ve onu düzenlemek istediğinizi söyleyemezsiniz. Bu ne anlama geliyor? (: Her geliştirme düşünüyor aka Herkes farklı bir yorum olurdu onun veya onun şeyler yapmanın yolu en iyisi).
Şansınız, hizmet verdiğiniz veya bir amaca hizmet etmiş olduğunuz tüm şubelerdir. Açıkça tanımlanmış bir hedef süreci olmadan, insanlar kendileri için en uygun olanı (ve haklı olarak) gerçekleştirmeye devam edecektir.
Örneğin, hedefiniz Vincent Driessen'in "başarılı Git dallanma modeli" tanımladığı kadar açık bir şekilde tanımlanmalıdır . Bu modele bakarsanız, çok hassastır: Kararlı kodun nerede olması ve kararsız özelliklerin nerede geliştirilmesi gerektiğini söyler. Ayrıca nasıl, ne zaman ve nasıl dallanacağını, güncelleneceğini ve birleştirileceğini açıklar. Her dalın ne için olduğunu ve onlarla ne yapacağını biliyorsunuz. Vincent'ın ortaya koyduğu şeyin bir varyasyonunu kullanıyoruz ve varyasyonumuz wiki'mizde tanımlanıyor.
Önemli olan, tüm ekibin bir hedefi anlaması ve kabul etmesi. İnsanlara kişisel favori dallanma modelini aramadıklarını hatırlatmaya değer olabilir, ancak tüm ekip üyelerinin üzerinde anlaşabileceği ve kolayca kullanabileceği bir model.
Hedefinize ulaştıktan sonra, geçiş planınızı ayrıntılı bir şekilde hazırlayabilirsiniz. Bu plan istediğiniz kadar uzun veya kısa olabilir. Bu dallanma modelini bir gecede dayattım; diğer yerlerde, 2 veya 3 sprint üzerinden yapıldı. Geliştiğimiz sürece benim için çok önemli değil.
"En büyük" veya daha önemli dallarla başlayabilirsiniz. Örn: "bundan böyle, master daima prod'da konuşlandırılacak bir durumda olmalı ve geliştirici dalı daima derlenmelidir" (veya kurallarınız ne olursa olsun). Ardından, sürüm (sürüm) dallarını zorunlu kılın. Daha sonra, özellik dallarını uygulayın. Bundan sonra, mantıklıysa, sürüm dalına bir kod dondurma uygulayın.
DevOps tamamen iletişim, açıklık ve verimlilik ile ilgilidir. Bu kavramlar akılda tutulmalı ve süreç boyunca iletilmelidir.
Geliştirme ekibinin dışındaki bazı kişileri süreç toplantısına gözlemci olarak davet etmenizi öneririm. Operasyonlar veya orta yönetimin modeliniz hakkında söyleyecek bir veya iki şeyi olabilir. Geliştiricilerin ihtiyaçlarına öncelik verilmelidir, ancak dallanma modelinin işlerin yönetilme şekline uyması imkansızsa, bir veya iki ay içinde değil, şimdi daha iyi bilirsiniz.
Gerçekten büyük takımlarınız varsa, yine de herkesi dahil etmeye çalışın. Çok büyük ekiplerle, yine de iki veya üç toplantıyla sonuçlanacaksınız. Bu yüzden odadaki takım liderlerini davet edin, ancak bir web yayını hazırlayın ve herkese bunu bildirin. Herhangi birinin bir öneri veya endişesi varsa, bunu ekip liderlerine söyleyebilecek ve geçerliyse ikinci veya üçüncü toplantıda ele alınacaktır.