Agile, yazılım projelerinde modülleri geliştirmek için kullanılan bir proje yönetim metodudur. Yazılım ekiplerinin yönetimi ve müşterilerin isteklerine hızlı bir şekilde cevap verebilmek için bu metot geliştirilmiştir.
Kısaca Agile
Müşteri isteklerine hızlı bir şekilde cevap vermesi için tasarlanmıştır. Bunun için belli aralıklarla (genelde 2 haftalık) sprint toplantıları düzenlenir, bu toplantılara müşteri tarafından da bir temsilcinin olması önemlidir. Toplantılar ekip lideri ve proje yöneticisi tarafından yönetilir. Amaç geliştiricilerin bir sonraki toplantıya kadar belirlenen işlerin kararlaştırılması ve zamanında tamamlanmasıdır. Bu şekilde yapılacak olan işler küçük parçalara bölünmüş olur. Yazılım projelerinin en büyük problemi işlerin küçültülememesidir. Agile metodu bunu kolaylaştırır.
Agile metodunda yer alan herkesin belli bir rolü vardır;
- Scrum Yöneticisi (Scrum Master): Scrum Master takımların görev dağılımlarını yönetir, takım içindeki eksikleri tamamlar. Scrum Master sprint toplantılarını yöneterek işlerin zamanında tamamlanma sorumluluğunu üstlenir.
- Ürün Sahibi (Product Owner): Product Owner ürünün sahibidir. İsteklerini iş listesi halinde takımlar ile paylaşır. Yapılan işleri kontrol eder. Sprint toplantılarına katılarak işleri takip eder, istediği değişiklikleri ve yeni istekleri takımlara iletir.
- Scrum Takımı: Geliştirme, tasarım, analiz gibi çeşitli takımlar vardır. Takımların uzmanlıklarına göre Product Owner’ın belirlediği iş listelerine göre yapılacak olan işleri belirler zamanlamaları ayarlarlar.
Neden Agile?
Yazılım projelerinin başarı oranları oldukça düşüktür. Geliştiricilerin ve diğer ekiplerin bir araya getirilmesi ve bir ürün çıkartılması esnasında sıkıntılar yaşanmaktadır. Yapılan araştırmalara göre yazılım projelerinin %68’i başarılı olurken agile metodu ile geliştirilen projelerde bu oran %80’lere çıkmaktadır.
Avantajları
- Müşteri ve geliştiriciler sürekli bir arada çalışma durumunda kalır.
- Müşteri isteklerine hızlı bir şekilde cevap verir.
- Geliştiricilerin motivasyonu işler planlandığı için yüksek olur.
Dezavantajları
- Bakım aşamalarında kullanılmaz.
- Öngörülemeyen, acil işlerde yetersiz kalır.
Sonuç
Her metot gibi Agile’ın avantajları ve dezavantajları var. Projeye başlamadan önce ya da devam eden bir projeye uygulamak için bu hususları göz önünde bulundurmalısınız.
