Scrum Nedir? Scrum Rollerini Tanıyalım

Makaleyi e-kitap olarak okumak için tıklayın.

Scrum Nedir? Scrum Rollerini Tanıyalım

Bilişim sektöründe hizmet veren ya da yazılım ürünleri satan bir firmaysanız, yaptığınız projeler ne büyüklükte olursa olsun iyi bir ekip kurmak sizin en temel ihtiyacınızdır. Sektör bağımsız benimseyip uyarlamak mümkün olsa da eğer yazılım sistemleri geliştiren bir ekibiniz varsa mutlaka Agile ve Scrum hakkında birkaç fikriniz vardır. Birlikte önce scrum sonra da scrum rollerini daha yakından tanıyalım. 

Scrum nedir? Scrum Teorisi neler anlatır? 

Scrum, agile ekipleri arasında en yaygın kullanılan yapıdır. Agile, karmaşık işleri / projeleri yönetmek ve organize etmek için bazı temel değerler ve kurallar tanımlar. Bir düşünce tarzı olarak bahsedebileceğimiz agile karşısında scrum, biraz daha katı kuralları olan bir proje yönetim prensibidir diyebiliriz. 

Scrum teorisi 3 temel değere dayanır; 

  • Şeffaflık : Ekip, scrum boyunca uğruna çalıştığı ürünün mevcut durumunu görebilmeli.
  • Denetleme : Herkesi aynı noktada tutabilmenin tek yolu sık sık kontrol noktalarında soluklanmaktır.
  • Adaptasyon : Ekipten biri dahi sprint planından saptığında planda en hızlı şekilde yeniden düzenlemeler yapılmalıdır. 

Scrum kendi içinde sık sık tekrar eden ve bunu bir öncekinden hareketle her seferinde daha iyi yapan bir süreçtir. Her tekrar, kendi içinde iyileştirecek bir şeyler bularak ve uygulayarak bir sonrakine geçişi hedefler. Geliştirici ekipler, müşterinin talep ettiği özellikleri ortaya çıkarmak için küçük planları doğru bir şekilde tamamlayarak ilerler. 

Scrum uygulamanın faydaları nelerdir? 

Ekip içi iletişimi iyileştirmek, ekibin birlikte çalışmasını kolaylaştırmak, ortaya daha verimli sonuçların çıkmasını sağlamak ve odaklanmayı arttırmak için pek çok ekip lideri scrum uygulama yoluna gider. Scrum uygulamak ekiplere esneklik sağlar. Bu sayede, mükemmel hazırlanmış planlar paralelinde gerçek dünyanın getirdiği zorunlu değişimlere çok daha hızlı adapte olup en yüksek verimlilikle çalışmaya devam etmek mümkün olur. 

Scrum kullanan takımlar, projenin içerdiği tüm adımların herkes için eşit derecede görünür olmasını sağlar. Bu sayede bilgi herkese eşit dağılır ve herkes aynı noktada düşünebilir. Genellikle satış sorumlusu, müşteri temsilcisi gibi işin işletme tarafında olan kişiler ile teknik ekipler bambaşka diller konuşur. Bu sebepten doğan bilgi eksiklikleri iletişimin oldukça zorlayıcı bir hale gelmesine sebep olabilir. Scrum tüm bu proje ortaklarının aynı dilden konuşabilmesini sağlar. 

Scrum uygulamakla beraber ekibin sahip olduğu verimlilik arttıkça, projelerle ilgili finansal geri dönüşler de benzer şekilde artışa geçer. Ürünlerinizi belirlediğiniz tarihlerde pazara sunabilir ya da tam zamanında teslim ettiğiniz işlerle müşterinizi mutlu ederek onların da sizi mutlu etmesini sağlayabilirsiniz. Çünkü scrum ile eskiye oranda daha karmaşık süreçlerin içinden daha kolay çıkabilir, geliştirme süreçlerini hızlandırabilirsiniz. Bunun için scrum değerlerini ekipçe benimseyip temel scrum prensiplerinden sapmamakta fayda var. Agile metodolojilerini yol gösterici olarak almış proje yönetim yazılımları (örneğin Ecra) kullanmak scrum uygulamayı daha kolay bir hale sokacaktır. 

Sprint nedir?

Çoğunlukla 2 ila 4 haftalık kısa planlamalardır. Geliştirici ekip, her sprintin sonunca ürüne bir özelliği daha eklemiş olmayı hedefler. Bu nedenle özelliğin kapsamına göre sprint süreleri değişkenlik gösterebilir. Sprint sonlarında başarılı bir demo yapabilmeyi hedeflemek iyi bir motivasyon kaynağıdır. Bu aynı zamanda tüm proje ortaklarını ürünle ilgili aynı bilgi seviyesinde tutmaya yardımcı olur. Sprintler, özelliği ortaya çıkarmak için parçalanmış görevlerden oluşur. Ekipte herkes bu görevlerden birini üstlenerek sprint boyunca çalışır. Ancak sprinti tamamlamak her zaman ekibin sorumluluğundadır. Bu nedenle de sprint boyunca görev dağılımları ihtiyaca göre şekilde değiştirebilir. 

Scrum ekibinde yer alan roller nelerdir?

Scrum guide’a göre bir scrum ekibinde mutlaka bulunması gereken 3 temel rol şunlardır; 

  1. Product owner
  2. Scrum master
  3. Developer ekip

Scrum ekibi, proje amaçlarını yerine getirmek üzere tüm scrum seramonilerinde beraber çalışır. Bu rollerin her biri scrum ekibinde hangi sorumlulukları üstlenir beraber bakalım. 

Product owner

Product owner, ekibin üzerinde çalıştığı projenin vizyoneridir. Çalışma sonunda ortaya nasıl bir ürün çıkacağına, bu ürünün hangi özelliklere sahip olacağına, ürünün nasıl görüneceğine ve neye benzeyeceğine product owner karar verir. Aslında ekibin öncüsüdür. Product owner ürünün değerini belirler ve ürün backlogunu (product backlog) yönetir.

Product backlog nedir?

Geliştirici ekibin tamamlaması gereken tüm işler burada birikir. Burası ürünün ihtiyacı olan ve ileride olacak tüm tespitlerin yer aldığı yerdir. Bu nedenle burası hiçbir zaman tamamlanmaz ve sürekli olarak gelişmeye ve çoğalmaya devam eder. 

Product owner sorumlulukları nelerdir?

  • Product backlogu yönetir; backlog öğelerini tanımlar.
  • Product backlog için bir hedef belirler ve buna göre backlog ayarlamaları yapar. 
  • Scrum ekibindeki diğer takım arkadaşlarının ortaya çıkardığı işin değerinin sürekli artmasını sağlar. 
  • Backlogtaki görevleri scrum takımları için her zaman açık ve anlaşılır olmasını sağlar.
  • Tüm bunlarla beraber product owner sprinti iptal etmeye yetkisine de sahiptir. Eğer sprint başlangıcındaki hedef artık takım için geçerli değilse, product owner sprinti iptal edebilir. Ancak bunun zaman, efor ve para maliyetinin sorumlumluluğunu da kendisi üstleniyor olmalıdır. 

İyi bir product owner olmak için neler gerekir? 

  • İyi bir product owner, İyi bir karar vericidir. Her zaman son kararı o verir. 
  • Aldığı kararları açık ve doğru bir şekilde ekibe ifade edebilir.
  • Ürün ve ürünün içerisinde bulunduğu pazar hakkında bilgi sahibidir. 
  • Hem ekibin hem de müşterinin güvenine sahip olmalıdır bu nedenle iyi bir ikna edicidir. 
  • Müşteriyi iyi anlar ve müşteriden aldıklarını ekibe aktarmada iyi bir çevirmendir. 
  • Ürün için en doğru özellikleri seçip kalanlara hayır diyebilen ve bu kararına sadık kalandır. 
  • Ürün için geliştirme saatlerinin belirlendiği scrum toplantılarına ve sprint sonlarında sprint değerlendirmesi yapılan retrospective toplantılarına katılır. 
  • Bir scrum ekibi için o andaki en ideal süreci product owner belirler. 

Scrum master

Scrum master, herkesi bir arada tutan ve işlerin olması gerektiği şekilde, zamanında teslim edilmesini sağlayan kişidir. Ekibi dikkat dağıtıcı etkenlerden korur, ekibin gelişmesine ve ilerlemesine destek olur, ekibe scruma karşı sorumluluklarını sık sık hatırlatır. 

Scrum değerleri

Scrum değerlerinin korunması, bir scrum master için en önemli sorumluluklardan biridir. Agile metodolojisinde tanımlanmış 5 scrum değeri vardır; 

  • Cesaret
  • Odaklanma
  • Bağlılık
  • Saygı 
  • Açıklık

Scrum master için bilinen en yaygın görev, daily scrum toplantılarını yapmaktır; ancak bilinenin aksine asıl sorumluluğu takımın daily scrum toplantılarını yaptığından emin olmaktır. Scrum master takıma koçluk eder ve işlerin yolunda gitmesini sağlamaya çalışır.

Bir scrum master için günlük koşuşturmada neler vardır?

