Bence Frank ve Encaita'nın cevapları hemen hemen bunu kapsıyor ama dikkate alınması gereken bazı ek şeyler var:
Hikaye noktalarını neden kullanmalıyım?
Hikaye puanları ile tahmin etmenin amacı, uygulamanız için gelişmekte olan özelliklerin göreli karmaşıklığını vermektir. Bunu düşünmenin basit bir yolu, yaklaşan sprint'te bir hikayeyi ele almaktır, örneğin bir url değişikliği. Bunun karmaşıklık açısından basit olduğunu ve kabul kriterlerini açıkça tanımladığını biliyorsunuz, böylece tüm ekip test ederken bile 1 (Fibo ölçeğini kullanarak) olduğunu kabul ediyor.
Tahmin edilecek bir sonraki hikaye, bir dizi kullanıcı verisini toplamak ve bunu ön uçta görselleştirmek. Şimdi bir geliştirici olarak bu bir url değiştirmek çok daha karmaşık olduğunu biliyorsunuz. Hikayeyi ve kabul kriterlerini tartışıyorsunuz ve çok fazla sorunuz var ve bunu yapmak için birkaç potansiyel çözüm görebilirsiniz. Diğer geliştiriciler ve KG de çok karmaşık olduğu konusunda hemfikir. Yani hepiniz bunun 34 puanlık bir hikaye olduğunu kabul ediyorsunuz. Fibo ölçeğinin aynı zamanda esimate'e ne kadar güven duyduğunuzu belirtmenize izin verdiğini belirtmek gerekir - sayılar arasındaki boşluklar büyüdükçe tahmininizdeki güveniniz azalır
Bu noktada Scrum ustanız atlamalı ve bunun tek bir hikaye olarak çok büyük olduğunu ve daha az karmaşıklığa sahip daha küçük hikayelere bölünmesi gerektiğini söylemelidir. Buna SPIKES olarak bilinen şeyi yaparak yaklaşabilirsiniz - bu, bir şeyi araştırmak için bir kenara bırakılmıştır. Bu örnekte siz ve diğer geliştiriciler olası teknik çözümleri tartışmak ve araştırmak için 4 saat istediğinizi kabul ediyorsunuz.
Uzun bir hikayeyi kısaltmak için bu büyük hikayeyi 5, 8, 8 ve 13 puanlık diğer dört hikayeye ayırırsınız. Unutmayın, bu tahminler tamamen göreceli karmaşıklık ile ilgilidir - orijinal tahmine eklemek zorunda değiller, ayrıca daha doğru bir tahmin yapmak için şimdi daha fazla bilgiye sahipsiniz.
Daha sonra bu sprint için 13 puanlık hikayeyi, bir 8 puanlık hikayeyi ve daha önce tanımladığınız 1 puanlık URL değişikliğini tamamlamayı hedefleyeceğiniz bir takım olarak kabul edersiniz. Yani toplam 22 puan. Bir sonraki sprint 27 puan alırsınız, aşağıdaki sprint 18 puan alırsınız. 3 sprintten sonra hızınıza biraz güvenmeye başlayabilirsiniz (hız, ekibinizin bir sprint'te yapabileceği iş miktarıdır). Hızı elde etmek için önceki sprintlerin ortalamasını alın. Yani bu örnekte ortalama (22 + 27 + 18) / 3 = 22,3'tür, bu nedenle 21 olan Fibo ölçeğinde en yakın olana yuvarlayın.
Şimdi bir sonraki sprint için 21 puan almayı hedefleyin.
Hikaye puanı tahmininizin tam olarak doğru olmasını sağlamak için takılmayın - bu tam bir bilim değildir. Bir URL değişikliğinin verileri toplamaktan çok daha az karmaşık olduğunu biliyorsunuz, bu yüzden buna göre puan verin.
Ayrıca bunları bir takım olarak tartışmak da iyidir. Sprint incelemesi sırasında tahminlerinize tekrar bakın ve onlardan memnun olup olmadığınızı tartışın ve bunu bir sonraki sprint planlama oturumuna besleyin.
Tüm takım tahmini
Tüm ekip, her hikaye için tek bir tahmin üzerinde anlaşmalıdır. Bir özellik üretime hazır olana kadar yapılmaz. Sadece kodun yazılması hiçbir şekilde yapılmaz. Deneyimlerime göre Scrum takımları takım olarak çalışırken çok daha etkili oldular. Şu anda birlikte çalıştığım takıma bir örnek verin. Katıldığımda tüm sprint toplantılarını yapıyorlar ve poker planlıyorlardı ama sprint sırasında süreç 1 idi. BA'lar / Ürün Sahipleri gereksinimleri kabul kriterleri ve kabul testleri ile hikayeler olarak tanımlıyorlar. kod 3. Geliştiricinin, QA'nın 4. test etmesi için geliştirme dalında birleştirilmiş kodu vardır.
Burada eksik olan ne? Ön tarafta yeterince tartışma yok ve her ekip üyesi sadece kendi görevini gördü. Şimdi BA / PO, devs ve QA, gereksinimleri ayrıntılı olarak tartışmak ve soruları önceden sormak için herhangi bir kod yazmadan önce bir araya gelir, ardından sprint boyunca tartışmaya devam edin. Bu çok daha verimlidir ve daha kaliteli çözümlere yol açar.
Poker planlamak bu sürece yardımcı olur, çünkü takımı özelliği tartışmaya zorlar ve ekip olarak bu özelliğin ne kadar karmaşık bir şekilde teslim edildiğini kabul eder. Geleneksel yazılım geliştirmede Proje Yöneticisi projenin tesliminden sorumluydu, ancak bu yaklaşımı deneyimleyen herkes bunun işe yaramadığını biliyor çünkü daha sık değil, insanlar uygulamanın teslimindeki rolleri için sorumluluk almıyorlar. Agile'de proje yöneticilerine ihtiyaç duymamalısınız, çünkü takım başvurunun teslimi için bir bütün olarak sorumluluk alır.
Görevlerin zamanında tahmin edilmesi
Görevler üzerinde zaman tahmin eden ekiplerle ve sadece hikaye noktası esim yapan ekiplerle çalıştığım görüşüm ZAMANIN TAHMİN EDİLMEMESİ! Aslında sadece zaman kaybı. Hikaye puanları kadar doğru değiller, çünkü takım değil bireylere özgüdürler ve her bireyin farklı bir zaman tahmini fikri vardır (alev getir).
Hikaye noktaları, şeylerin, yani gereksinimlerin sürekli değiştiğini kabul eder, böylece takımın bir sprint'te neler yapabileceğini gösteren bir göstergeye ihtiyacınız vardır.
Bir hız anlayışına sahip olduğunuzda, her bir sprint'te ne yapabileceğinizi bilirsiniz, örneğin her iki haftada bir, hangi özelliklerin sunulabileceğini bilirsiniz. Scrum master'ınız ve ürün sahipleriniz gelecekteki sprint'lere bakmak için tahmin oturumları yapıyor olmalıdır, o zaman önümüzdeki birkaç ay içinde ne kadar iş yapacağınıza dair bir gösterge alabilirsiniz. Bu, ürün sahiplerinin son uygulamaya hangi özelliklerin dahil edileceğine ilişkin önceliklendirme kararları almalarını sağlar.
Geliştiriciler planlamak için görevler için zaman tahmin etmemizi istedim ama aslında bu yaklaşıma katılmıyorum (aslında bu yaklaşıma kesinlikle katılmıyorum) çünkü doğru değil, örneğin bu beni gerçekten 4 saat sürecek ne demek: bir geliştirici sadece görevin zamanını içerebilir, başka biri çay yapmak için zaman ekleyebilir!
Zaman tahminleri her zaman raporlama amacıyla bir başkasına verilir ve aynı zamanda bir takımın tüm çabalarına karşı bir özellik sunmanın bireysel unsurlarını fazla vurgulamaktadır.
Tahmin en büyük problem değil
Bir yana, tahminleri çözmek takımların çözmesi gereken en büyük sorun değil. En önemli şey, sprint boyunca işleri halletmek için bir ekip olarak birlikte çalışmaktır, böylece son gün test için her şeyi teslim etmezsiniz. 2 haftalık sprint boyunca sürekli bir özellik damlası görmek istiyorsunuz. Yukarıda açıkladığım takım dinamiği bunun büyük bir parçası. Hikaye puanı tahmini, bunu planlamanıza yardımcı olacaktır, çünkü düzenli olarak teste tabi tutulabilecek küçük hikayelere bölünmesi gereken büyük hikayelerin hangileri olduğunu göreceksiniz.