Merhaba,
Bu yazımda size soru cevap şeklinde çevik yazılım geliştirme ile ilgili bilgiler vereceğim.
Agile Software Development nedir?
Türkçeye çevik yazılım geliştirme olarak çevrilmiştir. Agile Manifestosunda özü açıklanmaktadır.
Agile manifestosu nedir?
Çeşitli yazılım geliştirme alanlarında uzman 17 kişinin klasik yazılım geliştirme süreçlerine alternatif bir yazılım geliştirme süreci oluşturmak istemelerinden doğmuştur. 2001 yılında Amerika’nın Utah eyaletinde imzalanmıştır.
Manifesto ne der?
“Süreçler ve araçlardan ziyade bireyler ve etkileşimlere
Kapsamlı dökümantasyondan ziyade çalışan yazılıma
Sözleşme pazarlıklarından ziyade müşteri ile işbirliğine
Bir plana bağlı kalmaktan ziyade değişime karşılık vermeye
değer vermeye kanaat getirdik. Özetle, sol taraftaki maddelerin değerini kabul etmekle birlikte,
sağ taraftaki maddeleri daha değerli bulmaktayız.” der.
Agile Menifestonun prensipleri nelerdir?
1. Değerli yazılımı mümkün olduğu kadar çabuk ve sürekli olarak müşteriye sunarak, müşteri memnuniyetini sağlamak ilk önceliğimizdir.2. Yazılım sürecinin sonlarında dahi olsa değişiklik gereksinimleri her zaman kabulümüzdür. Çevik süreçler müşterinin rakabet avantajına olacak değişiklikleri destekler.3. Çalışan yazılım bir kaç hafta veya birkaç ay gibi mümkün olan en kısa aralıklarla teslim edilmelidir.4. İş tarafı ve yazılımcılar proje boyunca hergün beraber çalışmalıdır.5. Proje motive bireyler ile yapılmalıdır. Bireylere ortam sağlanmalı, destek verilmeli ve işi yapacaklarına inanılmalıdır.6. Yazılım takımları arasında en etkin ve verimli bilgi aktarımı yüz-yüze iletişim ile yapılandır.7. İlerlemenin temel ölçütü çalışan yazılımdır.8. Çevik süreçler sürdürülebilir geliştirmeyi teşvik eder. Sponsorlar, yazılımcılar ve kullanıcılar hızlarını sürekli korumalıdır.9. Teknik mükemmeliğe ve iyi tasarıma gösterilen sürekli ilgi çevikliği geliştirir, güçlendirir.
10. Basitlik-yapılmayan işi maksimum hale getirme sanatı- esastır.11. En iyi mimariler, gereklilikler ve tasarımlar kendi kendini organize eden takımlardan çıkar.12. Belirli aralıklarla, takım daha verimli olmak için ne yapması gerektiğini görüşmeli, karar vermeli ve buna göre davranışlarını ayarlamalıdır.
Agile ve Scrum arasındaki ilişki nedir?
Scrum agile yazılım geliştirme prensiplerini hayata geçiren yöntemlerden biridir.
Diğer yöntemler nelerdir?
XP(Extreme Programming-Uç Programlama ), FDD-Feature Driven Development (Özelliğe Yönelik Geliştirme), DSDM-Dinamik Sistem Geliştirme Metodu,ASD-Adaptive Software Development (Uyarlanabilir Yazılım Geliştirme), Crystal, Pragmatic Programlama, Lean(Yalın) Yazılım Geliştirme, Kanban
Agile yazılım geliştirme denetimler açısından sorun teşkil eder mi?
Agile yöntemler geçerli regülasyonların, denetimlerin beklentilerine göre tasarlandığında denetimler açısından sorun teşkil etmez. Daha çevik olması artısı olarak değerlendirilebilir.