Scrum Nedir?

By | 2 Eylül 2016

Çevik yazılım yöntemleri kendi içerisinde özü aynı, fakat süreçlerinde farklılaşan çeşitli alt kollara ayrılmaktadır. Bu kollardan popüler bir tanesi de Scrum yöntemidir. Scrum, kelime olarak rugby oyununda oluşturulan küçük ekiplere verilen isimdir. Bu yöntem 90’li yıllarda oluşturulmuş, günümüze sürekli bir gelişme halinde gelmiştir.

Projelerdeki karmaşıklığı en aza indirmek, şeffaflığı artırmak ve riskleri minimize etmek için Scrum 3 temel prensip üzerine kurulmuştur.
Şeffaflık(Transparency) : Projenin ilerleyişi, gelişmeler, sorunlar, kısaca her şeyin herkes tarafından görülebilir olmasıdır.
Denetleme(Inspection) : Projenin ilerleyişinin her açıdan düzenli olarak kontrol edilmesidir.
Uyarlama(Adaptation) : Projedeki süreçlerin, pratiklerin yada yapılan işin kabul edilebilir sınırlar dışarısına çıktığında değiştirilebilmesidir.

Şeffaflık

Sürecin tümleriyle geliştiriciye görünür olmasıdır. Böylece ortak bir görüş ortaya konur. Örneğin, “bitti” takımdakilerin artık işin sonuna gelindiğinde hep bir ağızdan söyledikleri bir ortak bir cümledir. Çalışılan sürecin bittiği anlamına gelir.
Problemi tanımladığımız kısımdır . Yazacağınız kod ancak istenileni doğru bir şekilde yerine getiriyorsa başarılı bir yazılımdır. Bundan dolayıdır ki öncelikle yazılımdan ne istendiğinin doğru bir şekilde ortaya konması gerekir. Kısaca analiz aşaması personel, donanım ve sistem gereksinimlerinin belirlenerek sistemin analiz çalışmasının yapılması, kullanıcı gereksinimlerininde göz önünde bulundurularak belirlenmesi ve proje planının oluşturulması aşamalarından oluşur.

Denetim

Scrum, kullanıcılarına yönelik istenmeyen sapmaları tespit etmek için sürecin ve programın sürekli denetim altında tutulması gerekir. Scrum karmaşık ürün gelişimini basite indirgemek için yapılandırılmış bir çerçeve olarak düşünebiliriz.

Uyum

Yazılan programların talebe uygun olup olmaması durumudur. Herhangi bir saptama söz konusu ise bu açıklar giderilir ve talebe uyumlu hale getirilir. Saptamaları aza indirmek kısa bir sürede yapılmalıdır. Scrum’ın denetim ve uyum için kullandığı 4 yöntemi vardır:

Sprint Planlama Toplantısı
Daily Stand Up Toplantısı
Sprint Review Toplantısı
Sprint Retrospektif

Scrum Takımlarının Toplantıları

Sprint Planlama Toplantısı : Gerçekleştirilecek olan sprintin içeriğinin planlandığı toplantıdır.
Daily Stand Up Toplantısı : Günlük olarak takımın bir araya geldiği, yaptıkları işleri birbirlerine anlatarak senkronize olduğu toplantıdır.
Sprint Review Toplantısı : Sprint sonunda çıkartılan ürünün değerlendirildiği toplantıdır.
Sprint Retrospective Toplantısı : Sprint boyunca yapılan işlerin kalitesinin, doğruların ve yanlışların değerlendirildiği toplantıdır.

Scrum Takımı

Product Owner
Scrum Master
Development Team
Scrum Takımı : Ürün Sahibi, Geliştirme Ekibi ve Scrum Master’dan oluşur. Takım kendi kendini örgütler. Böylece kendi içerisinde uyum içinde olan takımlar daha başarılı sonuçlar alırlar. Scrum’ın takım modeli esneklik, yaratıcılık ve verimliliği optimize etmek için tasarlanmıştır. Sprint geri kaydındaki işler için aylık toplantılar yapılması gerekir. Bu işlerin bir sprintte yapılması beklenir. Takvime uygun gittiğinden emin olmak için günlük ayakta scrum toplantıları yapılır. Bu toplantılar genelde 15 dakika sürer.