Scrum master için pek çok tanımlanamayan sorumluluk sayabiliriz. Çünkü her scrum takımının kendine ve çalıştığı projeye özgü ihtiyaçları olabilir. Genellemek gerekirse scrum master, takımı bir arada tutan ve ona hizmet eden bir roldür. Bu anlamda scrum masterın günlük işlerine baktığımızda aşağıdaki kilit işleri sayabiliriz: 

  • Geliştirici takımın sprintteki tüm görevleri anladığından emin olur.
  • Geliştirici takıma koçluk eder; geliştirici ekip herhangi bir ihtiyaç durumunda ilk olarak scrum master ile görüşür. 
  • Aynı zamanda mental olarak da koçluk yapar. Takımın kendine inanmasını ve performansının en üst seviyesinde olmasını sağlar. 
  • Takımın proje ya da bireysel ihtiyaçları ile ilgili scrum masterdan koçluk talep etmelerinin tek yolu, güçlü liderlik özelliklerine sahip olmaktır. Takım scrum masterı saygı duyduğu ve akıl almak isteyeceği biri olarak görmeli. 
  • Daha iyi bir backlog yönetimi için araştırma yapar, yeni teknikler üretir.
  • Scrum seramonilerini ekip için sürekli olarak daha kolay uygulamanın yollarını arar.
  • Geliştirici ekibin herseferinde daha iyi bir çıktı elde etmesi için, ekibe hizmet eder. 
  • Scrum takımının scrum değerleri ve çerçevesinde çalışmaya devam etmesini sağlar. 
  • Scrum master elindeki tüm imkanları takım için harcar. Her zaman önce takım sonra kendisi gelir. 

Developer ekip

Developer ekip scrum takımlarının olmazsa olmaz üyeleridir. Developer ekip, sprintler boyunca bir ürün ya da ürün özelliği için product owner tarafından belirlenmiş işleri, onları nasıl sonuçlandıracağına kendisi karar vererek işleri üstlenir ve bunu sprint sonuna kadar gerçekleştirir. 

Ekibi oluşturan developerların en önemli hedefi, koştuğu sprinti zamanında ve istenen sonucu üretecek şekilde tamamlamaktır. Bunu ancak bir ekip olarak davranabildiğinde gerçekleştirebilir. Sprint boyunca kararları bireysel değil; bir ekip olarak verir. Sprint boyunca günlük aktiviteler üzerine yoğunlaşır ve her geçen gün sprintteki görevleri eritir. Scrum ekiplerinin tamamı için süreci anlaşılır ve şeffaf kılmakla yükümlüdürler. Yani developer ekip sprint boyunca da yapılan işin hangi seviyede, ne durumda olduğunu anlaşılır bir şekilde ifade edebilmelidir. 

Developer takımlar genellikle çok kalabalık ekipler değildir. en az 3 en fazla 9-10 kişilikl ekipler ve her ekibin kendi scrum master ve prodcut owner’ı olur. Daha küçük takımlar ile sprint tamamlamayı ve daha kalabalık takımlar için kaliteli bir iletişim kurmayı beklemek çok gerçekçi olmayacaktır. 

İyi bir developer ekibin özellikleri nelerdir? 

  • Takım zihniyetine sahiptir. Takımdaki herkes birbirine ve yeteneklerine güvenir. Takım beraber iyi çalışır. 
  • Çapraz fonksiyoneliteye sahiptir. Alınması beklenen tüm sonuçlar için ihtiyacı olan becerilerin tamamına sahiptir. 
  • Takımdaki herkes eşittir. Takım içerisinde hiyerarşi yoktur ve herkesin eşit derecede sorumluluğu vardır. 
  • İyi bir developer takımı kendi kendine organize olabilir. Herhangi bir scrum master ya da başka birinin işleri nasıl yapacaklarını söylemesine veya onları yönetmesine ihtiyaç duymaz. 

Scrum, işletmelere daha kolay ve hızlı sonuç üretebilecekleri bir alan sağlar. Scrum ile işlerinizin verimliliğini arttırabilir, yolda karşınıza çıkan engelleri ve hesaplanmamış durumları daha doğru bir şekilde yönetebilirsiniz. Riskleri en aza indirger ve hareket alanınızı genişletirsiniz. Karar vermek kolaylaştıkça, alacağınız sonuçların doğruluk oranı da bir o kadar yükselir. Henüz agile ve scrum ile tanışmadıysanız, artık scrum rollerini tanıyorsunuz, hemen başlamak için ekibiniz toplayın, bir proje yönetim programı (ecra gibi) seçin ve işlerinizi kolayca yönetmenin keyfini çıkarın. 

İzlem Küsmen Netuce
Gelişmelerden Haberdar OlunBültenimize kayıt olun

Netuce olarak dijital dönüşüm, yazılım dünyası, dijital pazarlama, yerel iç görüler ve parlak fikirler üzerinde bültenler paylaşıyoruz. En yeni gelişmeleri güncel içerikleriyle takip etmek için bültenimize kayıt olun.