Sürüm Yönetimi

Bu yazımda Sürüm Yönetiminin büyük bir firmada yada devlet organizasyonunda nasıl yönetileceğini ele alacağım. Sürüm yönetimi bir ürünün evrimsel gelişimi için muhakkak ele alınması ve profesyonelce yönetilmesi gereken bir konudur. Ürünün ilk analizlerinden itibaren proje ile ilgili ürünler ortaya çıkmaya başlar ve kod yazılmaya başladıktan sonra yönetim daha da karmaşık hale gelir. Konuyu iki basamakta ele alacak olursak:

    1. Üretilen belgelerin ve yazışmaların takibi
    2. Ürünün geçirdiği evrelerin ve dallanmaların takibi

Olarak özetleyebiliriz. Ben üretilen ürünün sürüm yönetimi ile ilgili yazacağım. Büyük bir firmada yada devlet organizasyonunda yazılan ürünlerin pek çok bağımlılığı vardır. Diğer iç birimlerin yazdığı modüller, başka devlet organizasyonları ile olan bağlantılar, yabancı devletlerin sistemleri ile olan veri alışverişi, özel sektör ile olan bağlantılar, üçüncü parti sistemler, kullanılan işletim sistemi ve bağımlılıkları, donanım bağımlılıkları gibi pek çok sistemin ahenk içinde çalışacağı ve yeni sürüm verdiğinizde bu bağımlılıkları kırmayacak şekilde sürüm vermeniz gerekir.

Öncelikle sürüm yönetimi konusunda bir birimin gerekliliği söz konusu. Bu birim Test birimleri ile bağlantılı çalışır ve testlerde onaylanmış olan uygulamaları sahada kullanmak üzere kurmak için gerekli işleri organize eder. Bu organize sırasında aşağıdaki birimlerden gerekli kişiler belirlenir:

  1. Proje Yöneticisi (ürünü geliştiren ekibin proje lideri)
  2. Teknik Lider (ürünü geliştiren ekibin teknik lideri)
  3. İş Lideri (ürünü kullanacak ekibin lideri)
  4. Saha Kurulum Müfettişi (Kurulumun doğru gerçekleştiğini onaylayacak ve ürünü kullanan kişilerden seçilecek bir kişi. Eğer ürün coğrafik olarak farklı yerlere kurulacaksa her ofisden bir kişi.)
  5. Kurulum Sorumlusu (ürünün kuracak olan kişi)

Hiyerarşik bir yapıda işlerin nasıl yürüdüğüne bakalım.

Adım 1. Teknik Lider olarak yapacağınız iş sürüm verme isteğinizi bir “Değişiklik İstek Formu” düzenleyerek Sürüm Yönetimi ekibine bildirmektir. Sürüm Yönetimi isteğinizi inceleyip istenen tarihte olup olamayacağına ve diğer etkilenen uygulamaların durumu ile etkilenme derecelerini araştırır. Sonuçta bir değişiklik numarası verilir ve onaylanır. Bu aşamadan sonra Teknik Lider olarak test ekibinin bulacağı hataları gidermek ve ürünü, kurulum tarihine kadar hazır etmek ile yükümlüsünüz. Ürünün son halini paketleyip bir kurulum rehberi ile beraber kararlaştırılan bir ağ dizinine kopyalayacaksınız. Teknik Lider ayrıca İş Liderini uyararak sürümün yapılacağı tarihi bildirir ve mesai yapacak çalışanların bilgilendirilmesini sağlar. Sürümün verileceği hafta sonu, uygulama erişilemez olacaktır. Bu aşamadan sonra artık Teknik Liderin işi bitmiş oluyor.

