12 Kasım 2016
Scrum'ın Günlük Planlama Toplantısı: Daily Scrum
Daily Scrum, Development Team üyelerinin her sabah 15 dakika toplanıp günü planladığı aktivitedir. Takım üyeleri dün ve gün içinde yapacağı işler hakkında birbirlerine bilgiler verir. Günlük Scrum toplantısında karmaşıklığı ve zaman kaybını azaltmak hatta minimuma indirmek için her gün aynı yer ve saatte Scrum Board önünde takım toplanır.
Toplantıda bir önceki gün yapılan işler gözlemlenir ve bir sonraki güne kadar yapılacak işler planlanır. Development Team üyeleri toplantıda şu soruları cevaplar;
* Takımın Sprint hedefine(Sprint Goal) ulaşması için dün ne yaptım?
* Takımın Sprint hedefine(Sprint Goal) ulaşması için bugün ne yapacağım?
* Benim veya Takımın Sprint hedefine(Sprint Goal) ulaşması için bir Impediment var mı?
Development Team, Sprint hedefini gerçekleştirmek ve Sprint boyunca nasıl gittiklerini görmek için Daily Scrum yapar. Sprint hedefine ulaşmak ve beklenen Increment'ı Sprint sonunda çıkarmak için birlikte Self-organize bir takım olarak nasıl çalışması gerektiğini anlamalıdır.
Sprint içinde bir Impediment ile karşılaştığınız zaman bunu hemen takımla paylaşın. Bir sonraki Daily Scrum'ı beklemeyin. Bunu bir Development Team üyesi olarak yapmazsanız Development önündeki engellerin tespitini zorlaştırır ve geciktirirsiniz. Engelleri o an söylemeniz sizi hızlı karar almaya teşvik eder.
Daily Scrum'da yanlış yapılan uygulama ise her üyenin sadece kendi Task'ları üzerinde konuşması ve Sprint Goal hakkında bir şey söylememesi. Bu davranış o Development Team üyesi için bir PBI'ın tüm tasklarını tek başına üstlenmeye kadar götürebilir ve dolaylı yoldan PBI'ı üstlenme durumu oluşur. Buda o üyeyi o PBI ile baş başa bırakmak demektir. Bu hem o üye hemde takım için risktir çünkü PBI'ı tek başına sahiplenmiş ve sorumluluğu altına almıştır, takımca hakaret etmeye aykırıdır.
Daily Scrum'da iyi bir yöntem olan PBI'lar üzerinden gitmek takımca çalışmanın iyi örneklerindendir. Öncelik sırasına göre her PBI üzerinden takımca konuşularak PBI'daki durum nedir ve ne yapmamız gerektiği konuşulur, varsa o PBI üzerinde bir Impediment o da söylenir.
Daily Scrum'daki Önemli Detaylar;
1) 15 dakika ile sınırlı olup Time-Box aşılmamalıdır. 15 dakika sonrası Daily Scrum bitince eğer konuşulması gereken konular varsa 15 dakikadan sonra konuşulur. Genelde Daily Scrum sonrası konuşma Impediment konuları üzerinedir. Daily toplantısında teknik veya mimari konulara da çok girmemek lazım, bunlar Daily'den sonra konuşulmalıdır.
2) Karmaşıklığı ve zaman kaybını engellemek için takım her gün aynı yer ve saatte Scrum Board önünde toplanmalıdır. Daily Scrum, güne başlamadaki en önemli kriterdir. İşe başlama zamanı diyebiliriz, bu yüzden Daily Scrum'lar önemlidir ve Development Team'in katılması kuralının herkese benimsenmesi sağlanmalıdır.
3) Scrum Master, Daily Scrum toplantısına katılma mecburiyeti yoktur fakat yapıldığından emin olmalıdır. Daily Scrum'a geç kalan Development üyesini takım beklemez çünkü Scrum'da Self-organization(Kendini Yönetme) temel mantıktır. Her gün planlanan saatte başlaması gerekir.
4) Daily Scrum'ı yürütmek Development Team'in sorumluluğundadır. Scrum Master, Development Team'e Time-Box'ın 15 dakikayla sınırlı tutabilmeyi öğretir.
5) Daily Scrum önemli bir gözlem ve adaptasyon toplantısı olup takım içindeki üyeler arası iletişimi iyileştirir.
6) Daily Scrum, Gün içinde başka toplantı ihtiyaçlarını ortaan kaldırır. Bu sayede Development Team'in çalışma akışını gereksiz toplantılar ile bölmemiş olur. Development Team'in bilgi seviyesini de artırır.
7) Daily Scrum'da Scrum Board'da güncelleme işleri çok uzun olmamalıdır çünkü Time-Box aşılabilir. Bunu Daily'den sonra da yapabilirsiniz. Anlık olarak Task maliyetinden kalan saatler söylenirken takımdan biri son kapasiteyi anlık hesaplayıp Sprint Burndown Chart'da hemen takımın grafiğini söyleyebilir.
8) Daily Scrum'da konuşmaya kim başlayacak ile zaman kaybedilmemesi lazım ilk kim anlatmak istiyorsa hemen söze başlayıp sırayla üyeler arası kalem vererek süreç ilerlenebilir. Toplantıda takım içi gruplaşmalar olmamalıdır.
9) Daily Scrum'a takım dışından birinin katılması ve yönlendirmesi doğru değildir. Toplantı sırasında iki takım üyesinin bir konu hakkında tartışması Time-Box'ı etkiler ve bu davranışta doğru değildir.
10) Product Owner, Daily Scrum toplantısına gözlemci olarak katılabilir. Daily Scrum sırasında Scrum Master veya Product Owner’a güncelleme verilmesi doğru değildir. Daily Scrum raporlama toplantısı değildir. Product Owner, Daily Scrum'da genelde müdahale çok etmez ve sadece dinler, fakat takım Sprint sonu gelmiş ve halen belirsiz davranıyorsa konuşma hakkı vardır.
11) Scrum Board'daki düzensizlik Daily Scrum'ın verimini düşürebilir. Bu yüzden tahta her zaman düzenli olmalıdır ve Board’larda Impediment varsa her zaman post-it şeklinde asılı olmalıdır, bu davranış aynı zamanda şeffaflığı da gösterir.
12) Sadece sabah değil öğlen veya Sprint Review öncesi de ikinci bir Daily Scrum yapılabilir. Yine 15 dakika Time-Box aşmamak şartıyla.
Kaynaklar
The Scrum Guide (www.scrumguides.org)
tr.wikipedia.org/wiki/Scrum (Günlük Scrum)
en.wikipedia.org/wiki/Scrum_(software_development) (Daily Scrum)
ACM Software (www.slideshare.net/ACMSoftware)
Scrum Blog (blog.scrum.org)