Tahmin becerilerini geliştirmek için iyi bir ekip oluşturma faaliyeti ne olabilir? [kapalı]


9

Bazı takım arkadaşlarıma (tüm geliştiriciler) sunmak için bir sunum hazırlıyorum ve tahmin becerilerini geliştirmeye odaklanan kısa bir ekip oluşturma faaliyeti eklemek istiyorum. Kullanabileceğim herhangi bir takım oluşturma etkinliği hakkında herhangi bir öneriniz veya bilginiz var mı?


2
Tahminin iyileştirilmesi, kısa bir faaliyetle yapılabilecek bir şey değildir. Tahminlerinizin ve gerçek zamanınızın neden farklı olduğunu belirlemek için tahminlerinizi, gerçek zamanlarınızı ve bir tür postmortemleri takip etmek uzun vadeli bir çaba olmalıdır. Aynı zamanda zaman içinde gelişen bir beceridir - analiz yoluyla hatalarınızı tahmin ederek ve öğrenerek daha iyi hale gelirsiniz.
Thomas Owens

Bir sorun mu var? Tahminleriniz ne kadar doğrudur ve bunları geliştirmek için zaman ayırmalısınız mı?
JeffO

@Thomas Owens, bunun kısa bir etkinlikle yapılabilecek bir şey olmadığının farkındayım. Sadece iyi tahmin becerileri geliştirmenin önemi konusunda farkındalığı artırmaya çalışıyorum. Sorumda daha spesifik olmalıydım.
Rob

2
@ Jeff O, sorun değil - bunlar yeni işe alımlar, bazıları daha az deneyime sahip ve genel olarak tahmin üzerinde çalışmalarına yardımcı olmak istiyorum.
Rob

Yanıtlar:


8

Joel On Software'in Kanıta Dayalı Çizelgeleme'ye göz atın , insanların nasıl daha doğru bir tahmin yaptıklarını anlamaları için oldukça basit bir yol.

Tahmin etmeyi öğrenmenin en iyi yolu iyi gereksinimlere, uygulamaya, uygulamaya ve uygulamaya sahip olmaktır. Onlara Kanıta Dayalı Programlama gibi şeyleri öğretmek uygulamanın daha etkili olmasına yardımcı olacaktır, ancak hiçbir şey gerçek pratiğin yerini alamaz.


Bana bazı EBS seviyorum (ben hevesli bir FogBugz kullanıcısı). Yine de bir örnek olarak kullanmayı düşünmedim - iyi bir öneri. Ondan biraz ilham alacağım.
Rob

6

Minecraft kullanarak örnek bir sorun gösterin.

Müşteri, 20x20 blokluk kahverengi bir adım piramidine ihtiyaç duyar. Piramidin ayrıca en az 10 blok genişliğinde bir hendek gerekir.

Basit bir WBS ve tahminde bulunmaları için onlara 3 dakika verin.

2 dakika içinde, müşterinin fikrini değiştirdiğini ve şimdi 30x30'luk bir piramide ihtiyaçları olduğunu söyleyin. Onlara kalan dakikadaki tahminlerini gözden geçirmelerini söyleyin.

Zamanın sonunda kalemlerini bırakmalarını söyleyin ve şimdi geliştiricilerin proje üzerinde çalışmaya başladığını söyleyin, ancak hendek boyunca bir köprü olmadığı için müşteri kafası karıştı.

Onlara köprünün gelişmesi ve ayağa kalkmayı düşünen herkesten sorulması X saat süreceğini söyleyin.

Bu, noktayı eve götürecektir.


2
Bunu beğendim, ancak Minecraft'a aşina değilseniz, mantıklı bir tahminde nasıl bulunabileceğinizden emin değilim. Kahverengi basamaklı bir piramit inşa etmek için gereken süreyi nasıl ölçersiniz?
Rob

1
@Thomas Owens, sanırım maple_shaft noktası geliştiriciler üzerinde bu tür gereksinimleri keşfetmenin önemini etkilemek. Bir danışman olarak, kişisel olarak bir kullanıcının sorması gereken gülünç derecede açık şeylerin birçok örneğini gördüm, ancak yapmadılar, çünkü ihtiyaç duyduklarının bunun farkında değildi. Kendim ve geliştiricilerim danışmanlar ve mevcut durumumuzda, iyi gereksinim mühendislerinin lüksüne sahip değiliz, bu yüzden müşterilerinin tahminlerini geliştirmelerine yardımcı olacak bu tür keşif soruları sormalarına yardımcı olmaya çalışıyorum. .
Rob

