Yeni teknoloji için bir öğrenme eğrisi eklemem gerektiğinde projeleri nasıl tahmin edebilirim?


11

Bazen, teknoloji, kavramlar ve müşteri hakkında önceden hiçbir şey bilinmeyen araştırma ve geliştirme projeleri vardır. Ancak, yöneticinin hala zaman tahminlerine ihtiyacı vardır. Yararlı tahminler üretmek için ne yapabilirim?


5
Bilinen bir teknolojide tahmininiz ne olursa olsun alın ve ondalık bir basamak taşıyın: P
Rig

5
Steve McConnoll'un yazılım tahmin kitabını okuyun ve neyin iyi bir tahmin yaptığını anlayın. Bir tahminin belirsizliği vardır - eğer olmasaydı, bir tahmin olmazdı. "Bu üç aydan altı aya kadar sürebilir, bir ay geçirdikten sonra daraltabilirim" kabul edilebilir.

1
@MichaelT - harika yorum. Kesin olmayan tahminleri daha lezzetli hale getirmeyi garanti eden tek şey, zaman içinde bunları rafine etmektir, böylece yönetim kalan işin giderek daha doğru bir tahminini elde eder. Onları kızdırmayı garanti eden tek şey, tamamlanmasından iki hafta sonra kalıcı bir projedir.
Carson63000

Prototipler bunun içindir.

@ Carson63000 Bu cümlede belirsizlik konisinin basitleştirilmiş bir versiyonuna sahiptim . Bu gösterimden uzaklaşmanın temel yanı, 2-12 aylık bir tahminin, sonunda 7 ayda biteceği anlamına gelmediği, ancak tahminin 2-12'den 4-12'den 8-12'ye yaklaşabileceği anlamına gelmesidir. İlk konsept yapıldığında orijinal koninin 16x'lik bir menzile sahip olduğunu da unutmayın.

Yanıtlar:


13

Dürüst olmak gerekirse, Nassim Nicholas Taleb, Kara Kuğu kitabında yazdığı gibi: 'sadece tahmin edemeyiz'. Temel olarak bilinmeyen bilinmeyenler nedeniyle. Bir tahminde bulunmak yerine, bu gerçeği, tahmin edemeyeceğiniz gerçeğini iletmek genellikle en iyisidir.

Talebin yazdığı gibi: geniş ölçüde doğru olmak, tam olarak yanlış olmaktan daha iyidir. Bu nedenle, tahmin etmekte zorlandığınız zamanları ilettiğinizden emin olun ve 'yeni teknolojide öğrenme eğrileri' gibi şeyleri argümanlardan biri olarak kullanın. Bu, tahmininizin kapsamının büyük olacağı anlamına gelir: 'bu proje 100k ile 500k arasında olacak.'

Böyle bir şey söyleyerek sizden bir şey tahmin etmenizi isteyen şey, işlerin o kadar basit olmadığını fark eder.


3
+1: Bu tek doğru cevap. Yöneticinize bilinmeyenleri kucaklamayı öğretin - onları tahmin etmekten çok daha kolay. - Ayrıca construx.com'da Steve McConnoll'un çalışmalarına bakın.
mattnz

2
Buradaki en yanlış cevaplardan biri. Her zaman her şeyi tahmin edebilirsiniz. Bunu destekleyecek araçlar ve teknikler var. Tek fark belirsizliktir. Tahmininiz ile gerçek değer arasında (özellikle bir projenin başlarında) 4x veya 5x varyansınız olabilir, ancak bu, gelecekteki tahminler için bir başlangıç ​​noktası olarak hizmet etmek için tahmin etmeye çalışmamanız gerektiği anlamına gelmez.
Thomas Owens

2
@ThomasOwens Haklısın, sadece onun için çekilmemelisin. Ancak cesur ifadem yorumlanmayı amaçladı: kendinizi kandırmayın veya patronunuzu kandırmayın, ancak tahminin zor olacağı konusunda açık olun! Çünkü dürüst olmak gerekirse, tahmin isteyen her yönetici bir tane yapmanın ne kadar zor / imkansız olduğunun farkında değildir.
Marten Sytema

Kişisel iş tecrübemde, sabit fiyat esasına göre serbest çalışma yaparken, ortalama saatlik ücretim, küçük projelerde (mevcut projelere küçük eklentiler gibi), büyük projelere göre (genellikle sıfırdan) çok daha yüksektir. Doğrusal bile değil. Geriye dönüp baktığımda, daha büyük olanları sabit bir fiyata almamalıyım, ya da en azından tahminin çok zor olduğunu tartışmamalıyım ve müşteriyi riskleri biraz yaymak için farklı bir temelde çalışmaya ikna etmeye çalışmalıydım. .
Marten Sytema

3

İhtiyacınız olan ilk şey, kapsam hakkında bir fikir. Ne kadar somut olursa o kadar iyidir, ancak ilk tahminler için herhangi bir gereksinim türü kullanılabilir. Müşteri gereksinimleri, vizyonu, kapsamı ve konsept belgeleri erken kullanılabilir. Gereksinimler ve çalışma ortamı daha açık hale geldikçe, tahminler iyileşecektir. Müşteri (özellikle müşteri ve gelişmekte olan kuruluş arasındaki arayüzler), işi yapan ekip, kullanılacak teknolojiler, sistem mimarisi ve ayrıntılı bir tasarım hakkında daha fazla bilgi sahibi olmak daha doğru bir tahmine katkıda bulunacaktır. Bu, Belirsizlik Konisinde görülebilir.

