Performans Ölçme ve Ölçeklendirme

 
Mühendislik ölçülebilen ve ölçeklenebilen metodolojilere çok yakın olduğu için ikna ediciliği ve ispatlalıyıcılığı güçlüdür. Ölçümlü değerleri ölçekleyerek hangi konumda olduğunuzu bilebilirsiniz. Ölçümlü değerleri kullanmıyorsanız projelerinizde gerçekleşecek sürprizlere hazırlıksız yakalanırsınız.
 
Şansınız, zamanınız ve müşterinizin sabrı varsa sorunların üstesinden gelmeye çalışabilirsiniz. Bunun için ise elinizde bir performans modelinizin olması gerekir. Performans modelinizin 3 ana bileşeni vardır.
 
  1. Hedefleriniz,
  2. Ölçümleriniz,
  3. Ölçeklemeleriniz. 
Kendinize ait modeli oluşturduktan sonra “Ne Ölçeceğiz?” sorusunu yanıtlamamız gereklidir. Bellek, cpu, hatalar, süreler, disk I/O, network I/O gibi bileşenler ilk akla gelenlerdir. Performans iyileştirme tekrarlamalı bir süreçtir. İyileştirme yaptıklarınızın sonuçlarını/faydalarını görmek için testlerinizi tekrarlamalı ve ölçmelisiniz. Bu süreç, performans bileşenleriniz ile sonuçlarınız örtüşünceye veya kod optimizasyonu, tasarım değişikliği veya alternatif bir yönteme başvuruncaya kadar sürmelidir. Anahtar senaryolarınızı oluşturunuz. Performans senaryoları, önceliklerinizi ve çeşitli değerlere ait çalışma yükünüzü tanımlar. Anahtar senaryolarınız için iyi tanımlanmış performans bileşenleriniz ile nereye odaklanmanız gerektiğini ve tekrarlı süreci ne zaman tamamlayacağınızı bilirsiniz. Performans iyileştirme disiplininden kopmamalısınız, sistemden uzak az fayda getirecek çalışmalardan vazgeçmelisiniz. Performans bileşenleriniz ile net olarak çalışmayacak teknik özellikleri proje dışı bırakmak için tereddüt etmeyiniz. Gerçekleştirdiğiniz çözümlerin size ve müşterinize olan maliyetleri bilin.
 
Geç kalmanız olumsuz sonuçların başlangıç noktasıdır.
 
 
Ölçmek için performans bileşenlerinizi belirleyin.
 
Performans bileşenleri yanıt süresi, kaynak kullanımı, kullanıcı kapasiteniz, veri hacminiz, hareket hacminiz gibi verileriniz olabilir. Gerçekleştirdiğiniz yazılım, ölçerek elde ettiğiniz performans bileşen değerleriniz ile hedef değerleriniz arasında farklılık gösteriyorsa söylenecek tek şey vardır; “Projeniz başarısız olmuştur.” Performans bileşenleriniz olmadan performansınızın ne kadar iyi olduğunu bilemezsiniz. Çok az veya çok fazla efor harcayarak performansınızı arttırabilirisiniz. Gereksiz yere çok karmaşılık tasarımlar tasarlayabilir veya aşırı basit bir yaklaşım ile yapıyı kolaylıkla birbirine bağlayabilirisiniz. Veya hiç performans iyileştirilmesi yapılamayacak ve daha önce kullanılmamış  ilginç güvenlik yöntemlerine başvurabilirsiniz. Kısacası, karmaşık tasarım veya ihtiyaç duyulmayan teknolojik yaklaşımları kullanmaktan kaçınmanız gerekir. Aksi takdirde bir noktadan sonra kendinizi iyi mühendislik kararları almaktan uzak, zayıf bir durumda bulabilirsiniz.
 
 
Performans ve ölçeklenebilirlik kalitenin ana özellikleridir. Eğer ITIL veya CMMI gibi yazılım süreçleriyle çalışıyorsanız performansı güvenlik, kullanılabilirlik,  bütünlük, yönetilebilirlik, birlikte çalışabilirlik ve sürdürülebilirlik gibi diğer kalite özellikleriyle birlikte iyi dengelemelisiniz.
 
Sonuç olarak; yazılım performans modeline sahip olmanız, ölçmeniz, ölçeklemeniz ve bunu tekrarlamanız sizi projenizi de olumlu bir noktaya getirecektir.