Çevik ve Geleneksel Yazılım Geliştirme Metodolojisi
Günümüzde yazılım endüstrisinde kullanılan birçok farklı yazılım geliştirme metodolojisi vardır. Şelale geliştirme yöntemi en erken yazılım geliştirme yöntemlerinden biridir. Şelale metodolojisinden sonra gelen V-Modeli, RUP ve diğer birkaç doğrusal, yinelemeli ve birleşik lineer-yinelemeli yöntemler, şelale yönteminin birçok sorununu silmeyi amaçlamıştır. Daha önceki tüm bu metodolojilere Geleneksel Yazılım Geliştirme Metodolojileri denir. Çevik model, geleneksel modellerde bulunan eksikliklerin giderilmesine yönelik daha yeni bir yazılım geliştirme modelidir. Agile'nin ana odağı, sistemi olabildiğince erken bir şekilde dahil etmek ve sistemi çok küçük ve yönetilebilir alt parçalara ayırarak ürünün çok erken bir sürümünü piyasaya sürmektir..
Geleneksel Yazılım Geliştirme Metodolojisi Nedir??
Waterfall yöntemi, V-Modeli ve RUP gibi yazılım metodolojilerine geleneksel yazılım geliştirme metodolojileri denir. Şelale metodolojisi en eski yazılım geliştirme modellerinden biridir. Adından da anlaşılacağı gibi, ilerlemenin yukarıdan aşağıya, şelaleye benzer şekilde birkaç aşamadan (gereksinim analizi, tasarım, geliştirme, test ve uygulama) geçtiği sıralı bir süreçtir. V-Modeli, Şelale yazılım geliştirme modelinin bir uzantısı olarak kabul edilir. V-Model, Şelale modelinde tanımlanan fazlar arasında aynı ilişkileri kullanır. Ancak doğrusal olarak inmek yerine (Şelale modeli gibi) V-Modeli çapraz olarak aşağı iner ve daha sonra (kodlama aşamasından sonra) geri gider, V harfinin şeklini oluşturur. RUP (Rasyonel Birleşik Süreç) uyarlanabilir bir süreç çerçevesidir (değil tek bir somut süreç), kalkınma organizasyonu tarafından ihtiyaçlarına göre özelleştirilebilir. Şelaleye biraz benzer şekilde, başlangıç, detaylandırma, inşaat ve geçiş gibi sabit fazlara sahiptir. Ancak şelalenin aksine, RUP yinelemeli bir süreçtir.
Çevik Nedir?
Agile, çevik manifestoya dayanan çok yeni bir yazılım geliştirme metodolojisidir (veya daha doğrusu bir grup metodolojidir). Bu, geleneksel yazılım geliştirme yöntemlerindeki eksiklikleri gidermek için geliştirilmiştir. Çevik yöntemler, geliştirme sürecinin başlarında müşteri katılımına yüksek öncelik verilmesine dayanır. Müşteri tarafından testin mümkün olduğunca erken ve sıklıkla yapılmasını önerir. Test, kararlı bir sürüm elde edildiğinde her noktada yapılır. Çevik'in temeli, projenin başlangıcından itibaren teste başlamaya ve projenin sonuna kadar devam etmeye dayanır. Scrum ve Extreme programlama, Agile yöntemlerinin en popüler varyasyonlarından ikisidir..
Çevik'in temel değeri yazılımın kalitesinin sadece test ekibinin değil, tüm ekibin sorumluluğunda olduğunu vurgulayan “kalite ekibin sorumluluğudur”. Agile'nin diğer bir önemli yönü de yazılımı daha küçük yönetilebilir parçalara ayırmak ve bunları çok hızlı bir şekilde müşteriye ulaştırmaktır. Çalışan bir ürün teslim etmek son derece önemlidir. Daha sonra ekip yazılımı geliştirmeye ve her büyük adımda sürekli olarak teslim etmeye devam eder. Bu, çok kısa serbest bırakma döngülerine (Scrum'da sprint denir) sahip olmak ve her döngünün sonunda iyileştirme için geri bildirim almak suretiyle elde edilir. Daha önceki yöntemlerde geliştiriciler ve test ediciler gibi ekibin çok fazla etkileşimi olmayan katılımcılar şimdi Agile modeli içinde birlikte çalışıyor.
Çevik ve Geleneksel Yazılım Geliştirme Metodolojisi arasındaki fark nedir?
Agile yöntemi geleneksel yaklaşımlardan bazıları olarak yinelemeli gelişime dayandırsa da, Agile ve Traditional metodolojilerinin temel farklılıkları vardır. Geleneksel yaklaşımlar planlamayı kontrol mekanizması olarak kullanırken, Agile modelleri kullanıcılardan gelen geri bildirimleri ana kontrol mekanizması olarak kullanır. Çevik, geleneksel yöntemlerden daha insan merkezli bir yaklaşım olarak adlandırılabilir. Agile modeli, geleneksel metodolojilere kıyasla ürünün çalışan bir sürümünü çok erken sunar, böylece müşteri bazı avantajları erkenden gerçekleştirebilir. Agile'nin test döngüsü süresi geleneksel yöntemlere göre nispeten kısadır, çünkü testler gelişime paralel olarak yapılır. Geleneksel modellerin çoğu Agile modelinden çok katı ve nispeten daha az esnektir. Tüm bu avantajlar nedeniyle, Agile şu anda geleneksel yöntemlere göre tercih ediliyor.