Sprint Nedir? ve Bir Sprint'in İptal Edilmesi - Burak Avcıoğlu - Teknoloji, Ekonomi, Yazılım Test Otomasyon ve DevOps
Sprint Nedir? ve Bir Sprint'in İptal Edilmesi
Sprint 1 ay veya 2 haftalık süreli Time-Box'ı olan, içerisinde Definition of Done kriterlerini geçip Done olan ve potansiyel olarak yayınlanabilir bir Increment'in oluştuğu sürecin adına denir. Sprint'lerin süresi sabittir ve önceki Sprint biter bitmez bir sonraki başlar.
Burada ek olarak şunu diyebilirim. 2 haftalık Sprint koşmak bazen yorucu olabiliyor. Özellikle 2. haftanın sonu benim için daha yorgun bir gün olabiliyor. Her Sprint'in başlangıcı ve sonu yeni bir tempo, yeni bir plan ve yeniden başlangıç gibidir. Buna ayak uydurmanız ve bu kültüre adapte olmanız biraz zaman alabilir. Fakat işleri planlamak ve ufak parçalara bölerek görünür halde iş çıkarmak Scrum'ın en iyi durumlarından biridir.
Sprintler; Sprint Planning, Daily Scrum, Geliştirme Çalışması, Sprint Review ve Sprint Retrospective'den oluşur.
Sprint boyunca Sprint kapsamını ve Sprint Goal'ü tehlikeye sokacak hiçbir değişilik yapılmaz. Kalite hedefleri asla düşmez ve düşmemelidir. Sadece Done olması için PBI Done yapılmamalıdır, kaliteli yazılım çıkarmak önemlidir. PBI'ın Done olması kadar bir başka önemli nokta ise o ürün gerçekten Done seviyesin demi bunu kendinize önce sormanız ve inanmanız lazımdır.
Sprint'ler maksimum bir ay ile sınırlıdır. Sprint'in süresi çok uzun olursa üretilecek ürünün tanımı değişebilir, karmaşıklık ve risk paralelinde artabilir. Sprint'ler sayesinde çalışan yazılımın şeffaf bir şekilde sürekli gözlemlenmesi ile öngörülebilirlik artar.
Bir Sprint'in İptal Edilmesi
Bir Sprint Time-Box süresini doldurmadan da iptal edilebilir. Sadece Product Owner Sprint'i iptal etme yetkisine sahiptir. Development Team, Paydaşlar veya Scrum Master, Product Owner'ı bu kararı alması yönünde etkileyebilir.
Bir Sprint eğer hedefine yani Sprint Goal'a ulaşma amacını ve anlamını kaybettiğinde iptal edilebilir. Bu durum çok nadirde olsa genelde kurum yön değiştirdiğinde, çalışılan proje iptal olduğunda, pazar ve teknoloji koşulları değiştiğinde, mimari bazda önemli bir değişikliğe gidilince tüm yapının değişmesi gibi koşullar oluşunca Sprint iptal etme söz konusu olabilir. Burada Sprint Goal yapılamadı o zaman Sprint iptal mi cevabı yanlıştır ve bu case çok karıştırılabilir. Sprint Goal'ün artık bir amacı yoksa Sprint iptal edilir. Örnekle siz 3 aylık bir proje aldınız ve projenin yarısında 4. Sprint koşarken projenin iptal olduğu bilgisi geldi, işte bu durumda Sprint iptal edilip başka işler alınıp onlar üzerinden Scrum devam eder.
Bir Sprint iptal edildiğinde, Done durumundaki PBI'lar gözden geçirilir. Eğer yapılan ürünün bir kısmı yayınlanma potansiyeline sahipse, Product Owner bunu genellikle kabul eder. Bitmemiş PBI'lar yeniden tahmin edilerek Product Backlog'a geri konulur. Bunun yapılmasının sebebi ise; yarım kalan çalışmalar hızla değer kaybedebilir, dolayısıyla yeniden tahmin edilmelidir.
Sprint iptali çok nadir gerçekleşen bir durumdur. Takımın eforunu fazlasıyla tüketir, çünkü yeniden planlama yapıp yeni bir Sprint başlatması gerekir.