Agile (Çevik) metodolojisi , ilk olarak yazılım projelerinin başarısızlıkla sonuçlanmasına neden olan faktörleri ortadan kaldırmak amacıyla ortaya çıkmış, değişen ihtiyaçlara hızlı bir biçimde cevap verebilmek üzerine kurulmuş bir proje yönetimi yaklaşımıdır. Agile yaklaşım; karmaşık sorunları yeni bakış açıları ile çözebilme, insanları anlayabilme, kolektif çözüm üretebilme ve değişen şartlara uyum sağlayabilme gibi çeviklik yetkinlikleri gerektirir. Geliştirme döngüsü boyunca sürekli geliştirme ve test yinelemesini destekleyen bir uygulamadır. Agile metodolojiler, proje geliştirme için Agile Manifesto’da açıklanan değerler ve ilkelerle uyumlu ürün geliştirme üzerine kuruludur.

Agile Manifesto Nedir?

Agile Manifesto, 2001 yılında 17 yazılım gurusunun bir araya geldikleri bir toplantıda yazılım geliştirme metodolojilerini iyileştirmek ve geleneksel geliştirme süreçlerinin verimsizliğine bir çözüm bulmak için tasarladıkları bir belgedir. Agile felsefesinin arkasındaki temel değerleri ve ilkeleri ortaya koyar ve geliştirme ekiplerinin daha verimli ve sürdürülebilir bir şekilde çalışmasına yardımcı olmaya hizmet eder. Agile Manifesto, 4 değer ve 12 prensibe dayanır.

Agile

 

Agile Değerler Nelerdir?

Agile Manifesto’nun 4 temel değerinde,

  • Bireyler ve etkileşimlerin araçlar ve süreçlerden,
  • Çalışan yazılımın kapsamlı dokümantasyondan,
  • Müşteriler ile iş birliği yapmanın müşteriler ile pazarlık yapmaktan,
  • Değişime yanıt vermenin bir planı takip etmekten

daha önemli olduğu belirtilir, çalışmaların bu 4 değer üzerinde şekillenmesine vurgu yapar.

Agile’ın 12 İlkesi

  1. En önemli önceliğimiz, değerli yazılımın erken ve devamlı teslimi yoluyla müşteriyi memnun etmektir.
  2. Değişen gereksinimler yazılım sürecinin son aşamalarında bile kabul edilmelidir. Çevik süreçler değişimi müşterinin rekabet avantajı için kullanır.
  3. Çalışan yazılım, tercihen kısa zaman aralıkları belirlenerek birkaç haftada ya da birkaç ayda bir düzenli olarak müşteriye sunulmalıdır.
  4. İş süreçlerinin sahipleri ve yazılımcılar proje boyunca her gün birlikte çalışmalıdırlar.
  5. Projelerin temelinde motive olmuş bireyler yer almalıdır. Onlara ihtiyaçları olan ortam ve destek sağlanmalı, işi başaracakları konusunda güven duyulmalıdır.
  6. Bir yazılım takımında bilgi alışverişinin en verimli ve etkin yöntemi yüz yüze iletişimdir.
  7. Çalışan yazılım ilerlemenin birincil ölçüsüdür.
  8. Çevik süreçler sürdürülebilir geliştirmeyi teşvik etmektedir. Sponsorlar, yazılımcılar ve kullanıcılar sabit tempoyu sürekli devam ettirebilmelidir.
  9. Teknik mükemmeliyet ve iyi tasarım konusundaki sürekli özen çevikliği artırır.
  10. Sadelik, yapılmasına gerek olmayan işlerin mümkün olduğunca arttırılması sanatı, olmazsa olmazlardandır.
  11. En iyi mimariler, gereksinimler ve tasarımlar kendi kendini örgütleyen takımlardan ortaya çıkar.
  12. Takım, düzenli aralıklarla nasıl daha etkili ve verimli olabileceğinin üzerinde düşünür ve davranışlarını buna göre ayarlar ve düzenler.

Agile metodolojiler, yazılım geliştirme için Agile Manifesto’da açıklanan değerler ve ilkelerle uyumlu ürün geliştirme yaklaşımlarıdır. Agile metodolojilerde, kendi kendini organize eden ekipler aracılığıyla sık sık müşteri geri bildirimine ve rota düzeltmesine gidilerek ilerlenir. Bunu yaparken; Agile, müşteri gereksinimlerinin sık sık değiştiği ve yanlış ürünlerin teslim edilmesiyle sonuçlanan uzun sürelerde büyük ürünleri teslim etmeye yönelik geleneksel “şelale” yaklaşımlarının karşılaştığı zorlukları gidermeyi amaçlamaktadır.

