Agile ve Waterfall Yaklaşımları
Agile Yaklaşımı Nedir?
Yazılım projelerinde müşteri ihtiyaçlarına daha çabuk ve esnek bir şekilde cevap verebilmek için kullanılmaktadır. Bu yaklaşımda en önemli faktörler; değişime hızlı adapte olması , çözümler sağlaması, müşterinin devamlı olarak projeye dahil edilmesi, proje ekibi ile birlikte sık toplantılar yapılması ve ekibin kendi kendine organize etmesidir.
Waterfall Yaklaşımı Nedir?
Yazılım geliştirmenin gereksinim analizi, tasarım, geliştirme, test ve bakım gibi fazları boyunca aşağıya doğru (şelale gibi) devam eder gibi göründüğü sıralı geliştirme sürecidir.
-Şelalenin her basamağında yer alan aktiviteler eksiksiz olarak yerine getirilir. Bu, sonraki basamağa geçmenin şartıdır.
-Her safhanın sonunda bir doküman oluşturulur. Bu yüzden waterfall modeli doküman yönetimine dayanır.
-Yazılım süreci doğrusaldır, yani bir sonraki safhaya geçebilmek için bir önceki safhada yer alan aktivitelerin tamamlanmış olması gerekir.
Kullanıcı katılımı ise başlangıç aşamasında mümkündür. Kullanıcı gereksinimleri bu aşamada tespit edilir ve detaylandırılır. Daha sonra gelen “tasarım ve kodlama” aşamasında müşteri ve kullanıcılar ile diyaloğa girilmez.
Agile ve Waterfall yaklaşımları arasındaki farkları aşağıdaki gibi özetleyebiliriz;
Agile Yaklaşımının ;
Avantajları
-Planlamanın döngüler halinde daha kısa sürede yapılması
-Müşteri ihtiyaçlarına daha esnek bir şekilde cevap verilebilmesi ve proje üzerinde etkisinin daha az olması
-Projede ekip ruhunun daha güçlü olması
– Ürünün son teslimden önce müşteri tarafından görülerek test edilmesi dolayısıyla ürünün kabul edilmemesi riskinin azaltılması
– Müşterinin proje ekibi ile devamlı işbirliği içinde olması gerektiği için projeye olan bağlılığın artması ve ürünün sahiplenilmesi
-Projede liderliği sadece proje yönetim ekibinin değil, çeşitli proje üyelerinin de insiyatif alarak kullanabilmesi
Dezavantajları
-Planlamaya az zaman ayrılmasının daha kapsamlı projelerde ürünün tüm tasarımının gözönüne alınması gerektiğinde yetersiz kalabilmesi
– Çok sayıda kaynak, Agile proje toplantılarında katılım sayısının en fazla 9 olması gerektiğini savunurken büyük projelerde ekip sayısının daha fazla olması ve bunun karar verme sürecini uzatması
-Agile yaklaşımını ilk defa kullanacak organizasyonlar için, yönetim kademeleri ve proje ekibinin yeni yöntemler konusunda eğitim almasının masraflı olması
– Ekibin devamlı bir arada olmasının farklı lokasyonlarda çalışan ekipler için zor ve masraflı olması
-Ürün tasarımı ve ekibin büyüklüğü nedeniyle oluşan sorunlara daha ileri yöntemler olan Disciplined Agile ve Scaled Agile Framework çözüm getirebiliyor.
Waterfall Yaklaşımı
Avantajları
-Projenin başında detaylı bir proje planı yapılarak uygulanması
-Proje yönetim ve ekip rollerinin belli olması, belirsizliğin azalması
-Firmanın klasik yöntemlere aşina olması ve genel olarak proje teknikleri ile ilgili olarak eğitim ihtiyacının Agile tekniklere göre daha az olması
– Projede müşteri kaynak ihtiyacının daha az olması
Dezavantajları
-Müşteri ihtiyaçlarına esnek olarak cevap verememesi ve kapsam kaymasının proje maliyetini artıracağı ve süreyi uzatacağı için kabul görmemesi
– Müşterinin ürünü projenin sonlarına doğru, geliştirme aşamasından sonra gördüğünde çok sayıda değişiklik isteğinin çıkabilmesi
-Ürün, kullanıcılar tarafından yeterince sahiplenilmediği için kullanımında direnç gösterilmesi
-Müşteri ihtiyaçlarına cevap verilmediği ölçüde projede başarısızlık olasılığının yükselmesi
– Agile ve şimdiye kadar kullandığımız klasik Waterfall yaklaşımı arasında seçim yaparken şirket kültürü ve projenin ihtiyaçları büyük rol oynamaktadır.
Bu faktörler değerlendirilmeden herhangi bir yaklaşımın seçilmesi doğru olmaz.
Agile proje yöntemlerinin kullanılabilmesi için şirket kültürünün bu değişime hazır olması ve proje ekibinin bu doğrultuda eğitim almış olması mutlaka gereklidir. Ayrıca Üst Yönetim’in desteği de her projede olduğu gibi çok önemlidir; proje ekibine hızlı karar almak için insiyatif verilmiş olmalıdır.
Referans:
- Jason Fair (2012), Agile versus Waterfall
- Robert Tarne (2015), Why agile may not be the silver bullet you’re looking for
- Gerald O’Connor (2016), Three requirements for a great agile team