Winston Royce & Waterfall & Çeviklik
Bu makalede Winston Royce & Waterfall & Çeviklik konularına değineceğim. Geleneksel yazılım geliştirme metodunun babası Winston W. Royce, yazılım geliştirme alanında öncü olarak kabul edilir. California Institute of Technology’de Fizik Bölümü’nde lisans öğrenimini tamamladıktan sonra yine aynı enstitüde Havacılık Mühendisliği üzerine yüksek lisans yapmıştır. Julian David Cole’un gözetiminde yine Havacılık Mühendisliği alanında doktorasını tamamlamıştır. 1961 yılında ise ünlü otomotiv şirketi TRW’de çalışmaya başlamıştır. TRW, Türkiye’de otomotiv alanında bilinsede aslında havacılık üzerine de çalışmaları bulunmaktadır. Royce, TRW şirketinin havacılık ile ilgili geliştirmeler yapılan bölümünde proje yöneticisi olarak çalışmıştır. Bu dönemde yazılım projelerinin nasıl daha kolay, daha kaliteli ve daha ucuz geliştirilebileceğine dair çalışmalar yürütmüştür. Bu çalışmaları yürütürken akademik yaklaşımını sergilemiş ve yaptığı çalışmaları anlattığı “Managing The Development Of Large Software Systems” adlı makaleyi 1970 yılında yayınlamıştır. Royce’un makalesi yazılım ürünlerinin geliştirilmesi süreçlerine tarihteki en büyük etkiyi yapmıştır ve bu etki günümüzde de devam etmektedir.
Basit Metot
Winston Royce makalesinde açıkladığı yaklaşımlara herhangi bir isim vermemiştir. Bugün Waterfall dediğimiz metoda “basit” diyordu. 1976 yılında Bell ve Thayer adında iki TRW çalışanı “Software Requirements : Are They Really A Problem?” adında yayınladıkları makalelerinde Waterfall terimini ilk defa kullanmışlardır.
Royce’un makalesi incelendiğinde görülür ki sadece Waterfall -Royce’un deyimiyle basit– olarak bilinen modelden bahsetmez aynı zamanda artımlı ve modelleme yaklaşımlarını da anlatır. Sanırım artımlı ve modelleme yaklaşımlarını Waterfall’ın altında anlatması ve Waterfall’ın bunlara nazaran daha kolay bir sürece ve bakıldığında daha anlaşılır bir şekle sahip olması Waterfall’ın benimsenmesini kolaylaştırmış ve günümüze kadar gelmesini sağlamıştır.
Artımlı Yaklaşımlar
Artımlı ve modelleme yaklaşımlarını anlatırken Waterfall modeliyle ilgili problemlerin çözümünü aradığını görürüz. Bu amaçla modelleme yaklaşımında analiz aşamasından önce adına “Preliminary Program Design” dediği bir aşama koymuş ve burada projenin bir modelinin yapılması gerektiğini söylemiştir. Artımlı yaklaşımda ise yine Preliminary Program Design aşamasını koymuş ve bundan sonra gelen her aşamada aslında sürecin tekrarlanmasını savunmuştur. Bu yaklaşım günümüzdeki iterasyon bazlı geliştirme yaklaşımının temeli olmuştur. Winston Royce & Waterfall & Çeviklik yazısına devam et