Tahmin Teknikleri - Genel Bakış
Estimation girdi verileri eksik, belirsiz veya kararsız olsa bile bir amaç için kullanılabilen bir değer olan bir tahmin veya yaklaşıklık bulma sürecidir.
Tahmin, belirli bir sistem veya ürün oluşturmak için ne kadar para, çaba, kaynak ve zaman gerekeceğini belirler. Tahmin şuna dayanır -
- Geçmiş Veriler / Geçmiş Deneyim
- Mevcut Belgeler / Bilgi
- Assumptions
- Tanımlanmış Riskler
Yazılım Projesi Tahminindeki dört temel adım şunlardır:
- Geliştirme ürününün boyutunu tahmin edin.
- Çabayı kişi-ay veya kişi-saat cinsinden tahmin edin.
- Takvimi takvim aylarında tahmin edin.
- Proje maliyetini kararlaştırılan para birimi cinsinden tahmin edin.
Tahmin Üzerine Gözlemler
Tahmin, bir projede tek seferlik bir görev olmak zorunda değildir. Şu tarih aralığında gerçekleşebilir -
- Bir Proje Edinme.
- Projenin Planlanması.
- İhtiyaç ortaya çıktıkça Projenin yürütülmesi.
Tahmin süreci başlamadan önce proje kapsamı anlaşılmalıdır. Geçmiş Proje Verilerine sahip olmak faydalı olacaktır.
Proje ölçümleri, niceliksel tahminlerin oluşturulması için tarihsel bir bakış açısı ve değerli girdi sağlayabilir.
Planlama, teknik yöneticilerin ve yazılım ekibinin sorumluluk ve hesap verebilirliğe yol açtığı için ilk taahhütte bulunmasını gerektirir.
Geçmiş deneyimler çok yardımcı olabilir.
Tahminlere ulaşmak ve elde edilen değerleri uzlaştırmak için en az iki tahmin tekniği kullanın. Tahminleri uzlaştırmak hakkında bilgi edinmek için bir sonraki bölümde Ayrıştırma Tekniklerine bakın.
Planlar yinelemeli olmalı ve zaman geçtikçe ve daha fazla ayrıntı bilindikçe ayarlamalara izin vermelidir.
Genel Proje Tahmin Yaklaşımı
Yaygın olarak kullanılan Proje Tahmin Yaklaşımı, Decomposition Technique. Ayrıştırma teknikleri bir böl ve yönet yaklaşımı alır. Boyut, İş gücü ve Maliyet tahmini, bir Projeyi ana İşlevlere veya ilgili Yazılım Mühendisliği Faaliyetlerine ayırarak aşamalı bir şekilde gerçekleştirilir.
Step 1 - Oluşturulacak yazılımın kapsamını anlayın.
Step 2 - Yazılım boyutu için bir tahmin oluşturun.
Kapsam ifadesiyle başlayın.
Yazılımı, her biri ayrı ayrı tahmin edilebilecek işlevlere ayırın.
Her bir işlevin boyutunu hesaplayın.
Boyut değerlerini temel üretkenlik metriklerinize uygulayarak iş gücü ve maliyet tahminleri elde edin.
Tüm proje için genel bir tahmin oluşturmak için işlev tahminlerini birleştirin.
Step 3- Çaba ve maliyete ilişkin bir tahmin oluşturun. Bir projeyi ilgili yazılım mühendisliği faaliyetlerine bölerek çaba ve maliyet tahminlerine ulaşabilirsiniz.
Projenin tamamlanması için yapılması gereken faaliyetlerin sırasını belirleyin.
Faaliyetleri ölçülebilen görevlere bölün.
Her bir görevi tamamlamak için gereken çabayı (kişi saatleri / günleri olarak) tahmin edin.
Faaliyet için bir tahmin oluşturmak üzere faaliyet görevlerinin efor tahminlerini birleştirin.
Veritabanından her aktivite için maliyet birimlerini (yani maliyet / birim iş gücü) elde edin.
Her aktivite için toplam çaba ve maliyeti hesaplayın.
Tüm proje için genel bir çaba ve maliyet tahmini oluşturmak için her faaliyet için çaba ve maliyet tahminlerini birleştirin.
Step 4- Tahminleri uzlaştırın: Adım 3'ten elde edilen değerleri Adım 2'den elde edilenlerle karşılaştırın. Her iki tahmin grubu da uyuyorsa, sayılarınız oldukça güvenilirdir. Aksi takdirde, çok farklı tahminler ortaya çıkarsa, aşağıdakilere ilişkin daha fazla araştırma yapın:
Projenin kapsamı yeterince anlaşılmamış veya yanlış yorumlanmıştır.
İşlev ve / veya etkinlik dökümü doğru değil.
Tahmin teknikleri için kullanılan geçmiş veriler, uygulama için uygun değildir veya eski veya yanlış uygulanmıştır.
Step 5 - Sapmanın nedenini belirleyin ve ardından tahminleri uzlaştırın.
Tahmin Doğruluğu
Doğruluk, bir şeyin gerçeğe ne kadar yakın olduğunun bir göstergesidir. Ne zaman bir tahmin oluştursanız, herkes sayıların gerçeğe ne kadar yakın olduğunu bilmek ister. Oluşturduğunuz anda sahip olduğunuz veriler göz önüne alındığında, her tahminin mümkün olduğunca doğru olmasını isteyeceksiniz. Ve tabii ki, rakamlara yanlış bir güven duygusu uyandıracak şekilde bir tahmin sunmak istemezsiniz.
Tahminlerin doğruluğunu etkileyen önemli faktörler şunlardır:
Tüm tahminin girdi verilerinin doğruluğu.
Herhangi bir tahmin hesaplamasının doğruluğu.
Modeli kalibre etmek için kullanılan geçmiş veriler veya sektör verilerinin tahmin ettiğiniz projeyle ne kadar yakından eşleştiği.
Kuruluşunuzun yazılım geliştirme sürecinin öngörülebilirliği.
Yazılım mühendisliği çabalarını destekleyen hem ürün gereksinimlerinin hem de ortamın istikrarı.
Gerçek projenin dikkatlice planlanıp planlanmadığı, izlenip kontrol edilmediği ve beklenmedik gecikmelere neden olan büyük sürprizler meydana gelmedi.
Aşağıda, güvenilir tahminlere ulaşmak için bazı yönergeler verilmiştir -
- Zaten tamamlanmış benzer projelere ilişkin temel tahminler.
- Proje maliyeti ve iş gücü tahminleri oluşturmak için nispeten basit ayrıştırma tekniklerini kullanın.
- Yazılım maliyeti ve çaba tahmini için bir veya daha fazla ampirik tahmin modeli kullanın.
Bu bölümdeki Tahmin Yönergeleri kısmına bakın.
Doğruluğu sağlamak için her zaman en az iki teknik kullanarak tahmin yapmanız ve sonuçları karşılaştırmanız önerilir.
Tahmin Sorunları
Çoğu zaman, proje yöneticileri boyutu tahmin etmek için zaman çizelgelerini tahmin etmeye başvurur. Bunun nedeni, üst yönetim veya pazarlama ekibi tarafından belirlenen zaman çizelgeleri olabilir. Bununla birlikte, nedeni ne olursa olsun, eğer bu yapılırsa, daha sonraki bir aşamada kapsam değişikliklerini karşılayacak programları tahmin etmek zor olacaktır.
Tahmin yapılırken belirli varsayımlar yapılabilir. Bazıları tahmin tablolarında varsayımları hala belgelemediğinden, tüm bu varsayımları tahmin tablosuna not etmek önemlidir.
İyi tahminlerin bile içsel varsayımları, riskleri ve belirsizlikleri vardır ve yine de genellikle doğrularmış gibi ele alınırlar.
Tahminleri ifade etmenin en iyi yolu, örneğin, projenin belirli bir tarihte tamamlanacağını veya sabit bir no ile tamamlanacağını belirtmek yerine 5 ila 7 ay süreceğini söylemektir. ay. Belirli bir tarih taahhüt etmeye eşdeğer olduğundan çok dar bir aralıkta taahhütte bulunmaya dikkat edin.
Belirsizliği, eşlik eden bir olasılık değeri olarak da dahil edebilirsiniz. Örneğin, projenin belirli bir tarihte veya daha önce tamamlanma olasılığı% 90'dır.
Kuruluşlar doğru proje verilerini toplamaz. Tahminlerin doğruluğu tarihsel verilere bağlı olduğu için bu bir sorun olacaktır.
Herhangi bir proje için, gerekli işlevselliği dahil etmenize ve kaliteli çıktı üretmenize olanak tanıyan mümkün olan en kısa bir program vardır. Yönetim ve / veya müşteri tarafından bir zamanlama kısıtlaması varsa, teslim edilecek kapsam ve işlevsellik üzerinde görüşebilirsiniz.
Program aşımlarını önlemek için kapsam sürünmelerini ele alma konusunda müşteriyle anlaşın.
Nihai tahminde beklenmedik durumları yerleştirmedeki başarısızlık sorunlara neden olur. Örneğin, toplantılar, organizasyon etkinlikleri.
Kaynak kullanımının% 80'den az olduğu düşünülmelidir. Bunun nedeni, kaynakların zamanlarının yalnızca% 80'i için verimli olacağıdır. Kaynakları% 80'den fazla kullanımla atarsanız, kaymalar olabilir.
Tahmin Yönergeleri
Bir projeyi tahmin ederken aşağıdaki yönergeleri akılda tutmak gerekir -
Tahmin sırasında başkalarının deneyimlerini sorun. Ayrıca, kendi deneyimlerinizi de göreve koyun.
Kaynakların zamanlarının yalnızca yüzde 80'inde verimli olacağını varsayın. Bu nedenle, tahmin sırasında kaynak kullanımını% 80'den az olarak alın.
Birden çok proje üzerinde çalışan kaynakların, aralarında geçiş yaparken kaybedilen zaman nedeniyle görevleri tamamlaması daha uzun sürer.
Herhangi bir tahmine yönetim süresini dahil edin.
Problem çözme, toplantılar ve diğer beklenmedik olaylar için daima beklenmedik durum oluşturun.
Uygun bir proje tahmini yapmak için yeterli zaman ayırın. Aceleye getirilmiş tahminler yanlış, yüksek riskli tahminlerdir. Büyük geliştirme projeleri için tahmin adımı gerçekten mini bir proje olarak görülmelidir.
Mümkünse, kuruluşunuzun benzer geçmiş projelerinden belgelenmiş verileri kullanın. En doğru tahminle sonuçlanacaktır. Kuruluşunuz geçmiş verileri saklamadıysa, şimdi toplamaya başlamak için iyi bir zaman.
İşi yapacak kişiler dışındaki kişiler tarafından hazırlanan tahminler daha az doğru olacağından geliştiriciye dayalı tahminler kullanın.
Birkaç farklı tahmin tekniğini tahmin etmek ve kullanmak için birkaç farklı kişi kullanın.
Tahminleri uzlaştırın. Tahminler arasındaki yakınsamayı veya yayılmayı gözlemleyin. Yakınsama, iyi bir tahmininiz olduğu anlamına gelir. Geniş bant-Delphi tekniği, bir grup insanı kullanarak tahminleri toplamak ve tartışmak için kullanılabilir; amaç, doğru, tarafsız bir tahmin üretmektir.
Projeyi yaşam döngüsü boyunca birkaç kez yeniden tahmin edin.