T: +90 (212) 262 39 82
Planlama Pokeri ve Takım Halinde Kestirim / Tahmin
April 21, 2009


Planlama Pokerini Nedir?  ( Planning Poker )

Planlama Pokeri çevik geliştirmede kullanılan bir kestirim / tahmin tekniğidir.

Nelere Ait Kestirimlerde / Tahminlerde Kullanabilirim?

  • Sisteme ait gerçekleştirilecek özelliklerin göreceli büyüklüklerini tespit için : örneğin user story'ler için oluşturulan story points  kestirimleri
  • Bir işi bitirmek için gereken gün veya saati tespit için : örneğin ilgili user story'ler yapılacak görevler/faaliyetler (tasks) haline dönüştürülürken bu faaliyetlere ait sürenin ideal gün veya saat cinsinden tahmin edilmesinde
  • vb


Oyuna Kimler Katılır?
Tüm geliştirme takımı oyuna katılır.(Takım halinde kestirim):programcılar,testçiler, analistler,veri tabanı uzmanları,vs.Ortalama bir projede bu genellikle 10 kişiyi geçmez.Geliştirme ekibine ek olarak Product Owner'da bu kestirim / tahmin faaliyetine geliştiricilerden gelebilecek soruları cevaplamak üzere katılır ama kestirimde/tahminde bulunmaz. ( kestirimin / tahminin işi yapacaklar tarafından yapılması)

Kısaca Nasıl Oynanır?
 

  • Herkesi üzerinde  rakamlar yazılı bir deste kart verilir: örneğin üzerinde [ örneğin 0, 1, 2, 3, 5, 8, 13, 20, 40, ve 100 ] yazılı kartlar
  • Kestirimi yapılacak her hikaye (ya da kestirimi yapılacak iş, görev vb) moderatör tarafından okunur.
  • Kestirim yapan kişiler  gerekli görürlerse Product Owner rolünü üstlenen kişiye sorular sorarlar.
  • İlgili hikaye okunduktan ve varsa sorular  cevaplandıktan sonra kestirimde bulunan herkes özel olarak hikayeye uygun bulduğu büyüklüğü gösteren üzerinde numara yazılı ilgili kartı çeker.Bu anda herkes kartını gizli tutar kartlar kimseye gösterilmez.
  • Daha sonra tüm kartlar aynı anda açılır ve böylece herkes birbirinin tahminini görür.
  • Muhtemelen kestirimler/tahminler ilk başlarda birbirinden farklı olacaktır.
  • Eğer kestirimler/tahminler farklı ise bu durumda en küçük ve en büyük kestirimde/tahminde bulunan kişiler kestirim nedenlerini açıklayacaklardır.
  • Grup ilgili hikayeyi ve kestirimlerini belli bir süre tartışabilir.
  • Bu görüşmenin ardından tekar kestirim kartlarını çekilmesi istenir.
  • Daha sonra aynı olay kestirimler birbirine yakınsayana kadar veya ortak bir değer üzerinde anlaşılana/uzlaşılana kadar devam eder.
    • Tahminler birbirine yaklaştığında uzlaşmaya varmak için 5 Parmak oylama yöntemini kullanabilirsiniz.


Slide5  
Tahmin Edemiyorum

Bazı durumlarda örneğin kullanıcı hikayelerin büyüklüğü ile ilgili bir tahmin geliştiriciler tarafından verilemiyebilir. Bu durumda geliştirici ilgili kullanıcı hikayesi ile ilgili bir kaç deneme, demo vb kodlama çalışması yapar. [daha güvenilir bir kestirim vermek adına, problemin mahiyetini keşfetmesini sağlıyacak çalışmalar].Bu yapılan çalışmanın sonucunda tahmin belirtilir. XP'de buna "Spike Solution" ismi verlir :kullanıcı hikayelerinin kestiriminin güvenirliliğini arttırmanın yanında bu türlü bir çalışma tasarıma ait bir takım potansiyel çözümlerin keşfedilmesi veya teknik risklerin aktif olarak berteraf edilmesi adına da yapılabilir.

Planlama Pokeri ve Sıralama

Planlama Pokeri oynarken bazı durumlarda örneğin kullanıcı hikayelerininin birbirine göreceli olan büyüklüklerini story point'lerle belirlerken, hikayelerin birbirine olan göreceli büyüklüklerini, hikaye sayısı artıkça   takip etmekte zorlanabilirsiniz.

Planlama pokeri  esnasında  tahmini yapılmış hikayeleri sahip oldukları puanlara göre görsel ve fiziksel olarak herkesin göreceği şekilde küçükten büyüğe doğru sıralayabilirsiniz. Bu durumda her yeni tahmin yapılışında  tüm takım daha önce kestirimleri yapılmış tüm  kullanıcı hikayelerini bir çırpıda gözden geçirebilir ve yeni tahminini yaparken gerçekten bu hikayenin x den daha az ya da y den daha fazla bir çabayı hakedip etmediğini sorgulayabilir. Ya da planlama pokerinden sonra böyle bir fiziksel ve görsel sıralama yaparak son kontrollerinizi yapabilirsiniz.

Bazı takımlar planlama pokeri yerine doğrudan bu şekilde sıralama işlemini yaparak göreceki kestirimleri yapmaktadırlar.

Bakınız:


Puanlama Skalası

Slide2

Kartlar üzerinde 0, 1, 2, 3, 5, 8, 13, 20, 40, ve 100 dizisinin seçilmesinin sebebi hikmeti nedir? Niye rakamlar arasında boşluklar ve atlanan sayılar var?

Bu rakamlar özellikle kullanıcı hikayelerin birbirine olan göreceli büyüklüklerinin "story points" cinsinden bulunmasında kullanılan popüler bir seri.
Daha Önce Belirttiğimiz Gibi  (Copy Paste :-) )

Temel Varsayımlar:
 

  • İnsanlar  -göreceli olarak puanlama yaparken-, iki komşu değer arasındaki puanlama skalası farkı büyüdükçe ilgili puanın seçmesini daha kolay yapmaktadırlar.
  • Kıyaslama yapacağımız unsurun ebatı büyüdükçe, kıyaslamamızın doğruluk oranı azalacaktır.
  • İnsanlar ölçeginizin skalasında tek bir derecelendirme  büyüklüğü olduğunda  daha iyi kıyaslama yaparlar.


Örneğin puanlamada  diyelimki: 1,2,3,4,5,6,7,8,9,10 şeklinde yaptınız diyelim.6 ile 7 puanları arasındaki  büyüklük farkı  6x = 7 => x = 7/6 = 1.166 yani 7 ile 6 skalasından  farkı 0.166 gibi küçük bir değer.Bir  hikayeyi  6 veya 7 puan  verdiğimizde ilgili hikayler arasındaki bu kadar küçük ölçek farkını görebiliyor olmanız gerekirki çoğu durumda bu mümkün değildir.Bu nedenle puanlama skalanızı  puanlar arasındaki ölçek büyük olacak şekilde yapılır.

Örneğin :

  • 1,2,4,8,... --> f(n) = 2*f(n-1) f(0)=1
  • 1, 2, 3, 5, 8… --> f(n) = f(n-1) + f(n-2) f(0)=1 ve f(1) = 1(Fibonacci serisinden oluşturulan)


puan skaları bunun için uygundur.

Popüler 0, 1, 2, 3, 5, 8, 13, 20, 40, ve 100  serisi için şunları söylüyebiliriz:
 

  • 0  ile 100 arasındaki bazı değerler atılarak seçim olayı kolaylaştırılmıştır: Sadece 10 adet seçenek
  • Skaladaki puanlar arasında makul bir oran/ büyüklük vardır 1 ile 2, 2 ile 3, 3 ile 5, 5 ile 8 ,8 ile 13 vb. arasındaki oran örneğin
  • Skala büyüdükçe puanlar arasındaki oran farkı artmaktadır 20 ile 40(2 kat), 4O ile 100 (2 kattan daha fazla). Bu durumda  hikayenin büklüğü örneğin puanı>20 ama kesinliklede 40 puanı haketmiyorsa yapabileceğimiz en mantıklı iş ,araya 30 gibi bir değer koymak değil, hikayeyi daha küçük parçalara bölmek ve her bir parçayı puanlamaktır ( ya 20 ya 40 ya 100 , aradaki değere izin yok). Bu şekilde 20 katı ve üzerindeki kestirimler için yanlış bir "doğruluk" hissine kapılmamız önlenir.


Bu Seride Neden "0" var?
Eğer ilgili hikayenin gerçeklenmesi çok az zaman alacaksa (bir kaç dakika örneğin) bu durumda bu hikayelere 0 değeri atanabilir.Dikkat etmeniz gereken bu hikayelerden çokça varsa, bunlar tek başına bir süre almaz gözükürken birlikte kayda değer bir yekün tutabilirler.Elinizde fazla 0 puanlık hiakaye varsa, bunları bir araya getirip bunlara bir grup/öbek halinde değerlendirip 0 dan farklı bir değeri hakedip haketmediklerine bakabilirsiniz.

Bu skalayı kullanmak gibi bir zorunluluğunuz yok. Ama kendi skalanızı oluştururken temel varsayımlarda belirtilen unsurları dikkate almanız tavsiye edilir.Çeşitli serileri deneyin ve takımınızn hangisiyle başarılı olduğunu keşfedin.


Dikkat Etmeniz Gereken Psikolojik Bir Unsur: Anchoring Effect
Tahminde bulunan kişiler üzerinde bilinçli ya bilinçşiz bir yönlendirme yapılabilir.İnsan zihni bazı durumlarda ilginç bir çalışma şekli gösterebiliyor.:-) Bu her zaman kötü değildir. Örneğin aslında popüler 0, 1, 2, 3, 5, 8, 13, 20, 40, ve 100  serisinde atlanan sayılar, sayılar arasındaki oranın dağılımı bir bakıma bir "Anchoring Effect" yaratmayı hedeflemektedir:tahmin işlemini daha kolay ve kısa yapmak adına.

[Time Anchor Matrix ]

[1,     3,      5 ]
[8,   13,   20 ]
[20,40, 100 ]


Bakınız:


Hamiş:

  • Planlama Pokeri için Yazıcıdan Çıktı Alıp Kullanabilceğiniz Poker Kartları İçin   Tıklayınız.
  • Online Planlama Pokeri Oynamak İstiyorsanız www.planningpoker.com   sitesine bakabilirsiniz.




 

yorumlar Yorum Ekleyin | etiketler Agile , Estimation | paylaş Paylaş | yazar Yazan: Ercan Köse