Scrum
Scrum, karmaşık ürün geliştirme çalışmalarında değer üretimini artırmak için kullanılan çevik bir çerçevedir. Scrum bir toplantı ya da proje yönetim yöntemi değil; ekiplerin empirik süreç kontrolü ile çalışmasını sağlayan bir ürün geliştirme yaklaşımıdır. Scrum, belirsizlik içeren ortamlarda küçük adımlarla ilerlemeyi, sık geri bildirim almayı ve sürekli iyileştirmeyi teşvik eder.
Scrum, şeffaflık, gözlemleme ve uyarlama olmak üzere empirik süreç kontrolünün üç temel direğine dayanır. Ayrıca bağlılık, odak, açıklık, saygı ve cesaret gibi değerlere sahiptir.
Yazılım geliştirme, mühendislik, insan kaynakları, pazarlama ve tasarım gibi birçok ekip Scrum’dan faydalanabilir. Özellikle yazılım ve teknoloji ekiplerinde yaygın olarak kullanılır. Bu doğrultuda Softtech de Agile ve Scrum metodolojilerini aktif şekilde benimseyen, ekiplerinin çevik çalışma kültürüyle daha hızlı, daha verimli ve müşteri odaklı çözümler üretmesini sağlayan Türkiye’nin lider teknoloji şirketlerinden biridir.
Scrum Yapıtları (Artifacts)
Scrum ekiplerinin planlama ve ilerlemeyi yönetmek için kullandığı üç yapıt vardır:
- Product Backlog (Ürün İş Listesi): Ürüne değer katacak tüm işlerin sıralı ve sürekli gelişen listesidir.
- Sprint Backlog (Sprint İş Listesi): Sprint Hedefi, Sprint için seçilen Product Backlog öğeleri ve geliştirme ekibinin bu işleri tamamlama planından oluşur.
- Increment (Ürün Parçası): Sprint boyunca tamamlanan işlerin, önceki increment’lerle birleşmiş hâlidir. Her increment potansiyel olarak kullanılabilir durumda olmalıdır.
Scrum Ekibinde Yer Alan Roller Nelerdir?
Scrum ekibi üç rolden oluşur: Product Owner, Scrum Master ve Geliştiriciler. Ekip kendi kendini yönetir ve çapraz fonksiyoneldir.
Product Owner: Product Owner, Scrum takımının ortaya çıkardığı ürünün değerini maksimize eden, bunun nasıl yapılacağını düşünen, çalışma sonunda ortaya nasıl bir ürün çıkacağına ve bu ürünün hangi özelliklere sahip olacağına karar veren kişidir. Yani kısaca ürünün değerini belirler, ürünün ihtiyacı olan ve ileride olacak tüm ihtiyaçların yer aldığı ürün backlogunu (product backlog) yönetir.
Product Owner’ın rol ve sorumlulukları şunlardır:
- Ürün hedefini açıkça belirlemek,
- Ürünün özelliklerini açıkça belirlemek,
- İş listesini oluşturmak ve ögeleri belirlemek,
- İş listesini takip etmek,
- İşin değerinin sürekli artmasını sağlamak
Scrum Master: Scrum Master, Scrum kılavuzunda tanımlandığı şekilde Scrum’ın doğru anlaşılması ve uygulanmasını sağlar.
Ayrıca Scrum Master şunlardan sorumludur:
- Scrum takımının etkinliklerini düzenleme,
- Etkinliklerin zamanında bitirilmesini sağlama,
- Scrum takımının ilerlemesinin önündeki engellerin kaldırılmasını sağlama,
- Scrum'ın benimsenmesinde organizasyona liderlik etme, eğitme ve ekibe koçluk yapma,
- Scrum uygulamalarını planlama,
- Cesaret, odaklanma, bağlılık, saygı ve açıklık gibi Scrum değerlerinin korunmasını sağlama
Geliştirici Ekibi: Geliştiriciler, Sprint’ler boyunca bir ürün ya da ürün özelliği için Product Owner tarafından belirlenmiş işleri üstlenir ve bunu Sprint sonuna kadar gerçekleştirir. Geliştiricilerin sorumlulukları şunlardır:
- Sprint listesi için bir plan oluşturma
- Sprint’i zamanında tamamlama
- Planlarını Sprint hedefine göre uyarlama
- Sprint Hedefine ulaşmak için işlerini uyarlamak
- Kaliteli bir increment üretmek.
Scrum Etkinlikleri
Sprint
Sprint’ler diğer tüm etkinlikler için kapsayıcıdır. Sprint, bir ay veya daha kısa süreli, bir işin tamamlandığını gösteren zaman dönemleridir. Bir Sprint tamamlandıktan sonra yeni bir Sprint başlar.
Sprint planlama, günlük Scrum’lar, Sprint inceleme ve Sprint retrospektifi gibi diğer tüm çalışmaları kapsar. Sprint süreleri genellikle 2 veya 4 hafta üzerinde değişmektedir. Bu süre uzadığında karmaşıklık olabilir ve riskler artabilir. Bu nedenle de maliyeti azaltmak ve riskleri ortadan kaldırmak için daha kısa süreli Sprint’ler kullanılır.
Sprint Planlama
Sprint planlama, Sprint için yapılacak işi belirleyen, işin nasıl başarılacağını anlatan, Sprint’i başlatan olaylardır. Sprint ile neler yapılabileceği Product Owner, geliştirme takımı ve Scrum Master tarafından konuşulur. Görevler geliştirme takımı tarafından küçük parçalara ayrılırlar.
Günlük Scrum
Günlük Scrum, her bir ekip üyesinin hangi aşamada olduğunu söylediği en fazla 15 dakika süren iletişim toplantısıdır. Günlük Scrum’ın amacı, Sprint hedefine doğru ilerlemeyi ve iş listesinde ne durumda olunduğunu incelemektir.
Genellikle her gün, aynı saatte ve yerde yapılır. Her gün yapıldığı için iletişimi güçlendirir, riskleri azaltır ve uzun toplantıları ortadan kaldırır.
Sprint İncelemesi
Sprint incelemesi, her Sprint sonunda yapılan, Sprit’lerin gözden geçirilmesini sağlayan değerlendirmelerdir. Sprint incelemesinin amacı ürün üzerinde yapılan işi incelemek ve bir sonraki adımları iş birliği içinde belirlemektir.
Sprint Retrospective
Sprint Retrospektif, son Sprint’in nasıl geçtiğini değerlendiren, Sprint sırasında neyin iyi gittiği, hangi problemlerle karşılaşıldığı ve bu problemlerin nasıl çözüldüğü üzerine yapılan toplantılardır. Yani amacı, kaliteyi artırmanın yollarını planlamaktır. Bu toplantılara geliştirme ekibi ve Scrum Master katılır.
Scrum Uygulamanın Faydaları Nelerdir?
Scrum yaklaşımı genellikle birçok fayda sağlar. Scrum'ın faydalarını gerçekleştirmek için Scrum takım üyeleri görevini düzgün bir şekilde yerine getirmelidir. Peki Scrum kullanmanın faydaları tam olarak nelerdir?
- Yüksek kalite: Scrum metodunda test etme ve sürüm kontrolü olduğu için hatalar erkenden tespit edilir ve oluşan hatalar ortadan kaldırılır. Bu test ne kadar erken başlarsa, sorunları bulmak ve düzeltmek o kadar kolay olur. Böylece yüksek kaliteli ve istikrarlı bir ürün üretilmiş olur.
- Düşük maliyetler: Scrum metodunun uygulanması ile beraber verimlilik artar, istenmeyen sorunlar büyümeyeceği için projenin maliyeti de aynı ölçüde azalmış olur.
- Daha az risk: Scrum'ın sağladığı yararlardan biri de riskin azaltılmasıdır. Scrum, koordineli ekipler, değişimlere karşı esneklik ve sürekli geri bildirim gibi özellikleriyle riskleri azaltma fırsatı sunar.
- Değişime hızlı uyum: Scrum'ın önemli bir faydası değişikliğe hızlıca yanıt verebilmesidir.
- Takım bütünlüğü: Scrum’da ekipler koordineli bir şekilde çalışırlar.
- Üretken Scrum ekipleri: Scrum’da kendi kendini yöneten ve organize eden ekipler bulunur. Destek ve güven ortamı oluşturarak ekiplerin genel motivasyonunu yükseltir.
- Zamanında teslimat: İyi tanımlanmış Sprint’ler, adımları doğru bir şekilde takip etmeyi sağlar. Bu da ürünün gecikme olmadan, zamanında teslim edilmesine yardımcı olur.
Scrum Eğitimi
Scrum ve Agile kullanıcılarının katıldığı eğitimlere Scrum eğitimi denir. Scrum eğitimleri seviyelerine göre ayrılmaktadır. Scrum hakkında çok çeşitli kitap, online Scrum dersleri ve videolar mevcuttur. Scrum sertifikası veren kurumlar da bulunmaktadır. Eğitimde Scrum takımı, Product Backlog, Sprint ve Sprint planlama, Scrum rolleri, Scrum toplantıları gibi konulardan bahsedilir.