Agile Proje Yönetimi – Bilişim IO
Proje Yönetimi dediğimiz zaman günümüzde popüler kelimeler arasına giren ‘AGILE’ hakkında biraz bilgi vermek istiyorum. ‘Yazılım Projelerinde başarısızlık nedenleri’ isimle yazımda belirtmiştim; yazılım projelerinin birçoğu başarısızlıkla sonuçlanmaktadır. Peki bu başarısızlıkları gidermek için ne yapabiliriz dersek, birçok firma / kişi için cevap; AGILE ‘dır. Yazılım sektöründen kişilerle konuşurken sık sık duyarsınız ‘Agile Dönüşüm Sürecindeyiz’. Peki nedir bu Agile…
Benim tanımım; çevik ve değişime adapte olup, müşteri ile daha yakın, takım çalışmasını en yüksek düzeyde kullanılarak sürekli iyileştirmelerle çıkan ürünü parçalar halinde maksimum fayda ile teslim etmektir. Biraz karışık bir tanım oldu farkındayım, fakat ‘Agile’ içerisinde birçok parça barındırdığı için tek cümle ile tüm bileşenlerini ifade etmek gerçekten zor. Agile tanımından sonra; Agile ile ilgili en çok sindirmemiz gereken şey olan Agile Manifesto’ya değinmek istiyorum.
Bu dört kavram bazı şirketler veya kişiler tarafından yanlış anlaşılmaktadır. Agile demek;
‘Dokümansız, müşteri ile oturup onların isteklerini hızlı şekilde yapmak ve değişen taleplerine de anında karşılık vermek’ değildir. Waterfall metodundaki zorluğu yaşayan bazı yazılım ekipleri bu düşünce ile rahatlamakta ve proje sonunda yine başarısız ürünler ortaya çıkartabilmektedir.
Waterfall metodundaki zorluk demişken; Waterfall yazılım geliştirmenin Agile yaklaşıma göre bazı dezavantajlarını da aşağıdadır.
Değişime karşı yavaş ve zorlu bir yaklaşım,
Proje kalite problemleri,
Üretilen ürün proje sonunda teslim edildiği için, müşteri ile beklentinin uyuşmadığının geç farkedilmesi,
Ürünün pazara çıkışın geç olmasıdır.
‘Agile Nedir?’ , ‘Neden Agile’ sorularını geleneksel yazılım geliştirme metodlarıyla kısaca karşılaştırarak cevaplamaya çalıştım. Şimdi ‘Agile’ı şirketimizde nasıl uygulamalıyız’ kısmına değineceğim.
Agile yazılım geliştirme için öncelikle hangi metodu seçeceğimizi belirlemeliyiz ve şirket organizasyonumuzu bu metoda göre revize etmeliyiz. Agile yazılım geliştirmenin birçok metodu vardır. Bunlardan en çok kabul görmüş olanlarından biri de SCRUM’dır. Scrum tanım olarak; basit kuralları olan ve tüm kuralları uyguladığımızda kullanıyorum diyebileceğimiz bir yazılım geliştirme modelidir. Scrum’la ilgili detaylı anlatımı başka bir yazımda yapacağım.
Agile dönüşüm için organizasyonel yapıya ek olarak çalışan kişilerin de yaklaşımlarını değiştirmemiz çok önemlidir. Bunların başlıcalarını aşağıda sıralıyorum.
Yazılım geliştiriciler sadece belirli bir alanda değil, birçok alanda uzmanlık sağlayabilmelidir. Agile; işleri yönetilebilir parçalara böldüğü için bu parçalardaki bir işi tek bir yazılım geliştirici tamamlayabilmelidir. Bu iş içerisinde; hem analiz kısmı, hem yazılım geliştirme kısmı hem de birim testi olabilir.
Yazılım geliştiricilerdeki sorumluluk arttığı için; takım ruhuna daha fazla ihtiyaç vardır. Bu ekipler bir yöneticiye ihtiyaç duymadan kendi kendilerini yönetebilmeli ve sürekli iyileştirme ile maksimum verimi sağlayabilmelidir.
Tüm ekip müşteri ile temas halinde olacağından; iletişim ön plandadır. Müşteriyi anlamak, ihtiyaçlarına hızlı cevap verebilmek için belirli bir adaptasyon süreci gereklidir.
Ekip değişime ve yeniliğe açık hale getirilmeli ve sürekli iyileştirme kültürünü benimsemelidir. Yaptığınız işi yapmanın her zaman daha kolay bir yolu vardır, bu yolu görebilmek için adım atmalıyız. Adım attığımız zaman; fırsatlar doğacaktır.
Sonuç olarak; Agile dönüşüm kolay bir süreç değildir. Agile dönüşüm için; Organizasyonel yapı ve kişileri bir kere değiştirerek tüm süreci adapte etmemeliyiz. Bu dönüşümü aşama aşama yapmalıyız. Pilot uygulamalarla şirketimize en uygun olan Agile yaklaşımı bulmalı ve bu yaklaşımı önce organizasyonel yapıyı değiştirerek sonra kişileri bu yapıya adapte ederek uygulamalıyız. ‘En iyi çözümü bulmak’ cümlesi tamamen ucu açık bir cümledir. Hiçbir zaman en iyi çözümü bulduk diyerek durmamalı; iyileştirmelerimize sürekli devam etmeliyiz.
Agile Proje YönetimiAgile Proje Yönetimi NedirProje Yönetimi Nedir