Sürüm yönetimi: değişiklikler canlıya nasıl güvenle çıkar?
Sözlük

Sürüm yönetimi: değişiklikler canlıya nasıl güvenle çıkar?

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 3 dk okuma

Sürüm yönetimi, yeni özelliklerin ve düzeltmelerin planlı, kontrollü ve riski azaltılmış biçimde canlıya alınmasını sağlar. Süreç adımları ve örnek.

Sürüm yönetimi nedir?

Sürüm yönetimi (release management), yazılım ya da hizmet değişikliklerinin geliştirmeden canlı ortama kadar planlı, koordineli ve kontrollü biçimde ilerlemesini sağlayan disiplindir. Hangi değişikliğin hangi sürümde yer alacağına, ne zaman yayımlanacağına, hangi testlerden geçeceğine ve sorun çıkarsa nasıl geri alınacağına karar verir.

Temel amaç, yeni bir özelliğin ya da düzeltmenin kullanıcıya risk yaratmadan ulaşmasıdır. Sürüm yönetimi bir yandan hızı, bir yandan kararlılığı gözetir: çok sık ve plansız yayın kesintiye, çok seyrek yayın ise büyük ve riskli paketlere yol açar.

Sürüm yönetimi nasıl işler?

Süreç ekipten ekibe değişir ama genellikle şu adımlardan geçer: • Planlama: Sürümün kapsamı, hedef tarihi ve bağımlılıkları belirlenir. • Derleme ve paketleme: Onaylı kod, sürüm numarası verilerek yayına hazır bir pakete dönüştürülür. • Test ve doğrulama: Paket ayrı ortamlarda sınanır, kabul ölçütleri kontrol edilir. • Onay: Gerekli paydaşlardan yayın izni alınır. • Dağıtım: Sürüm canlı ortama alınır. • Doğrulama ve izleme: Yayından sonra sistemin beklenen davranışı sürdürdüğü gözlenir. • Geri dönüş planı: Sorun çıkarsa önceki kararlı sürüme dönülür.

Bu akışın büyük bölümü otomasyonla desteklenebilir; ama kimin neyi onayladığı ve sorun anında kimin karar verdiği net olmalıdır.

Örnek: mobil uygulama güncellemesi

Örneğin bir bankanın mobil uygulama ekibi her sürümde yeni özellikler ve hata düzeltmeleri toplar. Sürüm yöneticisi hangi değişikliğin bu sürüme gireceğini ürün ve geliştirme ekipleriyle netleştirir, kapsam dondurulur. Sürüm adayı test ortamında doğrulanır, ardından küçük bir kullanıcı grubuna açılır.

Bu aşamada hata ya da performans sorunu gözlenmezse yayın tüm kullanıcılara yaygınlaştırılır. Beklenmeyen bir sorun görülürse önceden hazırlanmış geri dönüş planı devreye girer. Yayından sonra destek ekibine bilinen sınırlamaları ve yenilikleri anlatan sürüm notu iletilir.

Sürüm yönetimi, değişiklik yönetimi ve dağıtım aynı şey mi?

Birbirine bağlı ama ayrı kavramlardır. Değişiklik yönetimi bir değişikliğin yapılıp yapılmayacağına ve riskine karar verir. Sürüm yönetimi onaylanan değişiklikleri paketler ve yayın takvimine yerleştirir. Dağıtım ise paketin canlı ortama fiilen alınması işidir.

ITIL gibi hizmet yönetimi çerçeveleri bu uygulamaları ayrı ayrı tanımlar. Sürekli teslimat yaklaşımında ise yayın otomatikleştiği için sürüm yönetimi daha çok kapsam, risk ve iletişim koordinasyonuna kayar. Kuruluşun olgunluğuna göre bu kavramlar tek bir ekipte de birleşebilir.

Sık karşılaşılan sorunlar ve çözümleri

  • Kapsamın sürekli kayması: Sürüm kapsamı dondurulmazsa test bitmeden yeni değişiklikler gelir. Belirli bir noktadan sonra yalnız kritik düzeltmelere izin veren bir kural koymak yardımcı olur.
  • Ortamlar arası fark: Test ortamında çalışan paket canlıda bozulabilir. Ortam yapılandırmasını koddan yönetmek bu riski azaltır.
  • Geri dönüşün test edilmemesi: Geri alma planı yalnız yazılı kalırsa, sorun anında çalışmayabilir. Planı yayından önce denemek gerekir.
  • Kötü iletişim: Satış, destek ve operasyon ekipleri yayından habersiz kalırsa müşteri sorularına hazırlıksız yakalanır. Yayın takvimi ve sürüm notları ilgili herkese ulaşmalıdır.

Mindset programlarında sürüm yönetimi bağlamı

DevOps Temelleri programındaki Sürekli Teslimat ve Dağıtım modülü, yayın akışının otomasyonla nasıl hızlandığını anlatır; yazılım ve operasyon ekipleri için ortak bir dil sunar. ITIL 4 Foundation Eğitimi hizmet yönetimi uygulamalarının genel çerçevesini kurar. ITIL 4 Intermediate ve Managing Across the Lifecycle uzmanlık programları, BT yöneticilerinin planlama, uygulama ve değişim yönetimini bütünsel ele almasına yardımcı olur.

İlgili Mindset programı

DevOps Temelleri

Sık sorulanlar

Sık sorulan sorular

Sürüm yönetiminden kim sorumludur?

Kuruluşa göre değişir. Büyük yapılarda ayrı bir sürüm yöneticisi (release manager) rolü bulunur. Küçük ekiplerde bu iş ürün sahibi, takım lideri ya da DevOps mühendisi tarafından yürütülür. Önemli olan sorumluluğun ve yayın kararının kimde olduğunun net tanımlanmasıdır.

Sürüm numaralama nasıl yapılır?

Birçok ekip anlamsal sürümleme kullanır: büyük, küçük ve yama sürümlerini ayrı basamaklarla gösterir. Uyumsuz değişiklikte büyük sürüm, yeni özellikte küçük sürüm, yalnız hata düzeltmesinde yama sürümü değişir. Hangi yöntemin kullanıldığı ekipte baştan kararlaştırılmalıdır.

Sürekli teslimat yapan ekiplerde sürüm yönetimi gerekir mi?

Evet, ancak biçimi değişir. Yayın sık ve otomatik olduğundan manuel onay adımları azalır. Buna karşın kapsam, özellik bayrakları, geri dönüş stratejisi ve paydaşlara iletişim hâlâ koordinasyon gerektirir. Sürüm yönetimi bu yüzden daha çok bir tasarım ve yönetişim işine dönüşür.

Sürüm notu (release notes) neden önemlidir?

Sürüm notu, bir yayında neyin eklendiğini, düzeltildiğini ve bilinen sınırlamaları kullanıcıya ve destek ekibine anlatır. İyi yazılmış not, gelen soruları azaltır ve sorun çıktığında hangi değişikliğin etkili olabileceğini hızla bulmayı sağlar.

Sürüm Yönetimi (Release Management) Nedir?