Merhaba.
Ofiste Bugünde sizler için, merak edilen konulardan biri olduğunu düşündüğüm, yazılım versiyonlama sürecinden ve standartlarından bahsedeceğim.
Günlük hayat içinde gerek bilgisayarlarımız gerekse mobil cihazlarımız üzerinde bir çok uygulama kuruyoruz. Çoğumuzun da şahit olduğu gibi yazılımlarda şöyle bir şeyle karşılaşırız.
Örnek vermek gerekirse Industryolog Akademinin yazılmakta olan android sürümünü düşünelim. Mobil cihazımıza kurduk ve IA App v1.2.3 gibi bir isimle karşılaştık. İşte burada ki v1.2.3 neyi ifade eder nasıl isimlendirilir bugün bunun üzerinde duracağız.
Aslında isimlendirmeler için pek çok firma sektördeki durumu ve konumuna göre farklı yöntemler seçebilmektedir. Yani kesin bu kullanılır gibi bir standartın olmadığını söyleyebilriz. Ama kullanılan isimlendirme şekillerinin kendi içinde standartlarından bahsedebiliriz.
Örneğin; Windows, son kullanıcı için Windows 10 diye herkesin anlayabileceği bir isimlendirme kullanırken. Geliştiricileri için örnek olarak Windows 10 Preview Build 10122 gibi bir isimlendirme yapabilmektedir. Yine danışmanlığını yaptığım IAS, Canias ERP için Canias 6.04 şeklinde bir isimlendirme tercih etmektedir.
Genel anlamda kullanılan versiyonlama işlemi 3 haneli olan yani x.y.z şeklinde olan şekildir.
Şimdi gelin bunları açalım.
Bunu yaparkende Industryolog Akademi App Vx.y.z üzerinden gidelim.
Major Değişiklik (Biz Yeni Bir Şeyler Yaptık Sürümü) X
IA App v1.0.0 olarak piyasaya çıkmıştı. Ve üzeriden 3 ay gibi bir süre geçti ve biz arayüzü komple değiştirdik. Alt yapısını değiştirdik. Yeni bir şeyler var. İşte bu değişiklik Majör değişiklik olarak isimlendirilir ve yeni çıkan versiyon IA App v2.0.0 olarak çıkar.
Majör değişiklikler içine girebilecek durumlara bir bakalım. Yazılım mimarisinin değişmesi, kullanılan veri tabanı sisteminin değişmesi, projenin sıfırdan tekrar yazılması, yazılımın farklı bir yazılım dili ile yazılması bunun gibi kökten denebilecek değişiklikler için Majör değişiklik diyebiliriz.
2. Minör Değişiklik ( Yazılıma Bir Kaç Yeni Özellik Ekledik Sürümü) Y
Biz IA App v2.0.0’ı yaptık Play Store’a koyduk. 15 gün sonra aldığımız geri bildirimler sonucu menü seçeneğinin sağ altta değilde, sol üstte olmasına karar verdik ve bunu uyguladık. İşte kullanıma gelen küçük bir yenilik. Yada video izlerken uygulamadan çıkınca video da kapanıyordu ses gelmiyordu, bu versiyonda siz tamamen çıkış yapmadan arka planda çalması özelliğini getirdik. İşte bu türden yapılan değişiklikler Minör Değişiklik olarak adlandırılır.
Yeni versiyon IA App v2.1.0 olarak geldi.
3. Yama (Patch) Değişiklik (Biz Bir Kaç Hatayı Düzelttik Sürümü) Z
Buna Patch, build değişikliklerde diyebiliriz. IA App v2.1.0 çıktı ama bir süre sonra kullanıcılar tarafından yada sürüm sonrası devam eden iç testlerimizde videonun çıkış butonuyla çıkılsa da çalmaya devam etmesi gibi bir bug oluştuğu görüldü. İşte bu bug’ı düzelttiğimiz versiyona da patch versiyonu diyoruz. Buda Z de değişikliğe neden olacaktır. Durumu düzelttik ve yeniden sisteme yükledik App’imizi.
IA App V2.1.1 olarak güncellenmiş oldu.
Versiyonlama Bize Ne Sağlar?
Versiyonlama yazılımda iş süreçlerimizin planlamasını kolaylaştıran bir yapıdır. Yada yazılımımız için nerdeeeen nereye geldi hissini yaşatmak içinde birebirdir. Yazılımcılar için bu türden motivasyon kaynakları değerlidir.
Ya da takım çalışması yapılıyorsa ekibin tüm süreçten sadece sürüm numaralarına bakarak bile haberdar edilmesi sağlanabilir.
Bahsettiğim şekilde bir versiyonlama daha çok geliştiriciler için bir anlam ifade etmektedir. Son kullanıcının ise kafasını karıştırabilir. Ya da anlam veremediği kavramlar olarak kalabilir. Bunun için son kullanıcı odaklı versiyonlama da yıl özellikle kullanılmaktadır. Visual Studio 2017, Office 16 … gibi gibi.
Versiyonlamanın aynı zamanda bir pazarlama takdiği olduğunu da düşünüyorum. Mesela Google yazılım sürümlerine özellikle android’i ele alırsak bir nesneyle özdeşleştirerek pazarlama taktiklerinden birini uygulamaktadır.
Android 4.0 (Ice Cream Sandwich)
Android 4.1 (Jelly Bean)
Bugünde ofisten bu kadar diyelim. Umarım faydalı bir yazı olmuştur.