SLIM veya COCOMO gibi bir parametrik modelleme aracı kullanıyorsanız (Basic'in maliyet sürücülerini hesaba katmadığı için yalnızca Orta veya İleri Düzey), teknolojinin bilinmemesi için ayar faktörleri olmalıdır. Örnek olarak, COCOMO'nun, özellikle hedef platformu tanıma ve sistemi geliştirmek için kullanılan dil ve araçlar dahil olmak üzere çok sayıda maliyet sürücüsü vardır. SLIM ayrıca, kullanılan araç ve teknolojilerin dikkate alınması gereken geliştirme ekibinin genel deneyimini de hesaba katar.

Bu teknikle, modelleme araçlarının çıktısı tipik olarak doğrulanır, çünkü birçok kuruluşta uzun yıllar boyunca önceki yazılım projelerini tahmin etmek için başarıyla kullanılmıştır. Ancak, çıktı yalnızca aletin girişi kadar iyidir.

Tahmin için parametrik modeller kullanmıyorsanız, tahminlerinizi oluştururken bu faktörleri göz önünde bulundurmanız yeterlidir. Daha çok bir karar çağrısı haline gelir, ancak belgeleri okumak, yeni geliştirme ortamını kurmak ve hedef platformda veya hedef dillerle örnek uygulamalar geliştirmek gibi etkinlikleri düşünebilirsiniz.

Bu gibi durumlarda, tahminlerinizi göreve göre ayırmanız ve bunu desteklemek için mesleki muhakemenizi kullanabilmeniz gerekir. Umarım, tahminlerinizi dayandıracak geçmiş verileriniz ve diğer somut kanıtlarınız vardır. Aksi takdirde, daha çok yokuş yukarı bir savaş.


3

Önemli eğitim ve araştırma zamanlarını geliştirme zamanından ayırın. Projeyi mutlu sonları olan birden fazla alt projeye ayırın. Eğitimden sonra bir kavram kanıtı oluşturduğunuzdan emin olun.

Teknolojide yeniyseniz, asla gerçek geliştirme zamanına yaklaşamazsınız. Bunu projenin başında bir risk olarak yükseltin ve tahminde cömert olun. Bu, sizin ve ekibinizin aşina olmadığı temel teknolojiler için geçerlidir.


1

Bağımlı, çoğu zaman FPA ( İşlev Noktası Analizi ) kullandım , ama bu "enterprizey web geliştirme" ye girdik, yani, bilirsiniz, Forbes 500 web şirketleri.

Burada görev her zaman iki bölüme ayrılabilir: biri, FPA'ya gerçekten çok iyi uyuyor: giriş arayüzleriniz, çıkış arayüzleriniz, dahili mantıksal dosyalarınız (aka. Veritabanı tabloları / ihraç edilecek türler) ve bu karmaşık, bilinmeyen sistemleriniz var .

Kolay sürümde, karmaşık görev zaten yazılmış bir bileşendir, onunla arayüz kurmak zor ve bilinmez.

Zor sürüm, ne zaman yazılması gerektiğidir, o zaman pilot tabanlı tahminler, COCOMO, neyse.

Ancak iki önemli şey var:

  1. Her türlü tahmin sisteminin kuruluşunuz için bir kalibrasyon süresi olmalıdır. Hiçbir zaman yalnız gelişmezsiniz, en azından kodunuzu bekleyen bir müşteri var (ya da bu konuda çaresiz kalmayacaksınız, kendi iyiliğiniz için kod yazacaksınız). Soru "ne kadar hızlı geliştirilebilir?" Değil, "hepinizle ne kadar hızlı geliştirilebilir?"

  2. Bir keresinde Black Swan romanını okuyan ve bu konuda manyak bir menajerim vardı. Bize tahmin etmenin imkansız olduğunu söylüyordu ve sürekli olarak + -10% tahminlerime her zamanki hassasiyetimi yapıyordum ...


-2

Bu tanıma uyan projeler düzenli olarak yapıyorum ve henüz çözemedim! Neyse ki çalıştığım yerde ihtiyacım olan şeyi yapma özgürlüğüne sahibim ve boş zaman sınırlamaları yok. Projeler her zaman başarılı değildir ve bu, pek çok bilinmeyenle çalışmanın sadece bir parçasıdır. Şirket her seferinde bilgi kazanıyor.

Üzgünüm, hiç yardımcı olmuyor.


-4

Bilinen teknolojiyi kullanarak benzer bir proje yapmanın ne kadar süreceğini tahmin edin. 4 ile çarpın. Biraz öğrenme süresi ekleyin.

Tahmin çok kısaysa, saf ve kibirli görüneceksiniz. tahmin çok büyükse, cahil ve yetersiz görüneceksiniz. Akıllıca seçim.


4
Neden 4? Neden 5 değil? 10? 33.3? ... Cevabınızın arkasında bilim var mı yoksa sadece rastgele bir sayı mı seçiyorsunuz? Bunu cevabınıza dahil etmek daha faydalı olabilir.
Bryan Oakley

ilgili bir notta, çok sayıda utangaç olma. Meslektaşım bir keresinde 935 (dokuz-üç-beş) gün içinde bazı modül çalışmalarını tahmin etti. Patron o kadar da fazla olmadığımızı söyledi ve 60 gün emretti . Meslektaşım 60'da mümkün olanı yaptı. Sonuç oldukça zordu ama asla bunun için suçlanmadı. 60 günlük versiyonun, ne kadar zahmetli olsa da, oldukça önemli bir müşteri elde etmemize izin verdiğini kabul etmeliyiz - yani patronun itmesi oldukça iyi bir iş anlayışı yarattı. Sonunda BTW, bu modülü şekillendirmeyi başardık, ancak bu birkaç yıl sonra oldu ve 935 tahmini ile ballparkta daha fazla çaba sarf edildi
gnat
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.