Adım 2. Sürüm zamanı yaklaştıkça sürümü yönetecek kişi (Sürüm Yönetimi ekibinden bir kişi) hangi uygulamaların sürüm vereceğini belirler. Test ekibinin onayladığı ve sürüm zamanı belirlenen uygulamalar listelenir. Test onay belgelerinde Proje Yöneticisi ve Teknik Lider hakkında bilgi vardır. Ayrıca Değişiklik İsteği Formunda da bu bilgi mevcuttur. Bu bilgi uygulamanın karşısına yazılır. Bu işlem için MS Project yada bir Excel dosyası kullanılabilir. Örnek olarak bu Excel belgesine bakabilirsiniz.

Sürüm Yöneticisi test onay belgelerini inceler ve testlerden geçememiş uygulamaları geri çevirir. Değişiklik İstek Formlarını ilgili kişilere geri göndererek sürüm tarihini güncellemesini ister. Testlerden geçen uygulamalar listede güncellenir.

Adım 3. Sürüm Yöneticisi yapılacak her işi adım adım belirleyebilmek için tüm yetkili kişilerin katılacağı bir toplantı düzenler. Bu toplantıya sürüm verecek tüm uygulamaların sorumlu kişileri ile etkilenecek fakat sürüm vermeyecek tüm uygulamaların sorumluları katılır. Sürümün hafta sonuna denk gelmesi ve kimsenin sistemleri kullanmadığı bir anda yapılması önemlidir. Zaten sistemi kullanan kullnıcılar önceden uyarılmıştır. Yapılacak işlerin listelendiği belgeye buradan bakabilirsiniz. Bu toplantılar sürüm tarihi yaklaştıkça sık aralıkta tekrarlanır.

Adım 4. Sürüm yöneticisi görev listesindeki her görevin kimin yapacağını ve kontak telefonlarını bir liste halinde yayınlar. Herkes bu listeye sahip olmalıdır ve sürüm günü bolca kullanılacaktır. Bizim burada yaptığımız bir uygulama da bir telekonferans hattı organize etmektir. Herkes bu konferans hattını arar ve 24 saat hatta kalır. Böylece olan olaylardan herkes haberdar olur. Eğer sürüm başka şehirlerdeki ofisleri de etkiliyorsa bu tür bir haberleşme işleri çok daha kolaylaştırmaktadır.

Adım 5. Mesai yapacak olan kişiler belirlenir ve görev listesinden ne zaman ofiste olacaklarını kontrol etmeleri istenir. Ayrıca mesai için izin alınması gerekiyorsa bu izinler önceden alınır. Bina girişi için özel bir güvenlik durumu söz konusu ise güvenlik birimi bu olaydan haberdar edilir.

Adım 6. Sürüm Yöneticisi, Geriye Dönüş işlemlerini de organize eder. Eğer yeni sürümler sahaya kurulduktan sonra testler sırasında bir hata çıkarsa sistem eski haline geri döndürülür. Kurulum Yönetimi ekibi sürüm günü ortaya çıkacak hatalara hazırlıklı olmak için her ürünün mevcut sürümünü hazırda bulundurur. Sürüm günü çıkan hatalardan dolayı kurulamayan yeni sürüm uygulamaların proje müdürleri durumdan haberdar edilir. Saha Kurulum Testlerinde çıkan tüm hatalar ekran resimleri ile beraber kaydedilir ve bir numara verilir. Eğer sürüm günü çözülemeyecek bir hata ile karşılaşılırsa o sürüm iptal edilir ve eski sürüm kurularak sistemin devamlılığı sağlanır.

Tüm bu adımlar sürüm gününün sancısız geçmesi için tekrar tekrar gözden geçirilir ve mümkün olduğunca görevler en ayrıntılı biçimde yazılır.

Sürüm günü uzun ve yorucu bir gün olacağından yiyecek ve içecek temini için önceden hazırlık yapın.

Sürüm günü her işlem başarı ile sonuçlanırsa gelecek 2 hafta için uygulamalar göz altında tutulur ve çıkacak hatalar gözden geçirilir.

İyi sürümler dileği ile.

Posted in Bilişim, Türkçe.