Çevik Yazılım Geliştirme Metodu
Çevik yazılım süreçleri, 1950’lerdeki üretim alanında verimliliğin artırılması için geliştirilen yalın yaklaşımların yazılım sektöründe bir uzantısı olarak ortaya çıkmıştır. Yazılım dünyasında çeşitli çevik yaklaşımlara 1970’lerden itibaren rastlanabilmekle birlikte, çevik yazılım metodolojilerinin kullanımı 1990’larda hız kazanmış ve geçtiğimiz son 7 - 8 yıl içerisinde de tüm dünyada başarılarını kanıtlayarak popülaritesini arttırmıştır. Şu anda, dünyadaki birçok yazılım şirketinde ve birçok yazılım projesinde yazılımlar, çevik yaklaşımlarla geliştirilmektedir.
Çevik yazılım geliştirme metodu, tekrarlanan yazılım geliştirme metodu taban alınarak geliştirilmiş, sık aralıklarla parça parça yazılım teslimatını ve değişikliği teşvik eden bir yazılım geliştirme metodolojisidir. Çevik geliştirme, değişimi, takım içerisindeki iletişimin arttırılmasını, parça parça yazılım teslimatını, test odaklı yazılım geliştirilmesini ve uyumlu planlamayı teşvik eder.
Çevik Yazılım Geliştirme Manifestosu
2001 yılında, dünyanın önde gelen çevik yazılım geliştiricileri (XP, Scrum gibi metodolojilerin yaratıcıları) ortak bir zeminde buluşabilmek adına bir araya gelerek “çevik yazılım geliştirme manifestosu” nu ve “çevik yazılımın prensipleri” ni yayınlamışlardır. Böylelikle çevik metotların projelere genel bakış açıları ifade edilmiştir. Bu manifestoda;
- Bireyler ve aralarındaki etkileşimlerin, kullanılan araç ve süreçlerden;
- Çalışan yazılımın, detaylı dokümantasyondan;
- Müşteri ile işbirliğinin, sözleşmedeki kesin kurallardan;
- Değişikliklere uyum sağlayabilmenin, mevcut planı takip etmekten;
Çevik Yazılımın Prensipleri:
1. İlk öncelik, sürekli, kaliteli yazılım teslimatıyla müşteri memnuniyetini sağlamaktır.
2. Proje ne kadar ilerlemiş olursa olsun değişiklikler kabul edilir. Çevik yazılım süreçleri
değişiklikleri müşteri avantajına dönüştürürler.
3. Mümkün olduğunca kısa zaman aralıklarıyla (2-6 hafta arası) çalışan, kaliteli yazılım
teslimatı yapılır.
4. Analistler, uzmanlar, yazılımcılar, testçiler vs. tüm ekip elemanları bire bir iletişim halinde, günlük olarak birlikte çalışırlar.
5. İyi projeler motivasyonu yüksek bireyler etrafında kurulur. Ekip elemanlarına gerekli
destek verilmeli, ihtiyaçları karşılanarak proje ile ilgili tam güvenilmelidir.
6. Ekip içerisinde kaliteli bilgi akışı için yüz yüze iletişim önemlidir.
7. Çalışan yazılım, projenin ilk gelişim ölçütüdür.
8. Çevik süreçler mümkün olduğunca sabit hızlı, sürdürülebilir geliştirmeye önem verir.
9. Sağlam teknik alt yapı ve tasarım çevikliği arttırır.
10. Basitlik önemlidir.
11. En iyi mimariler, gereksinimler ve tasarımlar kendini organize edebilen ekipler tarafından yaratılır.
12. Düzenli aralıklarla ekip kendi yöntemlerini gözden geçirerek verimliliği arttırmak için gerekli iyileştirmeleri yaparlar.
Kaynaklar:
www.agilealliance.com
www.scrum.org
Agile&Iterative Development, Craig Larman, Addison-Wesley 2007
Bu doküman, ACM Yazılım Çözümleri’nin katkılarıyla hazırlanmıştır.
GERİ
YUKARI


