Sistem Eniyilemesi
Aylar belki de yıllar süren çalışmalarınızdan sonra hizmete sunduğunuz sitenizde oluşan teknik veya performans sıkıntıları yüzünden müşterilerinizin %46’sının rakip siteleri tercih ettiklerini biliyor musunuz?Bunun bir diğer anlamı ise başarılı bir şekilde projenizi tamamlayıp, satış hizmeti sunmaya başladığınız andan itibaren olası satışlarınızdan %46 zarar ediyorsunuz demektir.
Rekabetin yüksek ve sert olduğu bu karmaşık teknolojik ortamda uygulamanız teknik veya olumsuz performans sorunlarıyla boğuşurken; rakipleriniz elinizden kaçırdığınız %46lık müşteri portföyünü daha da arttırmanın yolları içinde olacaklardır. Kritik soru burada ortaya çıkmaktadır. Performans sorunlarınızı çözerek rakiplerinizle mücadele etmek için eylem planınız hazır mı? Gerçekleşen projenin ve maddi, manevi emeklerin çöpe gitmemesine kararlıysanız, geç kalmış sayılmazsınız.
Performans yazılım sisteminin olmazsa olmaz kalite bileşenidir. Bu önemli kalite bileşeninin yazılım projelerinde performans gereksinimlerini karşılayamaması olası sekiz sorunu doğurur.
- Yara almış müşteri ilişkileri ve güvensizlik,
- Olumsuz söylemler,
- Düşen ürün fiyatları ve gelir kaybı,
- İşletme başarısızlıkları,
- Rekabetin zayıflaması,
- Artan donanım maliyetleri,
- Ek proje ve kaynak ihtiyacı,
- Projenin başarısız olarak sonlanması.
Teknik veya performans sorunlarına sahip şirketler, yapılarını iyileştirmek için IT kaynaklarının %85’ini kullanmaktadırlar. Google’ın 1998 yılında günde 10.000, bugün ise saniyede 30.000 aramaya hizmet verdiğini, 2015 yılında sadece mobil cihazların bile 6.5 ExaBytes işlem hacminde olacağını göz önüne alırsak, yenilenme için araştırma ve geliştirme yapılmasında geriye kalan %15’lik bir kaynak yeterli olacak mıdır? 2000 yılında 360 Milyon, günümüzde ise 2 Milyar internet kullanıcısının olduğu dünyamızdaki kural çok basittir : “Hızlı olan kazanır”. Arz edilen hizmette birbirlerinden farkı olmayan yazılımların öne çıkarak tercih edilmesinin nedeni, “Hızlı Hizmet” anlayışı olacaktır. Çünkü bu bir ticari yarıştır.
Yazılım performansının başarı ve üst seviyede ticari kazanç olduğunu unutmamalıyız. Peki, projelerinizin %46 zarar etmemesi için, gün geçtikçe artan daha fazla kullanıcı, daha fazla veri ile yüksek hızda hizmet vermek için, rakiplerinizle mücadelede ne yapmalısınız?
- Müşterileriniz şikayetlerini iyi dinleyin, sistemi mümkün olduğunca basit fakat fonksiyonel tasarlayın, çünkü onlar yetersiz bant genişliği, yetersiz CPU veya saniyede yapılan işlem miktarı gibi metriklerle doğal olarak ilgilenmezler.
- Proje süresi boyunca takım içinde “yeterince hızlı olmalıyız, hatasız çalışmalıyız” gibi soyut söylemlerden uzak durun ve üzerinde fikir birliğine varılmış metrikler üzerinde konuşun.
- Test işlemlerini pahalı bir yatırım olarak görmeyin. Birim testleri küçümsemeyin ve ihmal etmeyin, çünkü yazılımcının kendi yaptığı hatayı bularak düzeltmesinin maliyeti 1 Birim, Test uzmanının bulduğu hatanın düzeltmesinin maliyeti 10 Birim, müşterinin bulduğu hatanın düzeltmesinin maliyeti 100 Birim + %46’lık olası bir kayıp ve yukarı belirtilen 8 maddedir. Projelere başarısız olmak için mi başlarsınız?
- Kalite bileşenlerinizi belirleyin.
- Performans bileşenlerinizi belirleyin.
- Performans modelinizi oluşturun.
- Projenizi ölçün, test yapın, hedef koyun, ölçekleyin ve sürekli iyileştirme yapın.
- Düzenli raporlar ile performans bileşenlerinizin performans modeliniz uyum durumunu sürekli kontrol altında tutun.
İyi mühendislik; yazılı, sözlü, görüntülü, kaydedilmiş her türlü işlenmemiş verinin yorumlanması ve buna göre eylem planı oluşturulmasıdır. Eğer çok şanslıysanız, performans sorunlarınızı uygulamanızı hizmete açtıktan sonra da tespit edip iyileştirme yoluna gidebilirsiniz. Yazılımınızı kabul edilebilir performans seviyelerine getirmek için daha fazla kaynak ile büyük bir çaba harcamayı göze alsanız bile maalesef ki çoğu zaman geç olabilir. Bu ticari olarak çok kötü bir durumdur ve her şeyi sıfırdan yapmak durumunda kalabilirsiniz.