Scrum Series 1: Scrum - Rugby Yaklaşımı

İlk yazım da Scrum metodolojisinin tanımı ve içeriği hakkında bilgiler vermeye çalışacağım.

Scrum, karmaşık ürünlerin geliştirilmesi ve sürdürülebilir kılınması için oluşturulmuş bir çerçevedir. Bir başka deyişle, ekibin üretkenliğini ve yaratıcılığını attırarak, mümkün olan en yüksek değerdeki ürünün üretilmesini sağlamak için oluşturulmuş bir proje yönetimi modelidir. Daha çok yazılım geliştirme projelerinde kullanılıyor olmasına rağmen, bir çok sektörde uygulamaları mevcuttur. Scrum anlaşılması basit, ancak uzmanlaşması çok zor bir modeldir.

Scrum'ın temelleri 80'li yıllara dayanmaktadır. Endüstride, ürün geliştirme metodolojilerinde kullanılmış ve başarısı kanıtlanmış pratiklerin bir araya getirilmesi ile oluşturulmuştur. Scrum, geleneksel yazılım geliştirme metodolojilerinde kullanılan Bayrak Yarışı Yaklaşımı yerine, Rugby Yaklaşımı üzerine kurulmuştur. Rugby Yaklaşımı, ismini Rugby oyunundan almaktadır. Rugby oyununda, oyuncular tek birim gibi hareket ederek, topu ileri-geri, sağa-sola hareketlerle topu ilerletmeye çalışırlar. Scrum tam olarak bu temel üzerine kurulmuştur. Scrum takımlarındaki bireyler de tek bir birim olarak hareket ederek, ürünü belirlenen zaman dilimlerinde, küçük küçük geliştirerek, bütün bir ürün haline getirmektedirler.

Scrum'ın ilk olarak ismiyle anılması 90'lı yıllarda gerçekleşmiştir. Jeff Sutherland ve Ken Schwaber, Scrum'ın kurucuları olarak anılmaktadır. Daha sonrasında Mike Beedle ve Mike Cohn'un katkıları ile günümüze kadar gelişerek gelmiştir.

Günümüzde dev olarak adlandırabileceğimiz bir çok bilişim firması bütün geliştirme yöntemlerini Scrum ile değiştirmeye başlamışlardır. Bu firmalara örnek olarak Microsoft, IBM, Google, Siemens vb. gösterilebilir. Türkiye'de de son zamanlarda Scrum metodolojisinin popülaritesi gitgide artmaktadır ve bir çok bilişim firması Scrum metodolojilerini kullanmaya başlamıştır. Bu firmalara örnek olarak Türk Telekom, Turkcell, Avea ve TAI vb. gösterilebilir.

Scrum deneyimsel bir süreç teorisine dayanmaktır. Tahmin edilebilirliği arttırmak ve risk unsurlarını en aza indirgemek için yinelemeli ve artımlı bir model önermektedir. Scrum üç temel prensip üzerine kurulmuştur. Bunlar:
  • Transparency (Şeffaflık): Süreç içerisinde gelişen bütün olaylar ve çıktılar, herkes tarafından görünebilir olmalıdır. Bu sayede ekip üyeleri arasında ortak bir dil oluşturulması sağlanır.
  • Inspection (Denetim): Sürecin doğru işleyip işlemediği sürekli olarak kontrol edilmelidir. Bu sayede doğru ve yanlış uygulanan pratikler ayırt edilebilmektedir.
  • Adaptation (Adaptasyon): Denetimler sonucunda uygulanan pratiklerin kabul edilebilir limitler dışarısına çıktığı belirlenirse, ya sürecin yada yapılan işin değiştirilmesi gerekir. Böylece sürekli olarak yenilenen ve iyileşen bir model oluşturulabilir.
Scrum çerçevesi, Scrum takımları ve takım bireylerine atanmış rollerden, belirli bir zaman içerisinde gerçekleştirilmesi gereken toplantılardan, süreç çıktılarından ve kurallardan oluşmaktadır. Scrum içerisinde tanımlı olan bu parçaların hepsi bir amaca hizmet etmektedir ve Scrum modelinin başarısı için önem arz etmektedir. Şimdi bu parçaların neler olduğuna kısaca bir göz atalım. (NOT: Bu parçaların isimlerini çeviri yapmadan kullanmanın daha yararlı olduğunu düşünüyorum)
Scrum Rolleri:
  • Product Owner: Geliştirilecek olan ürünün sahibidir. Ekip içerisinde müşteriyi temsil eder.
  • Scrum Master: Sürecin doğru uygulandığından emin olmakla sorumludur. Şirket yönetimini yönetmekle sorumludur.
  • Development Team: Süreç sonunda ortaya çıkarılacak ürünün geliştirilmesinden sorumludur.
Scrum Toplantıları:
  • Sprint Planning Toplantısı: Sprint-daha sonraki yazılarımızda detaylı olarak anlatmaya çalışacağız- 2-4 haftalık Scrum iterasyonlarını tanımlamaktadır. Bu toplantıda bu süre içerisinde yapılacak aktiviteler planlanmaktadır.
  • Daily Scrum Toplantısı: Günlük olarak takımın bir araya geldiği toplantıdır.
  • Sprint Review Toplantısı: Her sprint sonunda ekibin ortaya koyduğu ürünün değerlendirildiği toplantıdır.
  • Sprint Retrospective Toplantısı: Süreçle ilgili iyi veya kötü uygulanan aktivitelerin değerlendirildiği toplantıdır.
Scrum Çıktıları:
  • Product Backlog: Ürün özelliklerinin listesidir.
  • Sprint Backlog: Her sprint'te yapılacak olan görevlerin listesidir.
  • Burndown Chart: Sürecin gözlenmesini sağlar. Günlük bazda kalan iş miktarını gösterir.
Son olarak şunu söylemek gerekir ki, Scrum bir kültürdür. Daha önce de belirttiğimiz gibi Scrum anlaşılması kolay olsa da, uygulanması ve uzmanlaşması da bir o kadar zor bir süreçtir. Scrum metodolojisi uygulanmak isteniyorsa, kurumsal dönüşüm kaçınılmazdır.

Bir sonraki yazımızda (Scrum Series 2: Scrum Rolleri) Scrum Rollerinin detaylarına bakacağız.

Görüşmek üzere.

1 yorum: