İçeriğe geç
parazade

Şelale Modeli Nedir?

İngilizce: Waterfall Model

Yayın: · Son güncelleme:

Şelale Modeli Nedir? Kısaca

Şelale modeli (waterfall), yazılım geliştirme aşamalarının gereksinim, tasarım, kodlama, test ve bakım sırasıyla, her aşama bitmeden bir sonrakine geçilmeden yürütüldüğü doğrusal proje yönetim modelidir.

Şelale Modeli nedir?
İçindekiler
  1. Şelale modeli nedir?
  2. Hangi projelere uygundur?
  3. Zayıf yanları neler?

Şelale modeli nedir?

Şelale modeli, adını suyun yukarıdan aşağıya tek yönde akmasından alır. Proje aşamaları bir merdiven gibi sıralanır ve her basamak tamamlanıp onaylanmadan alttakine inilmez. Kavram çoğunlukla Winston Royce'un 1970 tarihli makalesine dayandırılır; ilginç biçimde Royce bu katı sıralı yapının risklerine de dikkat çekmişti.

Tipik aşamalar şunlardır: gereksinimlerin belirlenmesi, sistem tasarımı, kodlama, test, kurulum ve bakım. Her aşamanın sonunda yazılı bir belge teslim edilir.

Hangi projelere uygundur?

Gereksinimlerin baştan net olduğu ve sonradan pek değişmeyeceği projelerde iyi çalışır. Örneğin bir hastanenin cihaz yazılımı ya da yasal düzenlemeye göre hazırlanan bir raporlama sistemi düşünün. Bu tür işlerde her adımın belgelenmesi denetim için de gereklidir.

Sabit bütçe ve sabit teslim tarihiyle yapılan ihale işlerinde de sık tercih edilir. Müşteri, sözleşmeye eklenen gereksinim belgesini imzalar ve ekip bu belgeye göre çalışır.

Zayıf yanları neler?

En büyük sorun geç geri bildirimdir. Kullanıcı yazılımı ancak test aşamasında, belki aylar sonra görür. Bu noktada "aslında başka bir şey istiyorduk" denirse geri dönmek pahalıdır.

Örneğin sekiz aylık bir projede yedinci ayda fark edilen bir tasarım hatası, tasarım, kod ve test aşamalarının yeniden yapılmasını gerektirebilir. Bu yüzden belirsizliği yüksek projelerde çevik yazılım geliştirme tercih edilir. Proje seçiminden önce gereksinimlerin ne kadar kesin olduğunu dürüstçe değerlendirmek, doğru modeli seçmenin ilk adımıdır.

Sıkça Sorulan Sorular

Şelale modeli hâlâ kullanılıyor mu?

Evet. Özellikle kamu ihaleleri, savunma, sağlık cihazları ve inşaat gibi belgelendirmenin zorunlu olduğu alanlarda kullanılmaya devam ediyor.

Şelale modeli ile çevik arasındaki temel fark nedir?

Şelalede aşamalar bir kez ve sırayla yapılır, ürün en sonda teslim edilir. Çevikte ise kısa döngülerle çalışan parçalar sık sık teslim edilir ve geri bildirimle yön değiştirilir.

İlgili terimler

Yazılım Geliştirme Yaşam Döngüsü(SDLC)Yazılım geliştirme yaşam döngüsü (SDLC), bir yazılımın fikir aşamasından planlama, analiz, tasarım, kodlama, test, dağıtım ve bakım adımlarıyla kullanımdan kalkmasına kadar geçtiği süreci tanımlayan çerçevedir.Çevik Yazılım Geliştirme(Agile Software Development)Çevik yazılım geliştirme (Agile), yazılımı küçük parçalar hâlinde, kısa döngülerle üreten, her döngüde kullanıcı geri bildirimi alarak planı güncelleyen ve değişime hızlı uyum sağlamayı öne çıkaran yaklaşımdır.Gereksinim Analizi(Requirements Analysis)Gereksinim analizi, bir yazılımın ne yapması ve hangi koşulları karşılaması gerektiğinin paydaşlarla birlikte belirlenip yazılı, ölçülebilir ve onaylanmış maddelere dönüştürüldüğü yazılım geliştirme aşamasıdır.ScrumScrum, karmaşık ürünlerin en fazla bir ay süren sprintler hâlinde geliştirildiği; Product Owner, Scrum Master ve geliştiricilerden oluşan küçük ekiplerin belirli toplantılar ve iş listeleriyle çalıştığı çevik bir çerçevedir.Kodlama(Coding)Kodlama, bir işin nasıl yapılacağını programlama dilinin kurallarına uygun komutlarla yazma işidir. Yazılan metne kod denir ve bilgisayar bu kodu çalıştırarak istenen işlemi yapar.Sabit(Constant)Sabit (constant), programlamada bir kez değer atandıktan sonra program boyunca değiştirilmemesi gereken isimli veridir. Pi sayısı, bir vergi oranı ya da en fazla deneme hakkı gibi değerler sabit olarak tanımlanır.