Scrumda İletişim
Her işte olduğu gibi yazılım geliştirmede de iletişim ve etkileşimin önemi son derece büyüktür. Çevik yazılım geliştime manifestosunun en başında şöyle denir;
“Süreçler ve araçlardan ziyade bireyler ve etkileşimlere değer veriyoruz”
Bu kavramı biraz açacak olursak;
Yaptığımız işin tabiatı gereği belirli süreçleri vardır. Onun dışında kalite güvence gereği , şirketin kurumsal kültürü gereği , çeşitli standartlara ve prosedürlere uymak zorunda olmak, ek olarak daha birçok süreç yaratılabilir. Ayrıca bu süreçlerde birimlerin kullandığı farklı farklı birçok araç da kullanılıyor olabilir. Tüm bunların amacı, en nihayetinde çalışan, kaliteli, paydaşları tatmin edici bir çıktı-ürün-hizmet yaratmaktır. Bu süreçler ve araçlar, asıl hedefimize varmamız için engel teşkil etmemeli, değer üretmemize yardımcı olmalı, kişilerin arasındaki etkileşimi bozmamalı. Önemli olan, bireylerin etkileşimlerini mümkün olan en yüksek noktaya taşımak, gerçekten takım olmak ve takım olarak iş çıkarmaktır.
Elbette ki yazılı iletişim kimi zamanlarda çok gereklidir ancak sözlü iletişim kurmanın, hatta yüzyüze iletişim kurmanın etkisi çok daha büyüktür. Günümüzde haberleşme imkanları o kadar gelişmiş olmasına rağmen, bazı konuları çözümlememiz için yeri geldiğinde atlayıp binlerce km öteye gittiğimiz olmuyor mu? Aynı şekilde kendi içimizde projeyi yürütürken de, neden kafamızı kaldırdığımızda görebildiğimiz takım arkadaşımızın yanına gidip 1 dk da derdimizi anlatmak yerine, mail atıp saatlerce gelecek cevabı bekliyoruz? Scrumda bu iletişim sorunlarının hangi toplantılarla nasıl ele alındığına bir göz atalım;
Günlük Scrum (Daily Scrum)
Proje ekibinin güne başlamadan önce bir araya gelip değerlendirme yaptığı toplantıdır. Bu toplantıda herkes sırayla bir gün önce ne yaptığını, o gün neler yapacağını, işini yapmaya bir engel var ise, onu iletir.
15 dk ile sınırlıdır. Önemli olan herkesin bu 3 konu çerçevesinde aktarımını yapmasıdır. Bu sayede ekipteki herkes birbirinin ne yaptığından ve ne yapacağından haberdar olur, koordinasyon sağlanır. Genellikle ayakta ve işlerin yazılı olduğu scrum tahtası önünde yapılır, bu sebeple “daily standup” da denir.
Sprint Planlama Toplantısı (Sprint Planning)
Her sprint, sprint planlama toplantısı ile başlar. Sprint süresi proje başında takımca belirlenmiş olup, planlama toplantısı her bir haftalık süre için 2 saat uzunluğundadır, yani 2 haftalık sprint için 4 saat süre ile sınırlıdır denebilir.
Bu toplantının amacı, sprintte hangi işlerin yapılacağını belirlemek, yapılacak işlerin de nasıl yapılacağını kararlaştırmaktır. Proje başında oluşturulan backlog dan product owner ın verdiği önceliğe göre hangi işlerin yapılacağı seçilir. Sonrasında ekip, bu işleri nasıl ve ne kadar sürede yapacağını belirler. Bunu yaparken planlama pokeri oynanır.
Özetle, ekibin her üyesine planlama poker kağıtları dağıtılır (gelişen teknoloji sayesinde bunun mobil uygulamaları da geliştirilmiştir, telefon üzerinden istenilen sayı kartı seçilebilir), bu kağıtlar üzerinde belirli bir oranda sürekli yükselerek artan sayılar vardır (2-3-5-8-13-20-40 gibi).
Ekip, yapılacak işin detay aktivitelerini çıkarır sonra sırayla puanlamaya açar. Her bir iş için ekip üyeleri kartlarını çeker. Biri 5 göstermişken diğeri 40 gösterebilir. Ekip bunun sebeplerini sorgulayarak ortak bir değerde mutabık kalır ve bu oyun, tüm işlerin tüm detay aktiviteleri bitene kadar devam eder.
Sprint Değerlendirme (Sprint Review)
Burada sprint sonunda yapılan işler tüm ekip tarafından değerlendirilir. Ekip, yapılan işleri product owner a sunar, o da yapılan işlerin çalışıp çalışmadığı, belirlenen kabul kriterlerine uyup uymadığını kontrol eder. Kabul edilen işlerin değerleri (story points) toplanarak, takımın o sprintte çıkardığı değer olarak kaydedilir.
Süre olarak her bir haftalık sprint için 1 saatlik süresi vardır.
Retrospektif
Bir nevi alınan dersler toplantısıdır. Normal klasik metodolojilerde proje sonlarında yapılan bu toplantı, scrumda her sprint sonunda yapılır ve şunlara odaklanır;
- Neyi yanlış yaptık, neyi yapmayı bırakmamız lazım
- Yapmamız gereken neleri yapmadık, yapmaya başlamamız lazım
- Neleri iyi yaptık, yapmaya devam etmemiz lazım
Bu toplantılarda amaç kim suçlu, kim değil i belirlemek değil, sürecin iyileştirilmesi ve ekibin veriminin yükseltilmesidir.
Yukarıda belirttiğim toplantılar, olmazsa olmaz toplantılardır. Proje takımı ihtiyaç duyduğu takdirde çeşitli zamanlarda grooming, mid review gibi toplantılar da planlayabilir.
Grooming'deki amaç, product owner tarafından, varsa yeni ihtiyaçları dinlemek ve bunları product backloga koymak, bu listedeki işleri önceliklendirip, ön analizini yapmaktır. Mid-review de ise, sprintin ortalarında, product ownerla toplanarak ihtiyaçların, yapılan ve yapılmakta olan işler üzerinden doğru anlaşılıp anlaşılmadığı kontrol edilir. Yanlış bir anlaşılma varsa bunun sprint sonunda ortaya çıkması yerine, sprint ortasında belirlenip, doğru yola girilmesi ve o yolda ilerlenmesi hedeflenmektedir.