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: