Ar-Ge Yazılım Proje Yönetimi

Ar-Ge yazılım projelerinin yönetiminden önce yazılım projesinde neler ar-ge olabilir bunun hakkında kısaca bir fikir sahibi olalım:

Yazılım projelerini sistem yazılımları ve uygulama yazılımları olmak üzere iki sınıfta ayırabiliriz; bu iki geliştirme içerisinde birçok alanda Ar-Ge yazılım geliştirmesi yapmak mümkündür. Teorik bilgisayar bilimleri alanında yeni teoremler ve algoritmalar, yeni internet teknolojileri, veri yönetimi ile manipülasyon, görüntü işleme ve yapay zeka geliştirmeleri vb. ile daha da ilerleyen upuzun bir liste elde edebiliriz.

Bu yazılım projelerinin içerikleri, analiz geliştirme test süreleri, ihtiyaç duydukları kaynaklar ve nitelikli elemanları hepsi birbirinden farklıdır. En önemli ortak noktaları “yaratıcılık” faktörüdür. Ar-Ge projelerinin amacı yenilikçi olmaktır, bu kapsamda değerlendirdiğimizde de birincil önceliğimiz yaratıcılığı kısıtlamamak olmalıdır. Donanımsal maliyetlerin düşük olduğu bu projelerde genellikle en büyük maliyet zamandır.

Ür-Ge ve Ar-Ge’nin Hızla Geliştiği Çılgın Bir Teknoloji Dönemi İçindeyiz

Ür-Ge ve Ar-Ge’nin hızla geliştiği çılgın bir teknoloji ve tüketim dönemi içerisindeyiz. Proje planlamalarımızda ürün kalitesi ve yenilikçiliği ne kadar öncelik olsa dahi “geç kalınmış” yeni bir ürünle emekleriniz büyük ölçüde harcanabilir.

2004 yılında, Standish Group International’ın yapmış olduğu bir çalışma, yazılım projelerinin %53’ünün gecikmiş ya da bütçesini aşmış, %18’inin tamamlanamamış ya da değiştirilmiş olduğunu ortaya koymuştur. Projelerin yalnızca %29’u zamanında ve ayrılan bütçesine uygun tamamlanmıştır. Sıradan bir yazılım projesinde alınan sonuçlarda dahi plansızlığın olumsuz etkilerini fazlasıyla görüyoruz.

Peki Ar-Ge projelerinde nasıl bu durum?

Ar-Ge projeleri genellikle uzun soluklu ve geç sonuç alınan geniş kapsamlı süreçlerdir. Teknik ekibin ve proje yönetim ekibinin sık sık iletişim halinde olması ve birbirlerini anlıyor olmaları gerekmektedir. Üst yönetimden her zaman sonuç odaklı talepler gelecektir, buradaki iletişimin özellikle önemli olmasının nedeni “yaratıcılık” faktörü kısıtlamadan süre planlamasının doğru şekilde yapılmasıdır.

Ar-Ge yazılım projeleri için klasik yazılım projelerindeki gibi agile proje yönetimi en sağlıklı yaklaşımdır. Yaygın olarak yapılan bir yanlış ise agile (çevik) proje yönetiminin bir metodoloji sanılmasıdır. Ar-Ge projeleri için agile şemsiyesi altında bulunan metodolojiler, teknik ve yönetimsel uygulamalar, süreç içerisinde değişebilir ve karma yöntemler kullanılabilir. Önemli olan proje yapısının ve ekip dinamiklerinin göz önünde bulundurmak ve sizin için uygun olan yöntemlerle, doğru zamanda doğru işleri yapmaktır.

Kanban Metoduna Uyum Süreci

Scrum, Kanban, Extreme Programming (XP), Test Driven Development (TDD), Feature Driven Development (FDD), Dynamic System Development Methodology (DSDM), Lean Development bu agile şemsiyesi altındaki araçlardır.

Yaratıcılığı kısıtlamamak ön plana çıkarıldığında benim tercihim Kanban metodolojisi oldu. Kanban temelinde yalın üretim tekniği olup kartları çekme yöntemi ile hangi ürünün ne zaman ne miktarda üretildiğini görselleştirir.

Robotik ar-ge yazılım projesi çalışanı olarak üzerinde çalıştığım sistemin çok modüllü ve birbirine bağımlı bir proje olması büyük resmi daha kolay görebileceğim bir metot seçmeme sebep oldu. Kanban’daki yalın görselleştirme sayesinde kalabalık bir iş listesinden ziyade tek tek ilgileneceğim ve tamamladıktan sonra kenara atacağım iş kartları görüyorum.

Kanban metoduna uyum sürecinde geliştirmeler uygun modüllere ayrıldı ve bu modüller içerisinde kapsamlı iş parçalarına bölündü. Her bir iş parçası için farklı görev listeleri üzerinden analiz, geliştirme, test ve dokümantasyon sürecini yürütüyoruz. Aradığımız bilgiyi ilgili iş parçası üzerinden takip edebilmek proje karmaşıklaştıkça daha büyük bir önem kazandı. 

Kullandığımız agile araçlarını bir kuralmış gibi değerlendirmekten ziyade ihtiyaçlarımıza göre modifiye etmemiz, bazen de esnetmemiz gerekebilir. Kanban yönetimine ayrıca eklediğim etiketler de kompleks projeyi gerekli iş bölümlerine ayırmamızda bize kolaylık sağladı. Haftanın belirli günlerinde yapılan scrum toplantıları ve kullandığımız etiketler bunlara örnek olarak verilebilir.

Proje içerisindeki ihtiyaçlara göre mevcut düzenden çıkıp daha verimli araçlara geçilmesi gerekecektir. Temel Ar-Ge kurgusunun tamamlanmadığı projeler için Kanban aracını uygun görüyorum. Optimizasyonlar her zaman olacaktır, fakat belirli aşamada Ar-Ge içeriği tamamlandıktan sonra Kanban metodolojisinden daha sıkı ve seri araçlara geçilebilir. Ürünleştirme aşamasında scrum metodolojisinin de faydasının büyük olacağına inanıyorum.

Kanban kartlarını sadece açılan ar-ge projesi için kullanmıyorum. Ar-Ge projesi kapsamında ve genel yönetimsel ve analiz işlerinde de büyük resmi görmemde bana çok faydası dokunuyor hatta günlük hayatımdan işlerim için kullandığım dahi oluyor. Tamamladıktan sonra kenara çekilen her bir kart, gün içerisinde tamamlanmayan işlerden gelen stressin hafiflemesi demek oluyor.

Umarım yazım yardımcı olmuştur, düşünme biçimi sizlerle paylaşmaya çalıştım. Bir sonraki yazımda scrum ve kanban metodolojileri üzerine bir içerik oluşturacağım.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir