Çevik(Agile) yazılım geliştirme ne? Hızlı bir geliştirme sürecine sahip, kaliteli ürünlerin ortaya çıkması için uygulanan bir geliştirme yöntemi. Agile geliştirme yöntemlerinde en önemli sonuç kriteri müşteri memnuniyetidir. Asıl amaç müşteriyi memnun eden bir ürün ortaya koyabilmektir. Ortaya çıkan ürünün çalışan ve müşterinin ihtiyaçlarını tam olarak karşılayabilen bir ürün olması en temel amaçlardan biridir.
Agile’ın,”Agile Manifesto” adı altında dayandığı 4 tane madde vardır. Bu maddelere http://agilemanifesto.org adresinden de ulaşabilirsiniz. Bu 4 madde aşağıdaki gibi açıklanabilir:
Individuals and interactions over processes and tools:Bireyler ve etkileşimleri,süreçler ve araçlardan önemlidir.
Working software over comprehensive documentation:Çalışan bir yazılım, dökümantasyondan daha önemlidir.
Customer collaboration over contract negotiation:Müşteri ilişkileri ve işbirliği, sözleşmelerden önemlidir.
Responding to change over following a plan:Değişimi yönetmek ve kabullenmek,belli bir plandan daha önemlidir.
Biraz bunları açmak lazım sanki. Agile Yazılım Geliştirme’de, takım çalışması,güven,iletişim gibi insanlar ile olan etkileşim çok önemli. Sürekli bilgi alışverişi ve beyin fırtınalarına dayanan bir geliştirme süreçi olduğundan bu kavramların bilincinde olmak geliştirme sürecine artılar katabiliyor. Geliştirme sırasında ya da öncesindeki analiz kısımlarında sürekli yüz yüze bir iletişim ile gereksinim ve ihtiyaçların sürekli üzerinden geçilmesi daha sağlıklı sonuca ulaşmak için kaçınılmaz ihtiyaç.
Agile yazılım geliştirme süreçlerinde her zaman çalışan bir yazılım aranan bir kavram. Zaten soyut kavramlardan oluşan yazılım dünyası, bu dünyaya uzak olan müşteri için pek bir şey ifade etmeyecektir. Bu yüzden bazı şeyleri biraz daha somutlaştırmak adına çalışan bir yazılım her zaman aranan bir kavramdır. Uygulamaların nasıl çalışacağına ya da ne yapacağına dair uzun ve karışık dökümanlardan çok müşteriye çalışan bir uygulama göstermek her zaman daha faydalı olacaktır.
Agile’ın altını çizdiği bir başka husus da müşteri ilişikileri.Belli bir sözleşme yerine sürekli müşteri ile işbirlik halinde olunmasının daha faydalı olacağı manifestoda söylenen diğer bir şey. Müşterinin ihtiyaçlarını sürekli sorgulamak ve işi onunla beraber yapmak ortaya çıkacak ürünün kalitesi adına önemli bir nokta.Bu noktada, ihtiyaçların sürekli sorgulanmasından dolayı da ortaya çıkacak değişiklik taleplerine de açık olmak gerekmekte.Bu değişikliklerin yönetilmesi sayesinde ürünlerin canlılığı ve tam olarak ihtiyaca uygun olması sağlanabiliniyor.
Agile ile ilgileniyorsanız, ciddi bir şekilde daha yoğunlaşmanızı tavsiye ederim. Gün geçtikçe çok daha fazla terchi edilen geliştirme yöntemi oluyor. Bu konu hakkında ilerleyen zaman içerisinde çok daha fazla yazı yazmaya niyetliyim.
Google’dan Agile Software Development diye arattığınızda çıkan sonuçlara göz atmanızı tavsiye ederim. Hatta ilk olarak wikipedia çok faydalı olabilir…