Tahmin Etmeyi Öğrenin
Bir yazılımcı olarak yöneticilerinize, meslektaşlarınıza ve kullanıcılarınıza gerçekleştirmeniz gereken görevler için tahminler sunabilmeniz gerekir, böylece onlar hedefleri başarmak için gereken zaman, maliyetler, teknoloji ve diğer kaynaklar hakkında makul derecede doğru bir fikre sahip olurlar.
İyi tahmin yapabilmek için bazı tahmin tekniklerini öğrenmek elbette önemlidir. Bununla birlikte, her şeyden önce, tahminlerin ne olduğunu ve ne için kullanılmaları gerektiğini öğrenmek esastır. Ne kadar garip görünse de, birçok geliştirici ve yönetici bunu gerçekten bilmiyor.
Bir proje yöneticisi ve bir yazılımcı arasındaki aşağıdaki alışveriş alışılmışın dışında değildir:
Proje Yöneticisi: xyz özelliğini geliştirmek için gereken süreyi tahmin edebilir misin?
Yazılımcı: Bir ay.
Proje Yöneticisi: Bu çok uzun! Sadece bir haftamız var.
Yazılımcı: En az üç haftaya ihtiyacım var.
Proje Yöneticisi: Sana en fazla iki hafta verebilirim.
Yazılımcı: Anlaştık!
Yazılımcı, sonunda yönetici için kabul edilebilir olanla eşleşen bir "tahmin" ile gelir. Ancak yazılımcının tahmini olduğu görüldüğünden, yönetici yazılımcıyı buna karşı sorumlu tutacaktır. Bu konuşmada neyin yanlış olduğunu anlamak için üç tanıma ihtiyacımız var - tahmin, hedef ve taahhüt:
Bir tahmin, bir şeyin değeri, sayısı, miktarı veya kapsamına ilişkin yaklaşık bir hesaplama veya yargıdır. Bu tanım, bir tahminin somut verilere ve önceki deneyimlere dayanan olgusal bir ölçü olduğunu ima eder - hesaplanırken umutlar ve istekler göz ardı edilmelidir. Tanım ayrıca, yaklaşık olarak bir tahminin kesin olamayacağını, örneğin bir geliştirme görevinin 234,14 gün süreceğini tahmin edemeyeceğini ima eder.
hedef, arzu edilen bir iş hedefinin ifadesidir, örneğin, "Sistem en az 400 eşzamanlı kullanıcıyı desteklemelidir."
taahhüt, belirli bir tarihe veya olaya kadar belirli bir kalitede belirli bir işlevsellik sağlama taahhüdüdür. Bir örnek, "Arama işlevi, ürünün sonraki sürümünde kullanıma sunulacaktır" olabilir.
Tahminler, hedefler ve taahhütler birbirinden bağımsızdır, ancak hedefler ve taahhütler sağlam tahminlere dayanmalıdır. Steve McConnell'in belirttiği gibi, "Yazılım tahmininin birincil amacı, bir projenin sonucunu tahmin etmek değil; bir projenin hedeflerinin, projenin bunları karşılamak için kontrol edilmesine izin verecek kadar gerçekçi olup olmadığını belirlemektir." Bu nedenle, tahminin amacı, proje paydaşlarının gerçekçi hedeflere dayalı taahhütlerde bulunmalarına izin vererek uygun proje yönetimi ve planlamasını mümkün kılmaktır.
Yukarıdaki konuşmada yöneticinin yazılımcıdan gerçekten istediği şey, bir tahminde bulunmak değil, yöneticinin aklındaki belirtilmemiş bir hedefe dayalı bir taahhütte bulunmasıydı. Bir dahaki sefere bir tahmin sağlamanız istendiğinde, katılan herkesin ne hakkında konuştuğunu bildiğinden emin olun ve projelerinizin başarılı olma şansı daha yüksek olacaktır. Şimdi bazı teknikleri öğrenmenin zamanı geldi....
Giovanni Asproni Tarafından
Last updated