İçeriğe geç
parazade

Çevik Yazılım Geliştirme Nedir?

İngilizce: Agile Software Development

Yayın: · Son güncelleme:

Çevik Yazılım Geliştirme Nedir? Kısaca

Çevik yazılım geliştirme (Agile), yazılımı küçük parçalar hâlinde, kısa döngülerle üreten, her döngüde kullanıcı geri bildirimi alarak planı güncelleyen ve değişime hızlı uyum sağlamayı öne çıkaran yaklaşımdır.

Çevik Yazılım Geliştirme nedir?
İçindekiler
  1. Çevik yazılım geliştirme nedir?
  2. Manifesto ne söyler?
  3. Pratikte nasıl uygulanır?
  4. Nelere dikkat etmeli?

Çevik yazılım geliştirme nedir?

Çevik yazılım geliştirme, ürünü tek seferde teslim etmek yerine birkaç haftalık döngülerle parça parça büyütmeyi önerir. Her döngünün sonunda çalışan bir sürüm ortaya çıkar ve kullanıcıların tepkisine göre sonraki adımlar belirlenir. Yaklaşım, 2001'de 17 yazılımcının yayımladığı Çevik Manifesto (Agile Manifesto) ile tanımlanmıştır.

Manifesto ne söyler?

Manifesto dört değer öne çıkarır:

  • Süreç ve araçlardan çok bireyler ve etkileşimler
  • Kapsamlı belgelerden çok çalışan yazılım
  • Sözleşme pazarlığından çok müşteriyle iş birliği
  • Bir planı izlemekten çok değişime cevap vermek

Sağdaki maddeler değersiz değildir; manifesto yalnızca soldakilere daha fazla değer verildiğini söyler. Bu değerlerin yanında 12 ilke de bulunur.

Pratikte nasıl uygulanır?

Çeviklik bir felsefedir; onu uygulamak için Scrum, Kanban ve Extreme Programming (XP) gibi yöntemler kullanılır. Bir kargo takip uygulaması düşünün.

Ekip ilk iki haftada yalnızca "takip numarasıyla gönderi sorgulama" özelliğini yayınlar. Kullanıcılar bildirim istediğini söyleyince bir sonraki döngüde bildirim eklenir. Altı ay sonra planlanmış ama kimsenin kullanmadığı özelliklere emek harcanmamış olur.

Nelere dikkat etmeli?

Çevik, plansızlık demek değildir. Döngü hedefleri, önceliklendirilmiş bir iş listesi ve düzenli değerlendirme toplantıları gerekir. Belgeleme de tamamen bırakılmaz, ihtiyaç kadar yapılır.

Sık görülen hata, yalnızca toplantı adlarını değiştirip eski alışkanlıklarla çalışmaya devam etmektir. Ekibinizde çevik yaklaşımı denemek istiyorsanız iki haftalık tek bir deneme döngüsüyle başlayıp sonunda neyin işe yaradığını konuşabilirsiniz.

Sıkça Sorulan Sorular

Agile ile Scrum aynı şey mi?

Hayır. Agile bir yaklaşım ve değerler bütünüdür. Scrum ise bu yaklaşımı uygulamak için tanımlanmış rolleri, toplantıları ve kuralları olan belirli bir çerçevedir.

Çevik yöntem yalnızca yazılımda mı kullanılır?

Yazılımda doğdu ama bugün pazarlama, ürün yönetimi ve insan kaynakları ekipleri de çevik ilkelerden yararlanıyor. Kısa döngü ve sık geri bildirim fikri pek çok işe uyarlanabilir.

İlgili terimler

ScrumScrum, karmaşık ürünlerin en fazla bir ay süren sprintler hâlinde geliştirildiği; Product Owner, Scrum Master ve geliştiricilerden oluşan küçük ekiplerin belirli toplantılar ve iş listeleriyle çalıştığı çevik bir çerçevedir.KanbanKanban, işleri kartlar hâlinde sütunlu bir pano üzerinde görselleştiren, aynı anda yürütülen iş sayısını sınırlayan ve işin akışını sürekli iyileştirmeyi amaçlayan bir iş yönetimi yöntemidir.SprintSprint, Scrum'da ekibin önceden belirlenmiş bir hedefe ulaşmak için çalıştığı, en fazla bir ay süren sabit uzunluktaki çalışma döngüsüdür; her sprint sonunda kullanılabilir bir ürün parçası ortaya çıkar.Şelale Modeli(Waterfall Model)Şelale modeli (waterfall), yazılım geliştirme aşamalarının gereksinim, tasarım, kodlama, test ve bakım sırasıyla, her aşama bitmeden bir sonrakine geçilmeden yürütüldüğü doğrusal proje yönetim modelidir.Yazılım(Software)Yazılım, bir bilgisayarın ya da akıllı cihazın ne yapacağını adım adım tarif eden programların, verilerin ve talimatların bütünüdür. Donanım fiziksel parçaları, yazılım ise bu parçaları çalıştıran mantığı ifade eder.Programlama(Programming)Programlama, bir problemi bilgisayarın uygulayabileceği net ve sıralı adımlara bölüp bu adımları bir programlama diliyle yazma işidir. Ortaya çıkan talimatlar dizisine program denir.Döngü(Loop)Döngü (loop), programlamada bir kod bloğunu belirli sayıda ya da bir koşul sağlandığı sürece tekrar tekrar çalıştıran yapıdır. En yaygın türleri for ve while döngüleridir.