ETKİN DAILY SCRUM

ETKİN DAILY SCRUM

ETKİN DAILY SCRUM

Daily stand-up, daily huddle, morning roll-call isimleriyle de anılan daily scrum, başta Agile takımlar olmak üzere birçok yazılım ekibi tarafından yaygın bir şekilde uygulanan, proje geliştirme süreci bakımından çok önemli bir toplantıdır. Bazı detaylara dikkat edilerek Daily Scrum toplantıları daha etkili bir hale getirilebilir.

Daily Scrum toplantıları ile takım her gün bulundukları durumu paylaşıp, günlük hedeflerini güncellemek için bir araya gelir. Toplantının time-boxed (15 dk.) olması, bu süre içerisinde bütün takım üyelerinin söz alabilmesi ve konuşmaların kısa tutularak zaman kaybının önüne geçilmesi için toplantı ayakta yapılır.

Toplantı düzenlenirken ayrıca bir efor sarfetmeye ihtiyaç duyulmaması için, hergün aynı yer ve aynı zamanda yapılması gerekmektedir. Daily Scrumayrı bir toplantı odası yerine task board önünde yapılmalıdır. Daily Scrum, scrum takımı için yapılan bir toplantıdır ve belirlenen zamanda başlar, herhangi birinin gecikmesi toplantının başlaması için bir engel oluşturmaz ve genellikle takımlar güne daily scrumile başlamayı tercih ederler.

Daily scrum’ın 5 temel amacı bulunmaktadır;

Ekibin güne iyi başlaması
Sürekli iyileştirmeyi desteklemek
Doğru noktalara odaklanmayı sağlamak
Takım duygusunu güçlendirmek
Sprint içerisindeki işlerin durumunu herkesin bilmesini sağlamak

1. Güne İyi Bir Başlangıç

Daily scrum takıma enerji verir. Herkes o güne ve sprintin kalan bölümüne ait hedefleri ve işlerin aciliyetini, önceliğini gözden geçirir; bu şekilde de bunu başarmak için neler yapılması gerektiği anlaşılır. Takım bu bilinçle ve pozitif bir enerjiyle hızlı bir şekilde işleri yapmaya başlar.

2. Sürekli İyileştirme

Daily scrum ile takım üyeleri karşılaştıkları problemleri anlatırlar ve takım içerisinde bu problemler ile karşılaşmış veya çözümü hakkında bir fikri olan kişiler toplantı sonrası bilgi paylaşımı yapma fırsatı bulurlar. Bununla birlikte geliştirme için daha etkili olabilecek teknik ve fikirlerin paylaşılması için uygun bir ortam oluşur. Bu şekilde problemler daha hızlı çözülür ve daha kaliteli yazılım geliştirilir.

3. Doğru Noktaya Odaklanma

Takım, sprint içerisinde işleri bitirmek için uğraşırken, sprintin hedefinden, done kriterlerinden ve asıl yapmaları gereken işlerden uzaklaşabilir. Her yeni güne başlarken, bir gün önce neler yapıldığını görüp sprint hedefini değerlendirerek, nasıl ilerlenmesi gerektiğini belirleyerek günlük hedef oluşturmak odağın kaybolmasını engellemektedir.

4. Takım Duygusu

Bilinen birçok takım oluşturma uygulamalarının yanında, etkili bir takım oluşturmak için takımın düzenli olarak iletişim halinde olması, beraber çalışması ve birbirlerine yardımcı olmaları gerekmektedir. Takımın ortak problemlerini çözmek için beraber çalışmaları, kendi kendini yöneten takımların oluşmasını sağlamaktadır. Daily scrum, problemleri ortaya çıkarmak ve bu problemlerin çözümünde takım üyelerinin birbirlerine yardım edebilmesi için uygun ortamı sağlamakta çok önemli bir yere sahiptir.

5. Sprint’in Durumu

Sprintteki işlerin durumu görebilmek için 2 tane soruyu cevaplamak gerekir;

Sprint’e ait işler nasıl ilerliyor?
Takımın bilmesi gereken ilginç bir şey var mı?

Bu soruları cevaplamak için farklı teknikler de kullanılabilir. Hangi teknik kullanılırsa kullanılsın daily scrum, sprint sonunda olumsuz bir durumla karşılaşılmaması için takıma çok değerli bilgiler verir.

Daily Scrum’a Kimler Katılabilir?

