Programlama görevlerini tahmin etmek için ne kadar zaman harcanır?


9

Örneğin, bir projeyi n ayrı iş ürününe (dersler veya fonksiyonlar veya bileşenler diyelim) ayırırsam, n * t'nin kestirim için harcamak için uygun bir süre olacağı bir zaman t olur mu?


9
Bu kolay. Sadece iş yükünüze bakmak için biraz zaman planlayın ve tahminlerin ne kadar süreceğini tahmin edin ve ... oh, bekleyin.
joshin4colours

Tahminlerinizin her zaman yanlış olacağı için sıfır yatırım getirisi = sıfır harcanan zaman. Patronlar dışında sahte tahminler yapmaya zorlayacaksınız. BogoEstimons ya da başka bir şey olarak adlandırılan bazı rastgele birimsiz ölçü biriminde rastgele bir fibonacci numarası seçtiğinizde çevik tahminler, gerçek insan saati çalışma birimlerindeki tahminlerden daha iyi görünüyor.
Warren P

Görevi tahmin etmek için zamanı tahmin edin. Tahminleme başlasın
kullanıcı

Yanıtlar:


13

Bu seviyeye indirecek kadar bilginiz varsa, her birine bir dakikadan fazla harcamamalısınız. Yine de doğru olmayacaksın, ama bir dakika sonra bir saat sonra doğru olacaksın.

Öte yandan, kullanıcı hikayelerinden bahsediyorsan , paydaşları bir odaya koymayı ve tahmin etmeden önce beş dakika soru sormayı öneririm.

Ne olursa olsun, tahminler yapmak için fazla zaman kaybetmeyin. Çabaya değecek kadar kullanışlı veya doğru değiller.


3
+1. ancak tahminlerin çok faydalı olmadığı konusunda hemfikir değilim. Daha iyi planlamaya yardımcı olurlar ve bu nedenle daha üretken olurlar.
superM

4
@superM: Hiç yararlı olmadıklarını söylemedim. Kesinlikle öyleler. Harcadıkları fazla zamana değmeyeceklerini söyledim. Çalışan yazılım çok daha kullanışlıdır, bu nedenle zamanınızın büyük bir kısmını buna harcayın.
pdr

@superM: Hiç tahminleriniz ile gerçek değerler arasında bir karşılaştırma yaptınız mı? Bu, tahminin gerçek değeri (büyük bir tahminin tanımı gereği) hakkında büyük bir ders verecektir. Tahmin klasik bir Pareto şeyidir: Zamanın% 20'sinde oldukça iyi bir tahmin elde edersiniz. Daha fazla zaman harcamak sadece% 5 daha iyi olmasını sağlayacaktır.
JensG

Benim için, bir proje üzerinde ne kadar uzun süre çalışırsam, o kadar iyi tahmin yaparım. Çok fazla faktör var ve kontrol edemediğim bazı faktörler var ve bu [projeye özgü] faktörleri bilmek tecrübe ile geliyor. Bazen tahminlerden kaçamazsınız ve bazen yanlış tahminlerinizden muzdarip olanlar arasındasınız.
superM

2

Benim tecrübelerime göre, 'evet, gerçekten işe yarayan' çekirdeklerden biri çevik bir yaklaşımın 'Görevler bir günden az sürmeli' kılavuzudur. Bir günden uzun süren şeyleri tahmin ediyorsanız, oldukça uzakta olacaksınız.

Onları parçaladıktan sonra bunu yapabilmek için yeterince şey yaptın; bu şeylerin ne olduğuna bakılmaksızın.


2

Çevik scrum metodolojisinde Planning Poker , bir sprint'teki kullanıcı hikayeleri için gereken çabayı hızlı bir şekilde tahmin etmek için tüm ekibi kullanmanın etkili bir yolu olarak görülür (bunun sizin bahsettiğiniz şey olduğunu varsayarak). Aksi takdirde, bir kullanıcı hikayesinin bir parçası olan tek bir görevi tahmin etmek için birkaç dakikadan fazla zaman harcamazdım.

Bir geliştirici ekibi için tahmin yapmaya çalışıyorsanız, bu fikir birliğine dayalı tekniği kullanmanızı şiddetle tavsiye ederim.

Poker planlamak, tek bir oturumda (1-2 saatten fazla olmamak kaydıyla) her bir kullanıcı hikayesi için oldukça iyi tahminler alabileceğiniz anlamına gelir.

Bu konuda biraz okuma yapın ve bir deneyin!

Ayrıca, genel bir kural olarak, bir kullanıcı hikayesindeki hiçbir görev 7,5 saati geçmemelidir (tek bir günlük çalışma). Varsa, görevi daha küçük görevlere bölmeniz gerekir.


1
Poker planlaması, Gerçek Birimler Olmayan Puanları tahmin eder. Hangi tür tahminlerin gerçekte olduklarına benzer olmasını sağlar; Vahşi göt tahmin
Warren P