Agile ve Geleneksel (Şelale) Yaklaşım Farkları

Agile ve Şelale modeli, yazılım geliştirme süreci için iki farklı yöntemdir. Yaklaşımlarında farklı olsalar da, her iki yöntem de ihtiyaca ve projenin türüne bağlı olarak zaman zaman yararlıdır.

The Standish Group’un 2015 yılında 10.000’in üzerinde projenin takibi ile oluşturulan Chaos Report’una göre Agile yöntemler ile ilerlenilen yazılım projeleri %9 oranında başarısızlık ile sonuçlanırken, şelale yaklaşımı ile yönetilen projeler ise %29 oranında başarısızlıkla sonuçlanmıştır.

Aynı raporda projelerin başarısızlıkla sonuçlanmasının başlıca nedenleri olarak günümüz dünyası gereksinimlerinin, teknolojinin, müşterilerin, piyasa koşullarının gereksinimlerinin ve rakiplerin değişmesi gösterilmiştir ve her şeyin hızla değiştiğine dikkat çekilmiştir. Bu nedenle Agile Manifesto’da bir plana bağlı kalmaktan ziyade değişime karşılık vermenin daha önemli ve öncelikli olduğunu üzerinde durulmuştur.

Geleneksel şelale yaklaşımında proje adımları sırasıyla takip edilir ve test aşaması proje sunulmadan hemen önce yapılır. Kapsam sabit tutulur, herhangi bir sorunla karşılaşıldığı zaman bütçede arttırmaya gidilir, kişi eklemesi yapılabilir ya da kaliteden kısılabilir.

Fakat Agile yaklaşım öz yinelemeye dayanır, proje küçük parçalara bölünür ve her parça tamamlandığında test edilir, müşteri geri bildirimleri alınır ve ilgili kısma entegre edilir. Böylece proje boyunca sürekli teste tabi tutularak olası bir problemi erkenden çözer. Kalite zaman ve bütçe sabit tutulur. Kapsam değiştirilerek sorunlar ortadan kaldırılmaya çalışılır. Bunu yaparken Pareto kuralı olan 80/20 kuralı uygulanır. Az eforla daha çok katkı sağlamaya odaklanır.

Çeviklik esas olarak zihniyetle ilgilidir, pratiklerle değil. -Jim Highsmith

Geleneksel yaklaşımda kapsam sabit olduğu için, teslim süresi ileri atılır ve değer üretmede gecikmiş olunur. Agile yaklaşımda sorunlar ile mücadele etmek için farklı bakış açıları aranır, değere odaklanılır, müşteri ile iş birliği içinde çalışmalarını sürdürür, her aldığı geribildirimi ileriki adımda kullanarak devam edilir. Bunları yaparken Kanban, Yalın, DSDM ve en yaygını olan Scrum gibi agile çerçeve yaklaşımlarını kullanılır. Scrum yöntemi uzun şelale sürecini daha küçük döngülere böler ve bu da ürün ekiplerinin ve son müşterinin çalışan yazılımı sık sık gözden geçirmesine ve iş gereksinimlerini karşıladığından emin olmasına olanak tanır. Bu, son ürünün müşterinin nihai gereksinimlerini de karşılamasını sağlar.

Bu yazımızda Agile metodolojisini, değer ve prensiplerini, geleneksel yaklaşımdan farkını ele aldık. İlk olarak yazılım projelerinde uygulanmaya başlanan Agile Metodolojisi şuan farklı alanların projelerinde de kullanılıyor. Globalde ve Türkiye’de birçok şirket çalışanlarına Agile çalışma ortamı oluşturmaya başladı, gün geçtikçe de popülaritesi artmakta.

Yazımı sonlandırırken Agile ile ilgili bir video paylaşmak isterim. Buraya tıklayarak izleyebilirsiniz.

 

 

Bir Cevap Yazın

Yeni içeriklerden haberdar olmak ister misiniz?

Mail adresinizi bırakın ve yeni blog yazılarından haberdar olun!
ABONE OL
KVKK kanununa göre e-posta adresimden iletişime geçilmesine izin verilmiş sayılacaktır
close-link
Blog yazımızı beğendiniz mi?