ScholarGate
Asistan

Yazılım Tahmini ve Planlaması

Yazılım tahmini ve planlaması, bir yazılım projesinin gerektireceği çabayı, maliyeti, zaman çizelgesini ve kaynakları öngörmekte ve bu kısıtlamalar dahilinde teslimatını sağlamak üzere işi organize etmektedir.

PaperMind ile konu bulYakındaMakale ve konu bul
Tools & resources
Slaytları indir
Learn & explore
VideoYakında

Tanım

Yazılım tahmini, yazılım geliştirmek veya sürdürmek için gereken çaba, süre ve maliyetin öngörülmesi olup, planlama ise proje hedeflerine bu tahminler dahilinde ulaşmak için faaliyetlerin, kilometre taşlarının ve kaynakların organize edilmesidir.

Kapsam

Bu konu, kod satırları ve fonksiyon noktaları gibi boyut ölçütlerini; COCOMO gibi algoritmik maliyet modellerini; uzman görüşü, analoji ve planlama pokeri tahmin yöntemlerini; kritik yol ve burndown dahil olmak üzere iş kırılımı ve zamanlama tekniklerini; hız (velocity) ve hikaye puanları (story points) ile çevik planlamayı; ve tahmin belirsizliğinin aralıklar ve belirsizlik konisi (cone of uncertainty) aracılığıyla ele alınmasını kapsamaktadır.

Temel sorular

  • Tahminleri yönlendirmek için yazılımın boyutu nasıl ölçülmektedir?
  • Algoritmik, analoji ve uzman görüşü yöntemleri nasıl karşılaştırılmaktadır?
  • Bir proje ilerledikçe belirsizlik nasıl temsil edilmekte ve azaltılmaktadır?
  • Hız (velocity) ile çevik planlama, önceden yapılan zamanlamadan nasıl farklılık göstermektedir?

Temel kuramlar

Algoritmik maliyet modelleri
COCOMO gibi modeller, çabayı ve zaman çizelgesini tahmini boyutun ve proje maliyet sürücülerinin kalibre edilmiş fonksiyonları olarak ifade etmekte, böylece geçmiş verilerle ayarlanabilen tekrarlanabilir tahminler sunmaktadır.
Fonksiyon noktası boyutlandırması
Fonksiyon noktası analizi, yazılımı uygulama dilinden bağımsız olarak fonksiyonel bileşenlerini sayarak ve ağırlıklandırarak boyutlandırmakta, tahmin için teknoloji-nötr bir boyut girdisi sağlamaktadır.

Klinik önem

Gerçekçi tahmin ve planlama, paydaşlara verilen taahhütlerin ve kaynak kararlarının temelini oluşturmaktadır; kronik eksik tahmin, yazılım projelerini olumsuz etkileyen zaman çizelgesi ve bütçe aşımlarına yol açmaktadır, bu nedenle disiplinli yöntemler ve açıkça belirtilen belirsizlikler büyük önem taşımaktadır.

Kanıt ve kılavuzlar

Tahmin doğruluğu üzerine yapılan ampirik araştırmalar ve COCOMO II gibi modeller kanıta dayalı rehberlik sağlamakta olup, fonksiyon noktası sayımı IFPUG ve ISO/IEC fonksiyonel boyut ölçüm standartları tarafından yönetilmektedir.

Tarihçe

Fonksiyon noktaları 1970'lerin sonlarında Albrecht tarafından, COCOMO ise 1981'de Boehm tarafından tanıtılarak tahmine nicel bir temel kazandırmıştır; sonraki çalışmalar modelleri (COCOMO II) geliştirmiş, tahmin yanlılığını incelemiş ve çevik planlama için hafif göreceli boyutlandırma yöntemlerini sunmuştur.

Tartışmalar

Tahmin ile 'tahmin yok' hareketi arasındaki tartışma
Bazı çevik uygulayıcılar, detaylı tahminin çaba israfı olduğunu ve küçük, istikrarlı teslimatın tahminlerden daha güvenilir öngörüler sağladığını savunurken, diğerleri tahminlerin planlama ve taahhütler için hala gerekli olduğunu iddia etmektedir; tartışma bağlama ve paydaş ihtiyaçlarına göre şekillenmektedir.

Öne çıkan isimler

  • Barry Boehm
  • Allan Albrecht
  • Steve McConnell

İlgili konular

Temel eserler

  • boehm1981
  • albrecht1983
  • mcconnell2006

Sıkça sorulan sorular

Yazılım tahminleri neden bu kadar sık hatalı olmaktadır?
Tahminler en az bilgiye sahip olunan zamanda yapılmakta, gereksinimler değişmekte ve insan yanlılığı iyimserliğe eğilim göstermektedir; belirsizlik konisi (cone of uncertainty), erken tahminlerin kaçınılmaz olarak ne kadar geniş olduğunu yakalamakta, bu nedenle tek sabit sayılar yerine aralıklar ve yeniden tahmin tercih edilmektedir.
Hikaye puanları sadece gizlenmiş saatler midir?
Hayır. Hikaye puanları, mutlak zaman yerine göreceli boyut ve karmaşıklığı ifade etmektedir; bir ekibin gözlemlenen hızı (velocity) ile birleştirildiğinde öngörüler sağlamaktadırlar, ancak bir puanı sabit bir saat sayısına eşitlemek, göreceli çabayı yakalama amaçlarını zayıflatmaktadır.

Bu kavram için yöntemler

İlgili kavramlar