Şelale Metodolojisi vs RUP
Günümüzde yazılım endüstrisinde kullanılan çok sayıda farklı yazılım geliştirme metodolojisi vardır. Şelale geliştirme yöntemi, en eski yazılım geliştirme yöntemlerinden biridir. Şelale yazılım geliştirme metodolojisi, her aşamanın eksiksiz olarak tamamlandığı ve sabit bir sırayla takip edildiği sıralı bir modeldir. RUP (Rational Unified Process), yinelemeli yazılım geliştirme metodolojilerinin uyarlanabilir bir süreç çerçevesidir. RUP, Şelale gelişimine yönelik katılık gibi çeşitli eleştirileri ele almaktadır.
Şelale Metodolojisi Nedir?
Waterfall metodolojisi, en eski yazılım geliştirme modellerinden biridir. Adından da anlaşılacağı gibi, ilerlemenin bir şelaleye benzer şekilde yukarıdan aşağıya birkaç aşamadan geçtiği sıralı bir süreçtir. Şelale modelinin aşamaları gereksinim analizi, tasarım, geliştirme, test etme ve uygulamadır. İş Analistleri (veya küçük bir kuruluşsa programcıların kendileri), sistem ve iş gereksinimlerini projenin müşterisinden alarak analiz aşamasını yürütür. Ardından, yazılım mimarları (veya kıdemli yazılım geliştiricileri), önerilen sistemin yapısını ve bileşenlerini gösteren tasarım belgeleri ile ortaya çıkar. Daha sonra genç geliştiriciler, tasarım belgelerini kullanarak kodlamayı yaparlar. Geliştirme tamamlandıktan sonra ürün, test ve doğrulama işlemleri için test ekibine teslim edilir. Son olarak, ürün müşteri sahasında uygulanır (veya entegre edilir) ve proje imzalanır. Burada dikkat edilmesi gereken önemli nokta, bir sonraki aşamaya geçmeden önce her aşamanın eksiksiz olarak tamamlanmasıdır. Bu model, donanım odaklı geliştirme yönteminin (imalat ve inşaat endüstrilerinde bulunan) basitçe uyarlanmasının doğrudan bir sonucuydu, bir zamanlar yazılım geliştirme için resmi bir model yoktu.
RUP nedir?
RUP, yinelemeli yazılım geliştirme metodolojileri ailesine aittir. Rational Software Corporation (IBM) tarafından 2003 yılında geliştirilmiştir. Aslında, geliştirme organizasyonu tarafından ihtiyaçlarına göre özelleştirilebilen uyarlanabilir bir süreç çerçevesidir (tek bir somut süreç değil). Şelaleye biraz benzer, başlangıç, detaylandırma, yapım ve geçiş gibi sabit aşamaları vardır. Ancak şelalenin aksine, RUP yinelemeli bir süreçtir. RUP tarafından yakalanan üç strateji, geliştirmeyi yönlendiren özelleştirilebilir bir süreç, süreci hızlandırmak için otomatikleştirilmiş araçlar ve süreç ve araçları daha hızlı benimsemeye yardımcı olan hizmetlerdir. Bu stratejiler stajyeri, yazılım mühendisliğinin en iyi altı uygulamasını (yinelemeli geliştirme, gereksinimleri yönetme, bileşen tabanlı mimari, görsel yazılım modelleri, sürekli doğrulama ve değişikliklerin yönetimi) yakalar.
Şelale Metodolojisi ile RUP arasındaki fark nedir?
Şelale metodolojisi ve RUP sabit aşamaları tanımlamış olsa da, bu iki model arasında önemli farklılıklar vardır. Ana tercih, Şelale metodolojisinin, bir sonraki aşamaya geçmeden önce mevcut aşamanın tamamlandığı, önceden belirlenmiş adımlarla sıralı bir süreç olmasına rağmen, RUP yinelemeli bir süreçtir. Şelale metodolojisinden farklı olarak RUP, ürünü hissedarlardan gelen geri bildirimlere dayanarak birkaç aşamada geliştirir. Her bir RUP yinelemesi yürütülebilir bir sürüm ürettiği için müşteriler, Waterfall'dan çok daha önce avantajlar elde eder. Son olarak, Şelale metodolojisi kuralcı bir somut süreçtir, RUP ise uyarlanabilir bir yazılım süreçleri çerçevesidir.