Takımın kendisi için düzenlediği daily scrum toplantılarına, işlerin ilerleyişini ve projenin durumunu öğrenmek isteyen herkes katılabilir. Burada dikkat edilmesi gereken nokta, her ne kadardaily scrum toplantılarında takım dışından herhangi birinin konuşma hakkı olmasa da, proje hakkında çok fazla bilgisi olmayan katılımcıların, toplantının hedefine ulaşmasını engelleyecek bir durum oluşturmamasının sağlanmasıdır. Bunun için, toplantı öncesinde bu katılımcılara kısa bir bilgi aktarımı yapılabilir ve task board, burn-down ve burn-up diyagramlarını inceleyerek gidişat hakkında bilgilenmeleri sağlanmalıdır.

Yesterday Today Obstacles

Daily scrum toplantılarının hedefine ulaşabilmesi için cevaplanması gereken minimum sorular;

  • Dün ne yaptım?
  • Bugün ne yapacağım?
  • Yaşadığım problemler neler?

Time boxed yapılan bu toplantının süresini aşmadan herkesin katılımını sağlamak için bu 3 soru üzerinden gitmek ve konuların uzayarak toplantının amacından uzaklaşmasını engellemek gerekir.

Improvement Board

Daily scrum sırasında görülür hale gelen problemler, bu toplantıda çözüme kavuşturulmaz.Daily scrum sonrasında çözüm oluşturulabilmesi sağlanır. Fakat bunun takibinin yapılması ve gerçekten çözüldüğünden emin olunması gerekmektedir. Bu problemlerin takibinin yapılabilmesi için task board benzeri Todo, InProgress ve Done alanlarını barındıran bir bölüm oluşturulabilir. Burada dikkat edilmesi gereken en önemli nokta, takımın, bu problemlerin en kısa sürede çözülmesinin gerekliliğinin farkında olması ve bunun için çaba göstermesinin sağlanmasıdır.

Self Organizing Daily Scrum

Toplantılarda genelde ilk olarak kimin konuşacağı problem olur. Agile takımların genel prensibi self-organizing yapıda olmaktır. Bu sebeple de herhangi birinin sırayı belirlemesi yerine takımın kendi kurallarını oluşturması ve bu doğrultuda konuşma sırasının belirlenmesi sağlanabilir. Bunun için daha önceden denenmiş bazı yöntemler uygulanabilir.

Örnek olarak ilk konuşacak kişi toplantıya en son gelen kişi olacak şekilde belirlenebilir. Bu şekilde takım üyelerinin mümkün olduğunca erken gelmeleri sağlanabilir. Bu durumdaki tek handikap, son gelen kişinin toplantıya en az hazır olan kişi olma olasılığıdır.

İlk konuşmacı belirlendikten sonra konuşma sırası için saat yönü veya saatin tersi yönünde ilerlenebilir. Bu durumda da takım üyeleri kendi sıralarının ne zaman geleceğini bildiği için kendi anlatacaklarına odaklanıp arkadaşlarının söylediklerini dinlemeyebilirler. Bunun önüne geçmek için beklenmedik bir sırada konuşulmasını sağlayan bir sistem oluşturulabilir. Örnek olarak küçük bir simge veya kart elden ele dolaştırılarak sıra belirlenebilir. Konuşan kişi, konuşması bittikten sonra rastgele bir arkadaşına bu simgeyi verir ve sıra ona geçer. Bu şekilde herkesin aktif olarak konuşulanları dinlemesi sağlanabilir.

Daily Scrum’larda enerjiyi her zaman yüksek tutmak ve ilginin kaybolmamasını sağlamak çok önemlidir. Bunun için herkesin birbirini kolayca duyabileceği fakat rahatsızlık hissetmeyecekleri kadar birbirlerine yakın olmaları gerekir. Takım içerisinde çok uzun konuşan, problemden bahsedildiğinde hemen onu çözüme kavuşturmak isteyen, konu dışında başka işlerle ilgilenen kişiler olabilir. Takımın kendi içinde bunu görüp engellemesi gerekir.

Takımdaki herkes konuşmasını tamamladıktan sonra burn-down ve burn-up diyagramları güncellenerek daily scrum sonlandırılır.

Takım olarak daily scrum’ın önemini anlamış olmak ve bu toplantıları hedefine ulaşacak şekilde gerçekleştirmek, takımın sprint hedefine ulaşmasını sağlayacak en önemli etkenlerden biridir. Daily scrum İşler yolunda gitmediğinde takımın toparlanmasını ve taahhüt edilen işleri tamamlayabilmek için neler yapılması gerektiğini takımın görmesini sağlar.

Serkan Çakır, Teknik Müdür, ACM

ARAMA YAPIN