Çevik Metotlar Hangi Projelerde Kullanılmalı ?
Farklı tür projeler farklı yöntemler izlendiğinde başarıya ulaşır. Bunun için bir projede izlenecek yaklaşım belirlenirken belirsizlik, büyüklük, organizasyonel faktörler ve müşteri açısından değerlendirilmesi gerekir.
Projeleri içerdikleri belirsizlik açısından değerlendirdiğimizde, bir kısmında başlangıçta birçok şeyi tanımlamak / planlamak mümkünken bir kısmında bunu yapmak pek mümkün olmuyor. Örneğin bir apartmanın inşaatında veya üretim projesinde ilerleyen safhalarda birçok adımı detaylı olarak planlamak mümkündür. Belirsizliğin nispeten az olduğu ‘endüstriyel iş’ niteliğindeki bu gibi projelerde başlangıçta detaylı bir plan oluşturarak, gereksinimleri tanımlayarak ilerleyen çalışmalara yön verilebilir.
Geleneksel yöntem olarak adlandırdığımız Şelale (Waterfall) yaklaşımı daha çok ‘endüstriyel iş’ niteliğindeki projeler baz alınarak oluşturulmuş bir yaklaşımdır. Bu yaklaşımda, her bir faz (planlama, analiz, tasarım, gerçekleştirme, test) tamamlanmadan bir diğerine geçiş yapılmaz. Bilgi Devrimi ile beraber farklı nitelikteki iş ve projeler de hayatımızda yer almaya başlamış, beraberinde buna özgü yaklaşımların adapte edilmesi gerekmiştir. Bu projeleri ‘enformasyon (bilgi) projeleri’ olarak nitelendirmek mümkündür. Endüstriyel ve enformasyon projelerinin temel özelliklerini kıyaslayacak olursak;
– Endüstriyel işin çıktısı somutken, enformasyon işinin çıktısı daha soyut ve tarifi daha zordur. Projenin başlangıcında her şeyi detaylı tanımlamak yerine, proje süresince müşteri ile daha yakın çalışarak belirsiz hususları açıklığa kavuşturmak gerekir. Yazılım örneğinde sık teslimatlar ile müşteri geri bildirimleri alınarak yazılımın doğrulanması ve ihtiyaca göre evrilmesi sağlanır.
– Endüstriyel iş üretim aşamasında değişime genel olarak kapalıyken veya katı bir değişim kontrol mekanizmasına sahipken, enformasyon işinde geç fazlarda dahi değişime açık olunması gerekir. Bu açıdan endüstriyel iş daha stabildir. Enformasyon işinde ise değişim neredeyse kaçınılmazdır. Örneğin bir yazılımın ilk versiyonu ile müşteri geri dönüşleri sonrasındaki versiyonlar arasında muhtemel birçok fark vardır.
– Enformasyon işi endüstriyel üretime kıyasla daha çok ortak çalışma ve iletişim üzerine kuruludur. Böyle bir yapıda komut / kontrol yaklaşımı yerine ortak karar alma mekanizmaları daha verimli olacaktır.
– Endüstriyel işte standartlar daha katı uygulanırken, enformasyon işinin doğası gereği yapılan proje, çalışan ekip, organizasyon gibi etkenlerle mevcut standartlar projeye özgü uyarlanabilir. Çevik yaklaşım tam da bunu önermektedir. Örneğin Scrum bir çerçeve sunmakta, ekipler bu çerçeveyi süreç iyileştirme yaklaşımıyla kendine göre uyarlamaktadır.
– En önemli farklardan biri de endüstriyel iş çalışanlara daha çok maliyet unsuru gözüyle bakarken, enformasyon işinde çalışanlar projenin değerli varlıkları olarak değerlendirilirler — ya da idealde böyle olması gerekir diyelim :). Bu bakış açısı proje yapılırken sadece işin üretilmesi değil, çalışanların da kendisine değer katmasını içermektedir.
Bu temel farklılıklara rağmen enformasyon projelerinde de geleneksel yöntemlerin kullanılması birçok projenin başarısızlıkla sonuçlanmasına sebep olmuştur. Çevik yaklaşımın çıkış noktasını da bu oluşturmaktadır. Yazılım projeleri enformasyon projelerine en yaygın örneklerdir. Bununla birlikte tasarım ve mühendislik içeren, rutin olmayan diğer işler de enformasyon projeleri olarak değerlendirilir.
Tüm yazılım projelerinde çevik yaklaşım uygun mudur ?
Geleneksel yöntemlerin kullanılmasının uygun olacağı yazılım projeleri de olabilir. Burada 2 temel değerlendirme kriteri önemli rol oynuyor:
– Gereksinimlerin Belirsizliği: Projenin karşılayacağı gereksinimler başlangıçta ne kadar net tanımlanabiliyor ? Bu belirsizliğin fazla olması geliştireceğiniz ürünün sıklıkla değişime uğrayabileceğini gösterir.
– Teknolojik Yöntemin Belirsizliği: Projenin gereksinimleri karşılaması için nasıl bir yol izlenecek ? Burada izleyeceğimiz teknolojik yaklaşım ne kadar net ? Burada yaklaşımımız net değilse prototip niteliğinde çalışmalar ile yaklaşımla ilgili belirsizliği mümkün olduğunca gidermek gerekecektir.
Hem karşılanacak gereksinimler hem de kullanılacak teknolojik yaklaşım konusunda belirsizlik az ise geleneksel yöntemlerin kullanılması da değerlendirilebilir. Bu durumda proje başlangıcından itibaren nadir ve etkisi küçük değişiklikler olmasını öngörüyoruz. Teknik spesifikasyonları ve karşılaması gereken ihtiyaçları çok net olan gömülü bir yazılım buna örnek gösterilebilir.
Belirsizliğin artması durumunda, beraberinde artan karmaşıklık ve risk çevik yaklaşımla daha kolay yönetilebilecektir. Bunu bir şekille özetlemek gerekirse Karmaşık olarak ifade ettiğim ara bölge çevik yöntemler için en uygun bölgedir. Basit olarak ifade edilen bölgede şelale yöntemi de tercih edilebilir. Kaotik olarak vurguladığım bölge ise riskin aşırı yüksek olduğu bir bölgedir ve belirsizliğin bu kadar yüksek olduğu bir durumda projenin yapılması kararı tekrar değerlendirilmelidir.
Bu kriterlere ek olarak, organizasyonun çevik yaklaşıma desteği ve müşterinin yakın çalışma konusundaki isteği bu yaklaşımın projede uygulanabilirliğini doğrudan etkileyecektir.