Cevap veriyorum: Bilmiyoruz.
Biliyorum belirsizlik kimsenin hoşuna gitmez. Bunu herkes somut saatlere çevirmek ister. Ancak bu somut saatler çalışmaz. Neden çalışmayacağını ve en yakın tahmini nasıl yaptığımızı açıklayalım.
Neden saat kullanmıyoruz?
Çünkü bundan daha tutarlı bir yol var. Mesafe ve göreceli tahmin.
Şu bir gerçek: İnsanlar mutlak değerleri tahmin etmekte kötüdür. Örneğin: “Şu duvar 2 saate boyanır” tahminini genelde tutmaz. Ama kıyaslama yaparsa yani “Bu duvar, arkadaki duvarın 2 katı vardır” derse, bu daha tutarlı olacaktır.
O yüzden Developer, referans almayı bilmelidir. “O görev şu ise, bu görev şudur” , “Kedi 3 ise, fil 21dir.”
Story point tarifi
En çok yapılan hatalardan biri, story pointi doğrudan saat cinsinden düşünmektir. Ama bu formülün içinde farklı etkiler de var. Çoğu kişi sadece eforu düşünür. Ama eforun yanında karmaşıklık ve risk de önemlidir.
İki ayrı görev üzerinden bu tanımı şöyle örneklendirebilirim:
Bir butona renk ve animasyon eklemek (Düşük risk, Az karmaşıklık)
Veri tabanı yapısını değiştirmek (Veri boyutuna oranla oldukça riskli, Kimisine göre karmaşık)
O yüzden bu iki göreve de efor cinsinden bakıp puan veremezsiniz. Riski ve karmaşıklığı da göz önünde bulundurmanız gerekir.
Matematiğin bozulduğu an: Junior vs Senior
Story pointi saate endekslemenin imkansız olduğunu gösteren en güçlü kanıt, ekip içindeki deneyim farkıdır.
Get Mustafa Küçükali’s stories in your inbox
Join Medium for free to get updates from this writer.
Tekrar örnek vermek gerekirse, X işini bir senior yaparsa daha kısa sürede yapar ve o iş ona junior kadar riskli gelmez. Ama o işi junior yapıyorsa, hem araştırma maliyeti vardır, hem hata riski daha fazladır, hem de bitirme süresi daha uzundur.
Özetle, işi kimin yaptığı süreyi (saati) değiştirir ama işin kendisini (puanı) değiştirmez. Puan, işin sabit büyüklüğüdür. Saat ise o anki performansın sonucudur.
Peki bu iş ne “zaman” biter? (Velocity)
Buradaki matematik her zaman tutmayabilir. Ancak bir senaryo üzerinden yaklaşık olarak bir tahminleme yapabiliriz.
Söylediğim gibi, Story Point bize mesafeyi verir. Velocity ise o mesafeyi ne kadar hızlı gittiğimizi söyler. Süreyi tahmin etmek için işlere saat vermek yerine, takımın geçmiş performansına bakarız. Eğer takımın geçmişi yoksa, bu süreç deneycilikle ilerler. Ve zamanla taşlar yerine oturur. (Ampirizm)
Bir vaka üzerinde bunu doğrudan inceleyelim:
Senaryo: Takımınız son 3 sprintte sırasıyla 28,30 ve 32 puanlık iş bitirdi.
Veri: Bu takımın ortalama hızı 30 Point.
Sonuç: Eğer Product Backlog’da 150 puanlık bir iş var ise, “Bu backlog itemları 5 sprintte biter” tahminini yapmak yanlış olmaz.
Ancak şunu da eklemeliyim ki, takımın velocity’si değişkendir. Çünkü çalışanları ve takımın performansını etkileyen birçok engel vardır. Ve o engelleri kaldırmak da Agile Koç’un veya Scrum Master’in işi.
Son Söz
Story pointi saatlere çevirmeye çalışmak, çevik bir takımı, geleneksel yöntemlerin kalıplarına sıkıştırmaya çalışmaktır.
Yöneticiler veya müşteriler sizden “saat,gün” istediğinde, onlara cesurca “mesafe” ve “takım hızı” kavramlarını anlatın. Çünkü yazının başında belirttiğim gibi, mutlak bir tahmin yaparsanız doğru olması tesadüf olacaktır. Ancak takımın geçmiş performansına bakarak göreceli bir tahminde bulunursanız, kesin olmasa da ortalama bir fikir verirsiniz.
Son olarak unutmayın ki, Agile sihirli bir değnek değil.