Ürün Sahibi (Product Owner) :

Ürünün değerinden ve gerikaydından (Backlog) sorumlu olan kişidir . Ürün Backlog öğeleri açık olmalıdır. Bunuda sağlayacak olan kişi Product Owner’dir. Sorumluluğun büyük bir kısmı Product Owner’dadır. Takımda Product Owner tektir. Product Owner’in başarılı olması için, tüm organizasyonun kendi kararlarına saygı göstermesi gerekir. Geliştirme Ekibi, Product Owner’in kararlarına göre hareket eder .

Geliştirme Ekibi (The Development Team) :

Arttırımı oluşturan kısım geliştirme ekibidir. Geliştirme Ekibi, genel verimliliği ve etkinliği optimize eder. Geliştirme ekibi kendi kendine organize olmalıdır. Takım, artım olabilmesi için tüm özelliklerini ortaya koymalıdır. Ekipte bireysel özel beceriler olabilir. Ancak her şey bir bütün olarak ekibe aittir. Ekibin önemli işleri tamamlayabilmesi için gerekli kadro sayısına sahip olması gerekmektedir. Küçük ekiplerde verimlilik artışı azalır. Buda beraberinde beceri kısıtlamarına neden olur. Ekip sayısının dokuzdan fazla olması yüksek derecede koordinasyon gerektirir. Unutulmamalı ki, Product Owner bu sayıya dahil değildir.

Scrum Ustası(The Scrum Master) :

Scrum’dan sorumlu olan kişidir. Scrum Master, Scrum Takım teorisi ve uygulamaları kurallara uyarak sağlar. Scrum Master takım için liderdir. Scrum Master, ekip tarafından yaratılan değeri maksimize etmek için çalışır. Scrum Master, çeşitli yollarla Ürün Sahibine yardım eder . Bunlar:
• Ürün Backlog yönetimi bulma teknikleri
• Geliştirme ekibinin vizyon ve hedeflerini belirlemek
• Açık ve özlü Ürün Backlog öğeleri oluşturmak için geliştirme ekibine temel yolların öğretilmesi
• Anlaşılabilir bir ortamda uzun vadeli ürün planlamaları yapmak
• Çevikliği anlama ve uygulama
Scrum Master, geliştirme ekibinede hizmet eder:
• Örgütlenmeye koçluk eder
• Geliştirme ekibi için değeri yüksek ürünler oluşturmak
• Geliştirme ekibinin ilerlemesine engel olacak şeyleri ortadan kaldırmak
• Talebe göre Scrum olaylarının kolaylaştırılması
Scrum Master organizasyon içinde çalışır:
• Scrum’ın belirlenmesinde koçluk eder
• Örgüt içinde planlama yapar
• Takımın verimliliğini arttırır.

 

Kısaca Scrum’da Roller :

1. ScrumMaster:
• Takımın performansını gerçekleştirmesine engel olan durumları ortadan kaldırır.
• Takımın lideri değildir. Ancak takımı rahatsız edici etkileri ortadan kaldırır.
• Scrum sürecinin amaçlandığı gibi devam etmesini sağlar.
• Takımın görevlerini yerine getirmelerinde odaklanmalarını sağlar.

2. Team:
• Sprint Backlog’ları oluşturur.
• Proje kısıtları dahilinde kaldığı sürece, içinde bulunduğu durumun başarı ile sonuçlanması için gereken her şeyi yapar. Ürün çıkarmakla sorumlu olan gruptur.
• 7 + 2 gruplardan oluşur.

3. Product Owner:
• Ürünün özelliklerini tanımlar, çıkış tarihi ve içerikleri hakkında karar verir.
• Ürünün karlılığından sorumludur.
• Özelliklerinin önceliklerini piyasaya göre düzenler.
• Çalışma sonuçlarını kabul veya reddeder.
• Müşteri odaklı dokümanları hazırlar, önceliklerini belirler ve bunları Product backlog içerisine ekler .

 

 

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir