Scrum Nedir?
Son zamanlarda şirketlerin hızla scruma geçtiğini scrum masterlar, product ownerlar aradığını duymuşsunuzdur. Peki nedir bu scrum gelin detaylarına bakalım…
İnsanların mümkün olan en yüksek değere sahip ürünleri üretirken karmaşık sorunlara çözüm üretmesidir. Scrum bir süreç, teknik veya yöntem değildir. İçinde süreçleri ve tanımları kullanabileceğiniz biz çerçevedir. Scrum ürününüzü sürekli iyileştirme fırsatı sunar. Scrum çerçevesi; takımları, rolleri ve ürünü kapsar.
Scrum aklınıza gelebilecek her şeyi geliştirmek/iyileştirmek için kullanılabilir. Scrumın özü küçük takımlardır ve her bir takım kendi kendini yönetir. Fakat takımlar da iş birliği yapıp birlikte çalışırlar. Scrumda her katılımcının ortak dili konuşması önemlidir. İş yapanlar işin sonunda ortak bir “DONE” tanımına sahip olmalıdır. Scrumda en önemli nokta gözlem yapmaktır. İstenmeyen saptamaların tespiti için sürekli gözlem yapılması gerekmektedir. Scrum bu doğrultuda 4 toplantıyı zorunlu kılar;
- Sprint planlama (Sprint Planning)
- Günlük scrum (Daily Scrum)
- Sprint değerlendirme (Sprint Review)
- Sprint retrospektifi (Sprint Retrospective)
Scrum takımındaki her bir birey takımın hedeflerine odaklanmalıdır.
Scrum takımı; product owner, development, ve scrum masterdan oluşmaktadır. Scrum takımları kendi kendini yönetir ve çapraz fonksiyonludur. Product owner işin sonunda oluşan ürünü en üst seviyeye çıkarmaktan sorumludur. Geliştirilen ürünün özelliklerini iteratif yöntemle sürekli artırmalıdır. Sorumluluk her zaman product ownerdadır. Product ownerın iş listesine sahiptir ve başka hiç kimse development ekibini başka işler için zorlayamaz (Tabi bunun ne kadar uygulanabildiği sorgulanmalı.)
Geliştirme takımları çapraz fonksiyonludur yani iş parçalara bölünür ve her bir parça birbiriyle bağlanmalıdır. Geliştirme takımının içinde başka uzmanlıklara yer verilmez. Test, mimari,operasyon veya iş analizi gibi özel uzmanlıklar bulunmaz. Günümüzde en büyük hatalardan birisi de scrum kullanıyoruz demek için değişime giden firmaların bu noktayı atlamalarıdır.
Scrum master takımları destekleme ve teşviketmeden sorumludur. Sorumlulukları ve kuralları belirler değerlendirir. Scrum master product owner a kapsamı anlatmakta, çevikliği anlamak ve uygulamada destek olur. Geliştirme ekibine çıkan zorluklara çözüm üretmek, ihtiyaç duyulan etkinlikleri yönetmek, koçluk etmekten sorumludur.
Scrum etkinlikleri
Scrumın asıl amacı uzun toplantı sürelerini en aza indirmektir. Sprint süresi sabittir kısaltılamaz ve uzatılamaz. Süre kontrolleri scrum master ın kontrolünde olmalıdır. Bir sprint bittiğinde ardından diğer sprint başlar. Sprintler; sprint planlama, günlük scrumlar, sprint değerlendirme retrospektiflerden oluşur. Sprint boyunca hedeften değişiklik yapılamaz, kalite düşürülemez. Her sprintler en fazla 1 ay ile sınırlandırılır. Daha uzun süren sprintler sistemi karmaşıklaştıracağı için risk oluşturacaktır. Sprinti sadece ürün sahibi iptal edebilir. Sprint hedefinden uzaklaştığı zaman iptal edilebilir.
Her sprint bir planlama toplantısı ile başlar. Tüm scrum takımı planı birlikte oluşturur. Planlama toplantısının sonunda ürün parçası ne olacak ve iş nasıl başarılacak sorularının cevabı olmalıdır. Sprint hedefi sadece geliştirilecek ürüne odaklanmaktır.
Sprint planlandıktan sonra günlük scrumlar planlanır. Her gün 15 dk takımlar toplanır ve işler gözlemlenerek iyileştirilir. Geliştirmeyle ilgili dün ne yapıldığı ve bugün ne yapılacağı konuşulur.
Planlanan sprintin süresi dolduğunda sprint değerlendirme ile devam edilir. Her sprintin sonunda ortaya çıkarılan ürün değerlendirilir. Bu toplantıda bütün paydaşlar bir araya getirilir. Sprint değerlendirmenin sonunda güncellenmiş bir iş listesi elde edilir.
Sprint retrospektifi takımların kendini gözlemlemesi ve bir sonraki sprintte nelerin iyileştirileceği konusunun ele alınması için iyi bir fırsattır. Retrospektif değerlendirmeden sonra planlamadan önce yapılmalıdır. Sprintin “DONE” yapılması için standartlar getirilmeli ve bu standartlar kontrol edilmelidir. Birden fazla scrum takımı bulunan şirketlerde aynı sistem için “DONE” konusunda ortak paydada buluşmalıdır. Ürün parçaları birleştirilir ve bütünleştirilmiş sistemin testleri yapılır.
Unutmamalıdır ki her şirketin süreci ve ürünü farklıdır. Sırf popülerliği sebebi ile şirketlerin “Bizde scrum yapıyoruz” demelerinden öte öncelikle kendi ürünlerine ve süreçlerine uyumluluğu araştırılmalıdır.