2
@ unforgiven3 Bunun tahminle ilgisi yok. Gereksinim mühendisliğinin işi bir geliştiriciye düşebilir, ancak tahminlerinizi yalnızca bilinen gereksinimlere dayandırabilirsiniz. Gereksinimleri analiz etme, doğrulama, doğrulama ve keşfetme yeteneğinizi geliştirmek, bir görevi gerçekleştirmenin ne kadar süreceğini tahmin etme yeteneğinizi geliştirmekten ayrılır. Gereksinimler değişir, tahminler değişir, ancak bilmediklerinizi tahmin etmek imkansızdır ve denememelisiniz.
Thomas Owens

1
@Thomas Owens, bilmediğim şeyi tahmin etmenin imkansız olduğunu kabul ediyorum - ki bu tam olarak benim açımdan - bir özellik için gereksinimleri keşfetmeniz ve iyi bir tahmin oluşturmak için bir ön koşul olarak bununla ilgili varsayımları doğrulamanız gerekiyor. Bununla birlikte, bazı değerlendirmelerden sonra, kişinin tahmin etme yeteneğini geliştirmekten kopuk olduğunu kabul ediyorum - belki de aktiviteyi gereksinimleri keşfetmeye odaklamak bir tahmin faaliyetinden daha yararlı olacaktır. İyi noktalar - kesinlikle beni geliştirmek için yanlış beceriye odaklandığımı düşünüyorlar.
Rob

1
@ unforgiven3 İyi bir mühendis her zaman her ikisini de geliştirmek için çalışıyor olmalıdır. Gereksinim mühendisliği ile görevlendirilmediğim bir pozisyondaydım, ancak gördüğüm şeyde problemler olan bir özellik verildi. Bunları görme ve doğru soruları sorma becerisine sahip olmak, yazılım geliştiren herkes için çok önemlidir ve üzerinde çalışılması gerekir. Ancak, tahmin yaparken, soruları olsa bile tahminlerimi her zaman spesifikasyonlara dayandırıyorum. Hata için daha büyük bir pencere bırakıyorum (% 85 yerine% 75 şans veriyor veya biraz daha büyük bir pencere veriyoruz).
Thomas Owens

1

Aşağıdaki noktalar için bir labirent üreteci / çözücü öneririm:

  • Yapmak eğlenceli
  • Tüm vakaları ilk kez düşünemezsiniz
  • Nesil ve çözme işleri oldukça tamamlayıcıdır
  • Bu, veri tasarruflu arka uçtan veri yükleme ile ön uca kadar
  • Kişilere birçok nokta atanabilir: dosya belirtimi, görüntüleme, oluşturma, çözme, optimizasyon, test vb.

1

"Bunu yazman ne kadar sürer?" oyun. Bir grup insana benzer şekilde X saat içinde Las Vegas'a nasıl gidebilecekleri konusunda övünüyorlar (bir kişi bir saatten az bir süre içinde yapabileceğini iddia edene kadar X sayısı genellikle her braggart ile azalır). Yani kodlayıcılar için: Basit bir hedef atın ve her bireyin ne söylediğini ve grup ya da göze çarpan görüşlerin fikir birliği olup olmadığını görün. Merhaba dünya yazman ne kadar sürer? "Yazmak" ne demektir, bu "koşmak" ve "sınamak" demek mi? İlk önce bir simülasyon ortamı gerektiriyor mu? Hangi platformda ve hangi çapraz derleyicide ve araçlar zaten kurulu ve hazır mı? vb. "Merhaba dünya", gömülü bir platforma "yazmak" için 4 gün sürebilir (araçları yükleyin, platformu hazırlayın,

Takım, hedefin ne kadar sürebileceğine karar vermeyi bitirdikten sonra, ne kadar sürdüğünü (belki de önerilen hedef için değil, gerçek dünya benzeri bir hedef için) ölçün veya çok benzer bir hedefe sahip önceki bir projeyi hatırlayın. Tahmini gerçekle karşılaştırın. Tahmin ile gerçek arasındaki hatayı çılgınca abartın ve herkes için bir sonuç yayınlayın.

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.