Scrum Nedir?
Değişimin ivmesinin daha da arttığı günümüzde, üstesinden gelmeye çalıştığımız işlerde belirsiz süreçlerde sebep sonuç ilişkisini önden kurabilmek çoğu zaman mümkün olmuyor. Scrum, işte bu sebep sonuç ilişkilerini çok net kuramadığımız kompleks problemler karşısında adaptif çözümler ile değer yaratılabilmesini sağlayan, yalın bir çerçeve olarak karşımıza çıkıyor. Temelinde deneycilik ve kendi kendini yöneten takım bulunuyor.
İlgili Eğitimlerimize Hemen Göz Atın
Scrum Çerçevesi Nedir?
Agile pratiklerine ilk ihtiyaç duymaya başlayan ve bunlardan faydalanmaya başlayan takımların IT takımları olması, Scrum’ın sadece yazılım / IT takımları için olduğuna yönelik yaygın bir inanış oluşturuyor. Oysa günümüzde ürün geliştirme, süreç iyileştirme, donanım, yazılım, insan kaynakları, pazarlama, finans, kâr amacı gütmeyen organizasyonlar da dahil bir çok alanda Scrum çerçevesinden fayda elde edilmektedir. 2022’de yayınlanan 16. State of the Agile araştırmasına katılan her 10 kişiden neredeyse 9'u Scrum'dan yararlanmaktadır. Buna paralel olarak 2020’de gelen Scrum Kılavuzu güncellemesinde Scrum.org da tüm yazılıma yönelik ifadelerden kılavuzu arındırmış, kılavuzu çok daha kapsayıcı hale getirmiştir.
Scrum Çerçevesi, kısaca özetlemek gerekirse Scrum değerleri, sorumluluk alanları, etkinlikler ve taahhütlerden oluşur.
Sıklıkla Scrum Metodolojisi diye kullanılmasına rağmen doğru ifadesi bir çerçevedir. Çerçeve denmesinin sebebinin arkasında, kısa bir kılavuzun getirdiği esneklik ve organizasyonunuza uyarlanabilirlik yatar.
Scrum Takımı ve Sorumluluk Alanları (Roller)
Scrum Takımı tipik olarak 10 veya daha az kişiden oluşabilir. Scrum Takımı’nda bir Product Owner, bir Scrum Master ve Developers yer alır. Developers ifadesi yazılım geliştirici olarak algılanabiliyor ancak burada kastedilen sadece yazılım geliştiriciler değil. Takımın odaklandığı ürün, hizmet ya da projeyi hayata geçirebilmek için gerekli tüm uzmanlar Developers’ın parçası.
Scrum Kılavuzu 2020 güncellemesinde eskiden roller olarak atfedilen Product Owner, Scrum Master, Developers artık sorumluluk alanı (accountability) olarak ifade ediliyor. Sorumluluklar devredilemiyor ama yükümlülükleri (responsibility) paylaşarak hayata geçirebilmek mümkün.
Kısaca bahsetmek gerekirse:
Product Owner: Ürünün pazardaki başarısından ve değerinin optimizasyonundan sorumludur. Bu doğrultuda ürün vizyonu ve ürün hedefi ortaya koyarak buna hizmet edecek iş listesini anlaşılır, şeffaf hale getirmekten sorumludur. Özetle “Neden yapıyoruz?” Ve “Ne yapıyoruz?” Sorularının yanıtlarından sorumlu da denebilir.
Developers: “Nasıl yapıyoruz?” sorusunun yanıtından sorumludur. Her Sprint, Sprint hedefi doğrultusunda kaliteli ürün parçacığı üretir.
Scrum Master: Scrum Takımına, Organizasyona ve Product Owner’a karşı sorumlulukları vardır. Scrum Takımı’nın etkin, kendi kendini yöneterek değer üretebilen bir takım haline gelebilmesinden, organizasyonun Scrum’ı anlayabilmesi ve benimseyebilmesinden sorumludur.
Scrum Etkinlikleri
Scrum 5 etkinlikten oluşur: Sprint Planning, Daily Scrum, Sprint Retrospective, Sprint Review ve tüm bu etkinlikleri kapsayan Sprint.
Sprint, Scrum Kılavuzu’nda da Scrum’ın kalp atışı şeklinde nitelendirilen, maksimum 1 aylık düzenli, sabit ritmi belirtir, yani bir Sprint biter bitmez diğeri başlar. Diğer tüm etkinlikler Sprint içinde gerçekleşir.
Sprint, Product Owner’ın aklında bir hayal ile gelerek takıma Neden bu Sprint’i koştuğumuzu, bunun neden önemli olduğunu ve bu kapsamda neler yapabileceğini aktardığı ve tüm Scrum Takımı olarak birlikte bir Sprint Hedefi ve Sprint İş Listesi oluşturdukları Sprint Planning etkinliği ile başlar.
Developers, Sprint Planning’te belirlenen Sprint Hedefi’ne koşabilmek için günlük planlarını nasıl adapte edebileceklerini her gün Daily Scrum etkinliğinde konuşurlar ve önündeki 24 saat için yeniden plan yaparlar.
Sprint’in sonunda, Sprint Review’da paydaşların da katılımı ile Sprint boyunca üretilen ürün parçacığı (Increment) deneyimlenir, güncel pazar koşulları gözden geçirilir, geri bildirim alınır ve bu veriler ışığında Ürün İş Listesi (Product Backlog) adapte edilir.
Son etkinlik olan Sprint Retrospective’de ise Scrum takımı ürün parçacığı oluşturmak için birlikte çalışırlarken nasıl daha etkin bir takım olabileceğini, süreçlerini, araçlarını, çalışma dinamiklerini, davranışlarını… vb. Masaya yatırır ve iyileşme aksiyonlarını belirler.
Scrum Uygulamanın Faydaları
Scrum takımı bu mekanikleri işletirken Scrum Değerleri’ni (Odaklılık, Açıklık, Cesaret, Adanmışlık, Saygı) yaşatabilirse Scrum’dan asıl faydayı o zaman elde edebilir. Elbette mekanikler de takıma ciddi faydalar getiriyor ancak bir örnek vermek gerekirse Açıklığın olmadığı bir takımda Sprint Retrospective’den elde edilen katkı çok kısıtlı kalacağı söylenebilir.
Scrum’ın öne çıkan faydaları aşağıdaki gibi özetlenebilir:
Belirsizliği yönetmek: Değişimin ivmesinin daha da arttığı günümüzde üstesinden gelmeye çalıştığımız işlerde belirsiz süreçlerde sebep sonuç ilişkisini önden kurabilmek çoğu
Hızlı değer teslimatı: Scrum, değer üretimine disiplinli bir yaklaşım getiriyor. Maksimum bir ay süren kısa Sprintler içinde farklı uzmanlıklardan oluşan takım sayesinde müşteriye ürün vizyonunuzla ilişkili bir değer üretmenizi sağlıyor. Bu değer sayesinde elde edilen geri bildirim neticesinde daha çok veri ile müşteri odağında bir sonraki adımınızı planlamanızı kolaylaştırıyor.
Kalite odağı: Bitti Tanımı (Definition of Done) ile biten işten herkesin aynı şeyi anlayabilmesi için şeffaflık getiriyor. Bu doğrultuda kaliteyi bir standart / sabit haline getirerek, kaliteden ödün vermeden, Sprint kapasitesine göre kapsamı esnek yöneterek değer üretme şeklinde bir paradigma değişimi getiriyor.
Sürekli iyileşme kültürü: Scrum’ın yaratıcılarından Ken Schwaber “Scrum kayınvalideniz gibidir, tüm kusurlarınızı işaret eder.” diyerek Scrum’ın getirdiği şeffaflığa dikkat çekiyor. Bu şeffaflıkla problemler görünür ve daha da rahatsız eder hale geldiğinden bu problemleri çözme konusunda işe koyulma refleksini güçlendiriyor. İçinde barındırdığı Sprint Retrospective etkinliği ile Sprint içinde minimum bir kez sürekli iyileşme gözlüğü ile bakma ritmini hayatımıza getiriyor.
Yazılım Geliştirmede Scrum Neden Önemlidir?
Scrum, yazılım geliştirmede olduğu gibi diğer iş alanlarında da geleneksel iş yapış biçiminde en çok dertlendiğimiz değişen gereksinimlerin yönetimini kolaylaştırabilmek açısından önemlidir. En başta uzun dönem planlar yaparak, tüm ihtiyaçları varsaymak ve bunu sabitleyerek gitmek yerine, küçük adımlarla, Sprint’lerde odak yaratarak, ilk Sprint’ten itibaren değer üretme disiplini yaratarak üretkenliği geliştirir. Aynı zamanda erken değer teslimatı, varsayımları doğrulayarak ve gerekirse müşteri odağı doğrultusunda adapte ederek gitmeyi sağlar. Bu da müşteri memnuniyetinde görülür etkiler ortaya çıkarır. Değişen gereksinimlere uyarlanabilmek ve riskleri yönetebilmek daha kolay hale gelir.
Yorumlar