
Proje Geliştirme Serüveni : Waterfall vs. Agile
Bir projeyi hayata geçirmek için mental olarak başlamaya hazır olduğumuzda aklımızda beliren ilk düşüncelerden biridir belki de: “Bunu yapacağım. Peki plan nedir?”
Plan bir fikri hayata geçirmenin ya da devamlılığını sağlamanın en temel ilkesidir. Bir ihtiyaçtır. Planlanmayan her iş ya sonuç açısından ya da işleyişindeki verimsizlik açısından başarısızlığa mahkumdur. Hal böyleyken planlama, proje geliştirmenin en önemli ve en öncelikli aşamasıdır. Hatta planlama ve plan doğrultusunda iş yönetimi birçok sektörün birincil iş tanımlarından biri haline gelmiştir.
Ayrıca yüksek miktarda iş gücüne ihtiyaç duyulan bir iş tanımı halini almıştır. Planlama ve plan doğrultusunda iş yönetiminin en önemli olduğu sektör ise tabii ki bilişim sektörüdür. Onlarca, yüzlerce, binlerce iş gücünün ilintili ilintisiz devasa çaplardaki tekil ya da çoğul projeleri intizam içinde gerçekleştirmesi gereken bu sektör muntazam bir çalışma örgüsünde ilerlemeye de muhtaçtır.
Bilişim sektöründe planlamanın ve proje yürütmenin kalıplaşmış metodları vardır. Bunlardan en önemlileri ise başlıkta bahsi geçen Waterfall (şelale) ve Agile (çevik) yöntemleridir. Parantezde belirtilen mealler kafanızda çok da bir şey uyandırmamış olabilir. O zaman basitçe şöyle açıklayalım.
Waterfall : Geliştirmeye lineer (doğrusal) bir düzlemde yaklaşan metodolojidir. Bahsi geçen doğrusallıktan kasıt gereksinimleri toparlamak – projeyi dizayn etmek – sonuçlandırma ve işleyişi sınırlandırmak – geliştirme aşaması – birim test aşaması – sorunların analizi ve çözümü – ürünü kullanıcıyla buluşturmak adımlarını sıralı biçimde takip etme yöntemidir.
Agile : Çeviklik kavramının proje geliştirme metodolojisinde yüz bulmuş hali gibidir. Her ürünün bir demo olduğu ve sürekli yenileme ile üstüne koymanın temel şart olduğu bu yöntemde ana nokta kullanıcıyla devamlı iletişim halinde olmaktır. Geri bildirimler doğrultusunda ürünü sürekli beslemek ve yeni haline büründürmek gerekliliğini temel edinir. Waterfall’la temel ayrımı ürün bir sonuç ya da gelişim kısıtlamasında değildir. Değişebilir, gelişebilir ve zamanla düşünülenden çok daha farklı yönlerde mesafe kat edebilir.
Tabii sırf bu iş tiplerinin uygulanması için özelleşmiş menajerlik şirketleri varken birkaç satırda tüm mantığı aktarmak çok da makul gözükmüyor. Ama bilişim sektöründe bir proje geliştirmeye karar verdiysen ilk yol ayrımlarından biri burası olacak. Her zaman en doğrusu fikrin niceliği ve imkanlar doğrultusunda en uygun seçimi yapmak. Son zamanlarda Agile metodun sadece kazançlı yönlerine odaklanmış tonla şirket olsa da bu yöntem projeye uygun değilse kullanıcıya bıktırmak dışında bir işlevsellik yakalaması bir hayli zor.
Eğer siz de bir projeye başlama niyetindeyseniz başlamadan önce bu yazdıklarımı bir gözden geçirin derim.