Bugün paylaştığım diğer yazılım geliştirme metodolojileri için;
bkz: Extreme Programming Nedir?
bkz: Waterfall Yazılım Geliştirme Modeli Nedir?
Yazılım projelerinin ihtiyaçlarına göre yazılım ekiplerinin hangi yazılım geliştirme metodolojisini seçeceklerinin önemini verimlilik ve sürdürülebilirlik açısından zaten vurgulamıştım, bu yazıda da bu disiplinlerden en sık kullanılanlardan birisi olan ve yazılım ihtiyaçlarının çok sık değiştiği gerçeğini göz önüne alarak etkili bir çözüm önerisi sunan agile yazılım geliştirme metodu hakkında bilgi vereceğim.
Agile yazılım geliştirme metodu, Türkçe'ye çevik ya da atik yazılım geliştirme olarak çevrildi. Kelime anlamının ötesinde bu isimlendirmenin sebebi, müşteri isterlerinin ve proje ihtiyaçlarının sürekli olarak değişiyor olması ve hızlı bir şelkilde gerekli geliştirmelerin tamamlanması gerekliliğidir. Geleneksel bir yazılım süreci içerisinde aşağıdaki adımlar takip edilir.
- Planlamalar ve analizler
- Dokümantasyon (süreç içerisinde eşzamanlı olarak devam eder)
- Tasarım geliştirme
- Yazılım geliştirme
- Test (staging server'a taşınmak)
- Deployment (production server'a taşınmak)
- Destek ve hata giderme
Agile yazılım geliştirme metodunda ise yazılımın hızlıca güncellenmesi için bu fazların öncelikleri azaltılır. Amaç, çözüm için gerekli süreci mümkün olduğunca kısaltmak çözüme ulaşmaktır. Dokümantasyon gibi fazlar yine yapılır ve güncellenir, ancak öncelikli değildir. Değişkenler dinamik olduu için yazılımların da bu değişimlere hızlıca ayak uydurabilmesi için iletişim içerisinde hızlıca geliştirme aksiyonları alınır. Burada anahtar rollerden birisi de yazılım projesinin müşterisi ile iletişim kuran kişi ya da ekiptedir. Ekip yönetimi açısından yazılım yöneticisinin de önemi büyüktür.
Agile yazılım geliştirme metodu demek kervan yolda dizilir ya da hele bir başlayalım sonrası kısmet demek değildir. Agile, bir proje yönetim metodudur iş küçük görevlere bölünür ve her bir task için zamanlama tahminleri ile görevlendirmeler yapılır.
Editör editi: sitedeki bazı diğer benzer başlıklar için;
bkz: Docker Nedir?
bkz: Jupyter Notebook Nedir ve Nasıl Kullanılır?
bkz: Source Lines of Code (sloc) Nedir?
bkz: Cloudflare Nedir ve Nasıl Kullanılır?
bkz: NoSQL Nedir?