Agile ve Scrum nedir? Agile, bir çalışma kültürüdür. Ana fikri, müşteri talebini minimum hata ile hızlı bir şekilde karşılamaktır. Özünde, az az ama sık sık mentalitesini yatar. Çevik ismini de bu mentaliteden alır. Dinamik bir çevrede adım adım ilerlerken süregelen şartlara sürekli adapte olunmasıdır.
Bir Agile çalışma yöntemi olan Scrum’ın yaratıcılarının kitabından örnek verelim:
Yukarıdaki örnek aynanda birçok işe “koşturmanın” bedelidir. Sürekli kendini güncelleyen bir zaman içerisinde yaşıyoruz. Aslında bu anlayışı diyet planıyla benzetebiliriz. Önünüzdeki yemeği önce küçük parçalara ayırmanız gerekir. Ne kadar küçük parçalara ayırırsanız o kadar kolay ve tüketimi sağlıklı olur. Yemeğinizi yerken herhangi başka bir şey yapmamalısınız, dikkatiniz sadece yemekte olmalı. Aksi takdirde bu sizi doymama, yemeğinizin süresinin uzamasına neden olur. Aynı şekilde yemek yerken, bir sulu, bir katı ve bir de tatlıdan dilim dilim yememelisiniz. Sıvıdan katıya doğru tüketmelisiniz. Yani önce çorbanızı, sonra adım adım diğer yemeklere geçmelisiniz.
Agile genel çerçevedir. Bu işin bakış açısı ve felsefesidir. Bu felsefenin pratiğe döküldüğü özgün çerçevelerden birinin adı scrum’dır. Bunun üzerinden devam edelim.
Scrum, kısaca işi halletme yöntemidir. Bir başka deyiş ile scrum ampirik bir yaklaşımdır. Bilginin, deneyimden geldiğini ve kararların gözlemlere dayalı olarak alınması gerektiğini söyler. Takımların deneyimlerden öğrenmesi ve kendi kendilerini organize etmesi metodun temelinde yatar. Yönetim bağlamından düşündüğünüzde de işleri parçaladığımız gibi geniş ve katı hiyerarşik yapılar da parçalanır. İş bir takıma verilir ve bu takımda roller belirlenir. Sonrasında takım sürekli iletişim halinde kalarak önündeki tabağı yukarıda tarif edildiği şekilde bitirmeye çalışır.
Roller
Ürün Sahibi
Ürün sahibi, adından da anlaşılacağı üzere “alfa”dır. Gereksinimleri ve işi geniş plandan görür. Müşterileri, pazarı ve iş geliştirmeyi sürekli olarak takip eder. İşlerin önceliklendirmesini yapar.
- İş yükünü planlar ve dağıtır.
- Planlamanın doğru anlaşılması için ekip ile sürekli olarak yakın temasta bulunur.
- Öncekliklendirmeleri ile ekibe bir sonraki adımdaki özellikler ve gereksinimler konusunda rehberlik yapar.
Ürün sahibinin ortaya çıkartmak istedikleri kazanımı en doğru şekilde ve zamanda çıkartmaktan sorumludur. Geliştirme planını o belirler. Ürün sahibi tek kişidir, asla birden fazla kişi ürün sahibi olamaz.
Scrum Ustası
Scrum ustası, geliştirici takım ve ürün sahibi arasında aracı görevi üstlenir. Takımın ve çalışmanın ince ayarını yapar. Takım ile sürekli iletişim halinde kalarak iş yüklerini denetler. Takıma ve işe koçluk yapar.
Etkili bir scrum ustası, yapılan işin nedenini ve sonuçta neye ulaşılmak istendiğini anlar. Büyük resime hakimdir. Geliştirmenin optimal seviye olması için toplantılar ve planlamalar yapar. Bu toplantıların özel isimleri vardır fakat o kısıma daha sonra çalışma disiplini başlığı altında değineceğiz.
Geliştirici Takım
Scrum’ın işi halletme yöntemi olduğunu söylemiştik. İşi halledenler geliştirici takımdır. Geliştirici ekipler birbiriyle sürekli iletişim halinde olan, şeffaf ve aynı yerde bulunan genellikle 5 veya 7 kişilik ekiplerdir. Yine yemek üzerinden örnek verecek olursak, Jeff Bezos’un dediği gibi; ekip 2 pizzayı paylaşacak kadar küçük olmalıdır. Bu tanım scrumın temel mantığını da uygundur.
Ekip, çapraz yetenek setlerine sahiptir. Farklı yetenekler bir işi çıkartmak üzere kolabrasyon yaparlar. Birbirine öğretir ve öğrenirler. Kendi planlamalarını yaparlar ve işin teslim süresinde pazarlığın bir tarafıdır.
Çıktı ürün odaklıdır. Ben doğrusunu yaptım fakat o yapmadı yaklaşımı yoktur. Ortaya çıkan ürün üzerinden performans değerlendirilir. Tabi ki kişilerin de başarısı ve çalışması scrum ustası ve ürün sahibi tarafından göz önünde bulundurulur.
İş yükünün süresi ve nasıl yapılacağı onlara kalmıştır. Tabi ki ürün sahibi, nihai bir tarih ortaya koyar. Ancak, işin nasıl halledileceğinin planlanması ve yönetilmesi daha çok takımın üstündedir. Geçmiş tecrübelerinden yararlanarak işi tamamlayabileceklerine inandıkları süreyi tahmin ederek planlama yaparlar.
Scrum’ın uygulanmasında temel, süreci şeffaf, ölçülebilir ve iyileştirilebilir kılmaktır. Bu nedenle Scrum, belirli “olaylar” (events) ve “artefaktlar” (artefacts) etrafında şekillenir. Bu yapı, işin küçük parçalara bölünmesi ve bu parçaların kısa zaman dilimlerinde tamamlanmasını sağlar. Böylece hem müşteri geri bildirimi erken alınır hem de değişen şartlara hızlı uyum sağlanır.
Scrum Olayları (Events)
Scrum’da işin akışını sağlayan dört temel toplantı vardır:
-
Sprint Planning (Sprint Planlama): Takım, bir sonraki sprintte yapılacak işleri seçer ve bunları nasıl tamamlayacağını planlar. Ürün sahibi, öncelikleri ve hedefleri paylaşır, geliştirici ekip ise kapasiteye göre iş yükünü taahhüt eder.
-
Daily Scrum (Günlük Scrum): Genellikle 15 dakikalık ayakta yapılan bu toplantıda ekip üyeleri dün ne yaptığını, bugün ne yapacağını ve karşılaştığı engelleri paylaşır. Amaç, eşgüdümü artırmak ve sorunları erken fark etmektir.
-
Sprint Review (Sprint Gözden Geçirme): Sprint sonunda yapılan bu oturumda ekip, tamamlanan işleri gösterir. Ürün sahibi, işin gereksinimlere uygunluğunu değerlendirir, müşteri veya paydaşlardan geri bildirim alınır.
-
Sprint Retrospective (Sprint Retrospektifi): Takım, sprint sürecini değerlendirir; nelerin iyi gittiğini, nelerin geliştirilebileceğini konuşur ve sonraki sprintler için aksiyonlar belirler.
Scrum Artefaktları (Artefacts)
Scrum’da yapılan işi tanımlayan ve süreci şeffaflaştıran üç temel çıktı vardır:
-
Product Backlog: Ürün sahibinin yönettiği, ürünle ilgili tüm gereksinimlerin ve özelliklerin listesi. Sürekli güncellenir, öncelik sırası iş değeri ve müşteri ihtiyacına göre değişir.
-
Sprint Backlog: Sadece ilgili sprintte yapılacak işlerin listesi. Geliştirici ekip tarafından belirlenir ve sprint boyunca güncellenir.
-
Increment (Artış): Sprint sonunda ortaya çıkan, potansiyel olarak teslim edilebilir ürün veya özellikler bütünüdür.
Scrum’ın Faydaları
-
Erken Geri Bildirim: İş küçük parçalar hâlinde sunulduğu için müşteri geri bildirimi hızla alınır ve sonraki adımlar buna göre şekillenir.
-
Yüksek Adaptasyon: Değişen öncelikler veya şartlar sürece hızlı entegre edilebilir.
-
Şeffaflık ve Ölçülebilirlik: Herkes işin durumunu, hedefleri ve ilerlemeyi bilir.
-
Ekip Motivasyonu: Takım kendi planını yapar, sorumluluğu üstlenir ve başarıyı kolektif şekilde paylaşır.
Scrum ve Agile İlişkisi
Agile, bir felsefe ve kültürdür; Scrum ise bu felsefeyi pratiğe döken popüler bir çerçevedir. Agile’ın “müşteriye hızlı değer sunma” yaklaşımı, Scrum’da sprintlerle, sürekli iletişimle ve iteratif geliştirmeyle uygulanır. Bu nedenle Scrum, Agile prensiplerini sahada hayata geçiren en yaygın yöntemlerden biridir.
Sonuç
Scrum, özellikle karmaşık ve belirsiz ortamlarda, öğrenerek ilerleme prensibiyle güçlü bir çözüm sunar. Doğru uygulandığında, hem müşteri memnuniyetini hem de ekip verimliliğini artırır. Ancak Scrum’ı sadece bir “yöntem” olarak görmek hatalıdır; bu, aynı zamanda bir zihniyet dönüşümüdür. Roller net tanımlanmalı, süreçler disiplinle uygulanmalı ve ekip içi güven ortamı sağlanmalıdır. Bu koşullar yerine getirildiğinde, Scrum yalnızca bir proje yönetim yaklaşımı olmaktan çıkar, organizasyonun kültürünün bir parçası hâline gelir.