1
Fikir, örneğin 1 puanlık bir görevin 7.5 saat alacağını bilersek, 5 puanlık bir kullanıcı hikayesinin 30 saat alacağını ve 10 puanlık bir kullanıcı hikayesinin 60 saat süreceğini söyleyebiliriz. Örneğin, en küçük görevlerden birini seçebiliriz ve tahmini süre tek bir kullanıcı hikaye noktasının değeri olarak atanabilir. Daha sonra, bu kullanıcı hikayesini daha büyük görevleri tahmin etmek için bir temel olarak kullanabiliriz. Başka bir görevin iki kat daha uzun süreceğini düşünürsek, 2 kullanıcı hikayesi (15 saat) atayacağız.
Ciaran Gallagher

1

Sanırım neye ihtiyacınız olduğuna bağlı. Örneğin, projenizin kaynak tahsisi buna bağlıysa (bazen burada olduğu gibi), dikkatli bir şekilde yapmak daha iyidir. Diğer bir deyişle, bu tür bir zorunluluk olmayan bir proje yapıyorsanız, çok fazla ayrıntıya giremeyebilirsiniz. Üzerinde çok fazla zaman harcamak iyi bir fikir değil çünkü doğru bir tahmin yapmak çok zor.

Denilen ünlü bir kavram yoktur Belirsizliğin Koni ve Wikipedia'da Belirsizliğin Koni doğru bir tahmin genellikle olabilir ne kadar diyor. Hakkında okumaya değer.


1

Tahminlerinizden ne elde ediyorsunuz?

Ne üzerinde çalıştığınıza bağlı olarak, doğru bireysel tahminler alakalı olabilir (müşteri hafta sonunda size ödeme yapıyor veya görev / hikaye başkalarına engel oluyor ve kesin bir ETA gerekli) veya değil (birikmiş iş yerinizde 200 öykünüz var, bir hikaye bir hafta boyunca kayarsa kimse ölmeyecek ve çok sayıda kişi için ortalamaları tahmin etmek için tahmini hatalara güveniyorsunuz).

İhtiyaçlarınız için yeterince iyi bir tahmin elde etmek için minimum süreyi harcayın. Formül yok.

Şahsen, bir veya iki dakikadan fazla düşünüyoruz, muhtemelen yanlış şeyi tahmin ettiğiniz anlamına gelir (bölün veya keşif planlayın).


0

Aslında, diğer paydaşların göreceli öncelik atamasına yardımcı olmak için tahminlere ihtiyacınız vardır - bu nedenle geniş tabanlı tahminler, görev1'in görev2 ile karşılaştırıldığında kabaca 3 kat çaba olduğunu söyler, (saat cinsinden sonunda çok doğru olmasa bile) faydalıdır. Bu görevlerin ne olduğunu (belirli hedeflere ulaşmak için) anlamak ve daha sonra onlar için kaba tahminler yapmak için çok zaman harcamak gerekir.

Göreli önceliğe sahip olduğunuzda, bir şeyler yapmaya odaklanın ve tahminleri rota üzerinde ayarlayın. Başka bir deyişle, ön tahminlerde çok az zaman harcayın, ancak zaman geçtikçe tahminlerinizi hassaslaştırın, böylece proje planı ne yapılacaksa iyi bir fikir verir.


0

İyi tahminler bir zamanlar varsayımlara değil gerçeklere dayandırılır.

Bu nedenle, zaten benzer bir projeniz / projeleriniz varsa ve önceki tahmin sürenizi yakaladıysanız, bu başlangıç için iyi bir tahmin tabanı olabilir . Bununla birlikte, proje kapsamınıza bağlı olarak, bilinmeyen eserler olabilir , bu da BA veya ürün sahibi ile en kısa sürede netleştirmek için daha iyidir.

Ayrıca şunu söylemek doğrudur: Yazılım Proje Tahmini Doğasında Yanlış . Bununla birlikte, yardımcı olabilecek bazı gerçekçi tahmin uygulamaları vardır:

  • İşi yapan insanlar proje tahminine katılmalıdır
  • Uzmanları getirin: Uzman kararı proje başarısı için kritik öneme sahiptir
  • Büyük parçaları aralık olarak tahmin edin
  • Delphi Tekniğini Kullanın : Bu, yazılım projesi tahmininde bir çelişki olması durumunda ekibin görüşlerini birleştirmeye yardımcı olan bir yöntemdir.
  • Maliyeti unutmayın
  • Çalışmayı gerçekleştirmek için tahsis edilmiş kaynakları unutmayın

Hiçbir zaman (zamanın% 50'sinden fazlasının) harcanan gerçek zamanın% 10'u içinde doğru olduğunu tahmin eden bir takım veya birey gözlemlemedim. Başka yerlerdeki diğer insanlar, şimdiye kadar çalıştığım herhangi bir yerde olduğunu hayal etmem zor görünen başarılar iddia ediyorlar.
Warren P

"gerçek zaman harcanan% 10 içinde doğru" - aslında çok kötü bir sonuçtur. Ayrıca, projenin karmaşıklığına ve dış bağımlılıklarına bağlı olarak artan hata payını da dikkate alın.
Yusubov

Benim dediğim de o. Tahmin berbat.
Warren P

yeap, bu "harcanan gerçek zamanın% 10'u içinde doğru" olması gerçekten büyük bir darbe ...
Yusubov
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.