İş Kültürü ve İnsan Kaynakları Haberleri
Haber
İş Dünyasından
Etkinlikler
Yarışmalar
Röportaj / Görüş
Atamalar
Danışmanlık ve Hizmet Şirketleri Rehberi
Özel Dosyalar
Sektörel Dosyalar
Araştırmalar
Kariyer Fırsatları
İş Başvuru Bilgileri
Yükseköğretim
Eğitim Takvimi
Sağlık ve Yaşam
Web Rehberi
Faydalı Bilgiler
A1Haber
Argonik.com İş ve Eleman Arayanlara
Google

Web
Site İçinde
TeknoMercek - Özkan Erener Eylül 2003

e-posta


Yazılım Projelerinde Başarı


Yazılım projeleri doğaları itibari ile oldukça zor projelerdir. Bu projelerin başarılı olup olmamalarını etkileyen onlarca kriter bulunmaktadır. Bunlardan ilk aklımıza gelenler yazılım ekibinin bilgi ve becerisi, iş kapsam ve tanımının tam olarak yapılıp yapılmadığı, seçilen yazılım geliştirme ortamının üretilmek istenen yazılım konusunda bir yetersizliğinin olmaması gibi kriterler. Bu kriterler konusunda bir çok istatistiksel ve sistematik inceleme yapılmaktadır. Ancak bu incelemerin ortak bir teması vardır: Acaba yazılımda başarı nedir ?

Yazılımda başarıyı, aşağıdaki üç konuda projenin beklenenleri sağlaması ya da daha iyi bir performans göstermesi diye düşünebiliriz:

- Zaman planı
- Maliyet
- Kalite

Zaman planı yazılımın çeşitli hedef noktalarına (milestone) belirlenen zamanda varılmasını ve hedefleri yerine getirmesini kapsar. Bir yazılım projesinde bulunması beklenen "analiz kapanış", "tasarım kapanış", "kod geliştirme kapanış" gibi hedeflere vaktinde ulaşılması buna örnek oluşturur. Bunun sağlanabilmesi, bu hedef noktalarına erişen proje aktivitelerinin her birinin vaktinde ya da daha erken bitirilmesi ile mümkün olmaktadır. Bu çerçevede zaman planına uymayı hedefleyen bir proje ekibinin odaklanması gereken iki nokta doğal olarak bu hedefin kendisi ve bu hedefe ulaşmak için gereken her aktivitenin zamanında bitirilmesidir.

Maliyet ise yine proje tamamlandığında öngörülen bütçe sınırları dahilinde bu hedefe varmaktır. Proje tamamlanma noktasına gelmeden önce geçilmesi gereken hedefler vardır. Bu hedeflere erişmek için oluşturulan bütçelerin sağlanması ve bunun takibi, tüm projenin bütçe hedefini tutturmasında önemli bir rol oynayacaktır.

Yazılım projelerinin kalite beklentisi ise iki boyutludur. Bunlardan ilki tamamlanan yazılımın başlangıçta belirlenen gereksinimleri ne kadar sağladığıdır. İdeal durumda projelerin tüm gereksinimleri yerine getirmesi beklenmektedir. Ancak çoğu durumda yazılım projeleri "hata" dediğimiz problemler ile birlikte tamamlanır. Bu nedenle kalitede başarıyı aradığımız zaman, bunun istenenleri tamamıyla yapmak ve ortaya çıkan sonucun, yazılımın müşterisi ve kullanım alanının kabul edebileceği bir hata düzeyinde teslim etmek olduğunu görüyoruz. Örneğin X ışınları üreten bir cihazı kontrol eden bir yazılımda bulunması kabul edilebilecek hata oranı, eğlence amaçlı bir yazılımdan çok daha düşük olacaktır.

Yazılım endüstrisinde hataların sık sık dört kategoride sınıflandırıldığını görüyoruz:

- Kabul edilemez (Show stopper)
- Kritik önemli (Critical)
- Önemli (Important)
- Az önemli (Cosmetic)

Projelerin kabul kriterleri sırasında özellikle yazılacak kod satır sayısının büyüklüğüne bağlı olarak yukarıdaki hata sayıları ile ilgili kabul kriterleri belirtilebilir.

Yazılımın başarısnı bu şekilde saptadıktan sonra CHAOS çalışmasına değinmek istiyorum. ABD tabanlı Standish Group (www.standishgroup.com) tarafından yapılan bu çalışma ile her yıl binlerce yazılım projesi yukarıda belirlenen kriterler bazında sorgulanmaktadır. Bu grubun 1994 - 1998 yılları arasında yaptığı çalışmada 23 bin yazılım projesi incelenmiştir. 1994 yılında projelerin sadece yüzde 16'sı bu üç kriteri yerine getirerek başarılı kabul edilebilmiştir. Aynı grubun geçen yıl yaptığı çalışmada ise bu oranın yüzde 34'e çıktığı gözlenmiştir. Tahminen bu artışın nedeni, yazılım geliştirme endüstrisinin proje yönetimine verdiği önemin artmasıdır. Geçen süre içerisinde bu konuda kazanılmış bilgi ve deneyimin de artmış olması da nedenler arasında gösterilebilir.

Görüldüğü gibi yazılım projelerinde başarı oranı istenen düzeylerin halen oldukça altındadır. Bu oranın yukarı çekilmesi ile ilgili yapılması gerekenler uzun bir süreden beri bilinmekte, ancak uygulamada problemler yaşandığı için bu kadar düşük başarı oranları ile karşılaşılmaktadır.

Peki bizim kendi dahil olduğumuz projelerde başarı oranını nasıl yüksek tutabiliriz ? Sanırım bu sorunun birden çok doğru cevabı vardır. Bu doğru cevapların hepsinin ortak noktası bir an evvel yazılımda başarı ve bu başarıyı etkileyen faktörler konusunda bilgi edinmektir. Başarılı yazılım geliştirmek için tüm geliştirme ekibi olarak proje yönetimine daha fazla odaklanmalıyız. Başarıyı etkileyen kriterler hakkında bilgi sahibi olup, bunlara dikkat edilen bir proje yaklaşımı ile yazılım geliştirmeliyiz.


Yazarın Diğer Köşe Yazıları

  • Bilişim Personeli Verimliliği ve Oturma Düzeni
  • Yazılım Sektörünün Önündeki Engeller (Mayıs 2003)


  • [Geri Dön] [Ana Sayfa]


    A1Haber


    BTinsan bir EMG Danışmanlık ürünüdür
    Bize Ulaşın - Site Haritası - Hakkımızda - Yasal Şartlar
    Haber | Etkinlikler | Röportaj / Görüş | Şirketler Rehberi | Kariyer Fırsatları | Eğitim Takvimi | Kitap | Web Rehberi

    Sponsorlar: Personelonline.com  Aktif Danışmanlık  Vargonen Technologies