Yazılım Ölçümü Nedir?
İlgilenenler için çok geniş bir alanına sahip, ilgisiz olanlar içinse tam tersine sığ bir deniz ortamı olan “yazılım mühendisliği ve yönetimi” kapsamında, bu yazı ile biraz daha alt süreçlerden olan “Yazılım Ölçüm” ile yakından ilgilenmeye başlayacağız.
Bu alanda uzman bir isim Paul Goodman’in kitabında açıkça belirttiği gibi, yazılım metrikleri mühendis ve yöneticilerin günümüz iş ortamında varlıklarını sürdürebilmeleri sağlayacak etmenlerden bir tanesidir. Yöneticiler ve mühendisler, karara varabilmek, problemleri analiz edebilmek, geliştirme süreçlerini kontrol etmek için elle tutulur, normalize edilmiş bilgi değeri içeren verilere ihtiyaç duyuyorlar. Bazıları da, performansı gerçek bir bakış açısı ile görmek istiyorlar.
Genel olarak sınıflandırmaya çalıştığımızda, ölçüm yapmak için 3 temel anahtar neden önümüze çıkar. Bunlar, ne olup bittiğini anlamaya yönelik nedenler, yönetimsel amaçlar, geliştirme süreçlerinde iyileşmeleri hedefleyen sebeplerdir. Organizasyon içerisinde farklı seviyelerin farklı bilgi ihtiyaçları ortaya çıkmaktadır. Doğal olarak, farklı seviyelerin ölçüm yapmak için nedenleri de farklılaşmaktadır. Ama ne olursa olsun her seviyenin ölçüm ihtiyacı mutlaka vardır.
Organizasyonlar için temel gereksinimlerden bir tanesi, işlerin nasıl yürüdüğünü ve işlediğini bilme ihtiyacıdır. Daha iyi anlama, projelerinin daha iyi yönetilmesine ve süreçlerde iyileşmelere kılavuzluk eder. Sürecin iyi anlaşılması, yöneticiye doğru kararı verme yolunda yardımcı olacaktır.
Yazılım ölçüm ile ilgili ikinci temel anahtarımız ise, gelişmiş yönetimsel bilgiyi bilgi ihtiyacı sahibine sağlamasıdır. Yönetim alanında, ölçüm verilerinin yardımcı olacağı konular arasında planlama, tahmin ve kestirimler, izleme ve geçerlileme yer almaktadır. Vurgulanması gereken bir nokta, ölçüm sürecinin organizasyon içerisine yerleştirilmesindeki neden yöneticilerin otomatik olarak karar vermelerini sağlamak değil, onlara doğru karar vermede kullanacakları yardımcı bir araç tanımlamaktır.
Bir başka neden ise gelişime ve ilerlemelere ışık tutabilmektir. Bir yazılım organizasyonunun öncelikli amacını, yüksek kalitede ürünü belirlenen bütçe ve zaman içerisinde üretmektir diye tanımlarsak yanlış yapmış olmayız. Bu hedefe de, yazılım geliştirme sürecini gelişen teknolojilere ve ihtiyaçlara göre iyileştirerek erişilebilir. Bu noktaya kadar, niçin ölçmeye ihtiyaç duyduğumuzu aktarmaya çalıştım. Konuyu daha ileriye taşımayı ve yazılım ölçüm sürecinin detaylarını bir sonraki yazıya bırakmak istiyorum. Birazda bu konu ile ilgili literatürden sizlere bahsedeyim.
Yazılım ölçüm süreci için temel kaynak olarak “ISO/IEC CD 15939” ve “ISO/IEC TR 9126” alınabilir. Ölçümlerde kullanılacak metrikler için ise NASA’nın yayını “Software Measurement Guidebook” kullanılabilir. Pratikte yapılmış uygulamalara yönelik yayınlanmış makaleleri internette rahatlıkla bulabilirsiniz. Dikkat edilmesi gereken bir diğer önemli nokta, diğer şirketlerin uyguladıkları yazılım ölçüm süreci organizasyonunuz ile tam bir uyumluluk göstermeyecektir. Bunun nedeni, ölçüm sürecinin organizasyonun kendi dinamiklerine, yapısına ve hatta içeride kullanılan araçlara bile bağlı olmasıdır. Süreç tek başına bağlı olmasa bile süreç içindeki önemli tablolar direk olarak bu yapıya bağlı olacaktır. Bu konu ilerleyen yazılarda daha iyi anlaşılacaktır. Kısacası, ben şunun ölçüm sürecini aynen alayım da kendi organizasyonumda kullanırım diyebilmek çok güçtür. Mutlaka süreç üzerinde iyileştirmeler ve değişiklikler yapmanız gerekecektir. Bu iş için en pratik çözümünde ipucunu bir sonraki yazıda vereceğim.
Bu yazıya ait dip notlar; yukarıda geçen Paul Goodman’in kitabının ismi “Practical Implementation of Software Metrics”dir. Ayrıca “metrik” kelimesini kısaca tanımlar isek, ölçümler sonucunda elde edilen değerler tek başlarına sadece sayı niteliği taşırlar. Bu sayıların bilgiye dönüşmüş durumları metrik olarak adlandırılır.
Hayata dair en iyi dileklerimle,
Yanıt Bırak