Agile (Çeviklik) Yaklaşımı ve Scrum Yöntemi Nedir

0
1167

Agile (Çeviklik) Yaklaşımı ve Scrum Yöntemi Nedir

Bilgi teknolojileri sektöründe yapılan birçok proje, hızlı değişen müşteri gereksinimlerinin doğru ve net olarak belirlenmemesi, proje yönetim metotları uygulanmadan geliştirilmesi, süreçlerin iyi takip edilmemesi gibi farklı sebeplerden dolayı başarısızlığa uğramaktadır. Yanlış mimari seçilerek başlanılan ya da gereksinimlerin yanlış belirlendiği bir projede, proje yönetim biçimi değişiklikleri uygulama konusunda esnek değilse değişiklikler kolay kolay uygulanamadığından bu projenin başarısız olması kaçınılmazdır. Özellikle de proje süresince müşteri ile iletişimden kaçınılmışsa bu gibi yanlışlıklar ya da eksiklikler çok sonra fark edilmektedir. Projelerin başarısızlıkla sonuçlanmasına neden olan bu risk faktörlerinin ortadan kaldırılmasında proje yönetim biçiminin çok büyük önemi vardır. Bu yazımda bir proje yönetim biçimi olan agile (çevik) proje yönetiminden ve agile proje yönetim metotlarından biri olan Scrum’dan bahsedeceğim.

Agile bir proje yönetim biçimidir. En kısa sürede değerli çıktı üretmeye odaklanır. Çok kapsamlı olmayan ve belirsizliğin çok fazla olduğu, ihtiyaçların tam olarak belirlenemediği projeler için kullanışlı bir yöntemdir. Agile ‘ın en yaygın kullanım alanı yazılım geliştirme projeleridir. Proje boyunca müşteri ile proje takımı iletişim halindedir.

Agile neden ortaya çıktı, geleneksel yöntemlerden ne farkı var?

Gartner Institute’un BT sektörü araştırmasına göre BT projelerinin %74’ünün başarısız olduğu ya da maliyet/zaman hedeflerini aştığı tespit edilmiştir. BT projelerinin %51’i bütçesini %200 oranında aşmakta ve hedeflenen özelliklerin %75’ini karşılayabilmektedir. Yine Gartner Group’un (Technowledge SM 99 Presentation) yapmış olduğu bir araştırmaya göre BT projelerinin %70’i beklenen faydayı sağlayamamaktadır.

Üstte Chaos Report 2012’de, geleneksel (waterfall, predictive) yöntemlerle, 90’larda geliştirilmeye başlanan Çevik (agile, scrum) yöntemler arasında bir başarı karşılaştırması yer almaktadır. Çevik yöntemlerle ilerleyen yazılım projelerindeki başarı oranı %42 olarak gerçekleşirken bu oran geleneksel yöntemlerde (waterfall) %14’te kalmıştır.

Geleneksel yöntemler kullanılan projelerde analiz ve tasarım süreci için uzun zaman ayrılmaktadır. Bu zaman dilimi içinde projenin tüm gereksinimleri öngörülmeye çalışılmaktadır. Süreç boyunca müşteri ile iletişim az olduğu için çıkan ürün müşteri ihtiyacını karşılayamamaktadır. Proje yürütülürken yapılması gereken değişiklikler çok sonra fark edilmektedir. Bütün bu sebeplerden ötürü geleneksel yöntemler başarısız olabilmektedir.

Eğer müşteri gereksinimleri iyi anlaşılmışsa ve değişmeyecekse, teknoloji güncel ve sabit ise ve insanlar tahmin edildiği şekilde davranış gösteriyorsa geleneksel yöntemlerin başarılı olacağını söyleyebiliriz. Ancak gerçekte projelerin başlangıçtaki gereksinimleri %35 değişir; teknoloji hızla değiştiği için buna uyum sağlamak sorun yaratır ve insanlar önceden tahmin edilemez şekilde farklılaşmalar gösterirler.

Agile metoda göre:

Scrum nedir?

Scrum agile proje yönetim metodolojilerinden biridir. Kısa döngülü çıktı üretme ve geri bildirim düşüncesine dayanır. Proje için önemli gereksinimleri öncelikli olarak geliştirmeyi hedefler. Proje zamanı boyunca ihtiyaç duyulan değişiklikleri kolayca uygulayabilir. Scrum’ın getirdiği yeniliklerden birisi, proje ilerlemesini açık ve devamlı şekilde gösteren, kalan özellikler/geçen gün sayısı grafiğidir. Bu grafik sayesinde proje sorumluları projenin durumunu anında görebilmektedir.

Agile (Çeviklik) Yaklaşımı ve Scrum Yöntemi Nedir
Agile (Çeviklik) Yaklaşımı ve Scrum Yöntemi Nedir
  •  Proje sorumlusu (Project Owner) geliştirilmesi gereken tüm özellik ve fonksiyonları öncelik sıralarına göre toplayarak ürün gerikaydı (Product Backlog) hazırlar.
  •  Takım belirlenir ve “Sprint Planning” denilen en fazla 4 hafta sürecek olan küçük döngülerle (Sprint) işe başlanır. Her döngü için ürün gerikaydından önemli gereksinimler seçilerek sprint gerikaydı (Sprint Backlog) oluşturulur ve sprint boyunca bu gereksinimler geliştirilir.
  •  Takım bu “Sprint” süresince her gün Scrum Master liderliğinde bir araya gelir ve en fazla 15 dakika içerisinde her takım üyesi kendi ilerlemesini kısaca belirtir. Her gün yapılan ve 15 dk’yı aşmayan bu toplantılara Daily Scrum Meeting denir. Sprint süresince Burndown Chart denilen kalan gereksinimler/geçen zaman grafiği güncellenir.
  •  Sprint bittiği zaman bir “Sprint Review” raporu çıkarılır ve sprint süresince ortaya çıkan sorunlar ortadan kaldırılarak bir sonraki sprint rahatlatılmış olur..
  •  Sprint içerisinde biten özellik ve fonksiyonlar müşteri veya müşteri temsilcisine gösterilebilir.
  •  Yeni bir sprint için tekrar gereksinimler seçilir ve tekrar sprint hayat döngüsü başlar..

Scrum’da müşterinin üründen beklentileri karşılaması ilk önceliktir. Yukarda anlatılan süreç proje tamamlanana kadar sürekli uygulanır ve her süreç sonunda kaliteli ürün teslimatıyla müşteri memnuniyetini sağlanır. Müşteri de bu sürecin içinde aktif olarak rol alarak proje gelişimini takip eder. Düzenli aralıklarla ekipler kendi yöntemlerini gözden geçirerek verimliliği arttırmak için gerekli iyileştirmeleri yaparlar.

Özetle, çevik yöntemler ağırlıklı olarak yazılım geliştirme projelerinde kullanılsa da esnek yapısı sayesinde her türlü projede uygulanabilir. Başarı oranları geleneksel yöntemlere göre daha yüksektir. Ayrıca çevik yöntemleri kullanan projeler sadece daha başarılı olmakla kalmayıp; aynı zamanda değişen müşteri ihtiyaçlarına daha hızlı yanıt vererek riskleri en aza indiriyor ve daha kaliteli ürünler sunuyorlar.

CEVAP VER

Time limit is exhausted. Please reload CAPTCHA.