1995 yılından 2004 yılına kadar 250 geniş kapsamlı yazılım projesi üzerinde yapılan analiz sonucunda başarısız olan projelerin 6 ortak probleme sahip olduğu ortaya çıkmıştır: zayıf proje planlaması, zayıf hesaplamalar, zayıf maliyet ölçümü, kilometre taşlarını izlemede zayıflık, zayıf değişiklik kontrolü,    zayıf kalite kontrolü. İlginç nokta ise bu altı problemin teknik personeldeki değil proje yönetimindeki eksiklikten kaynaklanıyor olmasıdır. İki çalışan hipotez belirmektedir: 1) zayıf kalite kontrolü maliyet ve zaman çizelgesi aşımlarında en büyük katkıya sahiptir ve 2) zayıf proje yönetimi, yetersiz kalite yönetiminin sebebidir.

Analiz edilen 250 proje arasında 25 civarında proje iş takvimi, maliyet ve kalite amaçları açısından başarılır. 50 civarında proje %35’in altında bir oranla ertelenmiş ya da uzamıştır. 175 civarında ise ciddi ertelemeler ve uzamalar yaşanmış ya da bitmeden sonlandırılmıştır. Sonucun dağımı, geniş sistemlerin geliştirilmesinin tehlikeli bir girişim olduğunu göstermektedir. Analize hem firmalar hem de devlet ajansları katılmıştır. Geliştirim yöntemleriyle ilgili olarak, hem şelale geliştirim döngüleri hem de sarmal geliştirim dahil edilmiştir. Yeni çevik yöntemleri ise dahil edilmemiştir. Çünkü 1000 fonksiyon noktasından büyük uygulamalarda kullanımı nadirdir.

Proje yönetim araçları, yüzlerce ya da binlerce üst üste binme ve birbirine bağlı olan görevleri olan projelerin zamanlamasının deneyimle yapılması amaçlı geniş bir araç ailesine uygulanmıştır. Bu araçlara örnekler; Artemis Views, Microsoft Project, Primera ve Project Manager’s Workbench’tir. Fakat bu araçlar genel amaç içindir, proje bazlı özelleşme içermezler. Bu araçlar kullanışlı olmakla birlikte yazılım, tamamen bir yönetim kontrolü için ek yetenekler gerektirmektedir. Yazılım maliyet ölçüm endüstrisi ve proje yönetim araçları endüstrisi, proje yönetim araçları 1960’lar ve yazılım maliyet ölçün araçları 10 yıl sonra ortaya çıktığında ayrı yaratılmıştır. Fakat farklı işler olmalarına rağmen artık tknik açıdan beraber katılım sağlamaktadırlar. Yazılım ölçüm araçlarına örnekler ise Before You Leap, CHECKPOINT, Constructibe Cost Model(COCOMO) II, CostXpert, KnowledgePlan, Parametric Review of Information for Costing and Evaluation – Software (PRICE-S), Software Estimating Model(SEER-SEM), ve Software Life Cycle Management(SLIM)’dir. Proje yönetiminin yazılıma ilişkin hiçbir gömülü özelliği yoktur. Buna karşılık ticari yazılım maliyet ölçüm araçları sahiptir. Örnek olarak, eğer nesne tabanlı bir programla dilinin – Smalltalk – kalite ve maliyetini keşfetmek istiyorsak proje yönetim araçları doğru bir seçim olmayacaktır. Diğer taraftan çoğu yazılım maliyet ölçüm araçları uygulama için seçilen dili baz alarak ölçümü gerçekleştirecektir.

Başarılı ve Başarısız Proje Planlama

Geniş yazılım projeleri için başarılı bir planlama şunları içermeli:

  • Artemis Viwe ya da Microsoft Project gibi otomatik planlama araçlarını kullanmak
  • Tam bir iş döküm yapısını(WBS) geliştirmek
  • Proje geliştirim aktivitelerinin kritik yol analizini yürütmek
  • Proje sürecinde personel kiralama ve devretmeyi düşünme
  • Taşeron ve uluslararası takımları düşünmek
  • Gereksinimlerin bir araya getirilmesi ve analizin zamanında faktöring edilmesi
  • Gereksinim değişikliklerinin zamanında faktöring edilmedi
  • Kalite kontrol aktivitelerinin tam bir takımının zamanında faktöring edilmesi
  • Gereksinim gelişimi anlamlıysa, çoklu yayımın düşünülmesi

Başarılı ve Başarısız Proje Maliyet Ölçümü

Geniş sistemler için başarılı maliyet ölçümleri aşağıdakileri içerir:

  • Yazılım ölçüm araçları ( COCOMO II, CostXpert, KnowledgePLAN, PRICE-S, SEER-SEM, SLIM, etc. )
  • Fonksiyon noktalarını baz alarak majör çıktılar için resmi ayırım yaklaşımı
  • Benzer projelerden tarihsel veriye ölçüm karşılaştırması
  • Deneyimli ölçüm uzmanların ya da proje yöneticilerinin varlığı
  • Ölçümde yeni ve değişen gereksinimlerin dahil edilmesi
  • İş takvimi ve maliyet ölçümü gibi kalite ölçümünün dahil edilmesi

Başarılı ve Başarısız Proje Hesapları

10000 fonksiyon noktasını içeren bir alandaki projeler için kullanışlı hesap ölçümleri şunları içermelidir:

  • Birikmiş çaba
  • Birikmiş maliyetler
  • Geliştirim üretkenliği
  • Gereksinim değişikliklerinin hacmi ve oranı
  • Kaldırılmış etkinliğin taraf değiştirmesi

Başarılı ve Başarısız Kilometre Taşlarını İzleme

Kilometre taşı izleme yazılım dünyasında belirsiz bir konudur. Bazen bir aktivitenin başlangıcını gösterdiği gibi bazen de tamamlanmasını gösterir. Burada bahsedilen kilometre taşı ise anahtar çıktıların ya da anahtar aktivitelerin tamamlanmasını göstermektedir.

Nominal 10000 fonksiyon noktasına sahip aralıktaki başarılı yazılım uygulamalarında şu proje yapı taşlarının tamamlanmış olması gerekmektedir:

  • Gereksinimlerin gözden geçirilmesi
  • Proje planının gözden geçirilmesi
  • Maliyet ve kalite ölçümlerinin gözden geçirilmesi
  • Harici tasarımın gözden geçirilmesi
  • Veritabanının gözden geçirilmesi
  • Dahili tasarımın gözden geçirilmesi
  • Kalite planı ve test planının gözden geçirilmesi
  • Belgeleme planının gözden geçirilmesi
  • Yayılma planının gözden geçirilmesi
  • Eğitim planının gözden geçirilmesi
  • Kod incelemeleri
  • Her bir geliştirim test safhası
  • Müşteri kabul testi

Başarılı ve Başarısız Değişiklik Yönetimi

Başlangıç noktasıyla karşılaştırıldığında gereksinimlerdeki değişiklik %50 ye varabilir. 10000 fonksiyon noktası içeren uygulamalar için başarılı bir değişiklik kontrolü şunlarla sağlanabilir:

  • Birleşik istemci/geliştirim kontrol tahtasını ya da belirlenmiş alan uzmanlarını değiştirebilir.
  • Aşağı yönde değişiklikleri minimize etmek için birleşik uygulama tasarımı(JAD) kullanımı
  • Aşağı yönde değişiklikleri minimize etmek için resmi prototiplerin kullanımı
  • Değişiklikleri uzlaştırmak için döngülü geliştirimin kullanımını planlama
  • Tüm değişim isteklerinin resmi olarak gözden geçirilmesi
  • 10 fonksiyon noktasından büyük tüm değişiklikler için gözden geçirilmiş maliyet ve iş takvimi ölçümleri
  • İş vurusuna göre değişim isteklerini önceliklendirmek
  • Belirli yayılımlara değişim isteklerinin resmi ataması
  • Çapraz-referans yetenekleriyle otomatik değişim kontrol araçları kullanma

Başarılı ve Başarısız Kalite Kontrolü

Etkin yazılım kalite kontrolü başarılı projeleri ertelemelerden ve felaketlerden ayıran en önemli tek faktördür. Çünkü hataları bulmak ve düzeltmek en pahalı maliyet ögesidir. Başarılı kalite kontrolü hem kusur önleme hem de kusur kaldırma aktivitelerinden oluşur. 10000 fonksiyon noktası içeren projeler için başarılı kalite kontrol aktiviteleri şunları içermelidir:

Kusur Önleme:

  • Gereksinimleri bir araya getirmek için JAD
  • Resmi tasarım yöntemleri
  • Yapısal kodlama yöntemleri
  • Resmi test planları
  • Resmi test durumu yapısı

Kusur Kaldırma:

  • Gereksinimlerin kontrolü
  • Tasarımın kontrolü
  • Belge kontrolleri
  • Test planı ve test durumu kontrolleri
  • Kusur onarım kontrolü
  • Yazılım kalite güvence gözden geçirmesi
  • Birim test
  • Bileşen testi
  • Yeni fonksiyon testi
  • Regresyon testi
  • Performans testi
  • Sistem testi
  • Kabul testi

Referans:

http://ftp.cs.hacettepe.edu.tr/pub/dersler/BIL4XX/BIL445_YMK/odevler/odev-6%20(teslim:%2017%20ocak)/odev-6_makale.pdf

Reklamlar