Agile Manifestosu ve Prensipleri

Agile Manifestosu ve Prensipleri

Çevik yazılım metodolojilerinin kökeni 1957 yıllarındaki IBM’deki yazılım geliştirme çalışmalarına dayanmaktadır. Bu çalışmalar daha sonra E. A. Edmonds tarafından arttırımlı yazılım geliştirme olarak tanımlanmış ve 1974 yılında “Uyumlu Sistemler İçin Yazılım Geliştirme” başlıklı bir makale ile tanıtılmıştır. 1990’lı yıllar ise Şelale Modelinin hantal bir sistem olduğu iddia edilerek onun yerine daha hızlı ve çevik yazılım geliştirme metodolojileri sunmaya çalışılan yıllar olarak geçmiştir. 2001 yılının Şubat ayında yazılım dünyasının önde gelen 17 ismi Utah’da bir araya gelerek yazılım geliştirme üretkenliğini arttırmaya yönelik 2 günlük beyin fırtınası yapmışlar ve “Çevik Yazılım Geliştirme Manifestosu” ve “Çevik Yazılımın Prensipleri”ni yayınlamışlardır.

Manifesto, daha iyi bir yazılım geliştirmenin yöntemlerini açıklayan 4 ana madde ve 12 temel prensipten oluşmaktadır. Bu 4 ana maddeye göre; bireyler ve etkileşimler süreçler ve araçlardan; çalışan yazılım kapsamlı dökümantasyondan; müşteri ile işbirliği kontrat görüşmesinden; değişikliklere yanıt vermek bir planı takip etmekten önce gelir. Çevik proje yönetimi sürecinin çerçevelerini oluşturan ve 4 ana maddeyi destekleyen temel prensipler ise 12 başlık altında toplanmıştır.
  • Değerli yazılımın erken ve sürekli teslimatı ile müşteri memnuniyeti sağlanır: Değerli yazılım kavramı müşteri tarafından önceliklendirilen ve kullanılabilir, kaliteli yazılım olarak düşünülebilir. Yazılımın tamamlanan kısımlarının erken ve sürekli müşteriye aktarımı, görüşlerinin alınması memnuniyeti arttırır. Scrum yöntemi kısa döngüler ile çıktı üretmek ve bu süreci yönetmek için etkili bir yöntemdir.
  • Değişiklikler projenin son aşamalarında dahi olsa kabul edilir: Yazılım projelerinde sıklıkla rastlanan değişiklik talepleri rekabet avantajının korunabilmesi için çevik yöntemlerle yönetilmelidir ancak teslim süresi ve kaynaklar taleplere göre etkin ve doğru planlanmalıdır.
  • Çalışan yazılımlar sık aralıklar ile teslim edilir: Tamamlanan iş paketleri aylık yerine haftalık şekilde müşteriye canlı ortamda teslim edilmelidir. İdeal olarak kabul edilen 2-3 haftalık “Sprint” adı verilen süreçlerdir.
  • Müşteri ve programcılar proje boyunca ekip halinde çalışır: Taleplerin sahibi olan iş birimleri/müşteri ile farklı rollere sahip analist, yazılım geliştirici vb. taleplerin doğru anlaşılması ve hızlı karşılanması adına aynı ekibin içinde çalışmalı ve sürekli iletişim halinde olmalıdır.
  • Projeler motive edilmiş bireyler ile güven esasına dayalı kurulur: Proje ekibinde yer alan her üye ayrı yetkinlik ve karakteristik özellikleri ile takımın bir parçası olarak kabul edilir. Özellikle öz motivasyonu yüksek ekip bireyleri ile çalışmak ekip performansı açısından olumlu etki yaratmaktadır. Bunun yanında ekip üyelerinin kendilerine atanan işleri zamanında bitireceğine ve yetkinliklerine dair güven esası da motivasyonu arttırmada önemli bir faktördür.
  • En etkili iletişim yolu yüz yüze görüşmektir: Proje ekibinin aynı lokasyonda bulunması ve mümkün olduğunca yüz yüze iletişim kurması tercih edilir. Proje ekibine ait masa çalışma düzeni U şeklinde düzenlenebilir, bu sayede yanlış anlaşılmalar ortadan kalkarak, sorunlar hemen açıklığa kavuşturulabilir. Coğrafi olarak farklı lokasyonlarda olan ekip üyeleri için ise telekonferans gibi hızlı sonuç alınabilecek iletişim yöntemleri tercih edilmelidir.
  • Sürecin öncelikli ölçütü çalışan yazılımdır: Müşteriye kısa aralıklarla çalışır durumda olan yazılımı sunmak gereksinimlerin takibi ve süreç ilerleyişinin anlaşılması konusunda önemlidir.
  • Çevik süreçler sabit hızlı, sürdürülebilir geliştirmeyi teşvik eder: Sabit bir çalışma temposunun oluşturulması ve eşit görev dağılımı sürdürülebilirlik açısından önem taşır.
  • Teknik mükemmeliğe ve iyi tasarıma dikkat etmek çevikliği ileri taşır: Kalite beklentisi ve müşteri memnuniyeti sağlanması için en iyi araçlar ve yetkinlikte ekip üyeleri ile çalışılmalıdır.
  • Sadelik esastır: Müşteriyi daha memnun edeceği düşüncesi ile yapılan ve proje yönetim terminolojisinde “Altın Kaplama” adı verilen ilaveler ile kapsam dışına çıkılmamalı, müşterinin ana gereksinimlerine uygun ve değişikliği kolay çıktılar üretilmelidir.
  • En iyi mimariler, gereksinimler ve tasarımlar kendi kendine organize olmuş takımlardan çıkar: Çevik ekipler kendi başlarına organize olarak görev paylaşımında bulunma yetkinliğine sahip bireylerden oluşturulmalıdır. Böylelikle, ekip kendi çalışma yöntemlerini sorgulamakta ve gerekli değişiklikleri yapmakta özgür olarak gelişime ve öğrenmeye açık olarak ilerleme kaydeder.
  • Takım düzenli aralıklarla nasıl daha verimli olacağını konuşur ve buna göre davranışlarını ayarlar: Çevik projelerde değişen koşullara uyum sağlamak önemlidir. Scrum metodolojisine göre ekip üyeleri günlük olarak en fazla 15 dakika süren ve ayakta yapılan Standup adı verilen toplantılar ile bir araya gelir, günlük iş planlarını tartışır. Sprint adı verilen 2-3 haftalık iş planlamalarının süresi tamamlandığında ise gelecekte karşılaşılabilecek değişiklere karşı daha iyi adaptasyon sağlayabilmek adına geçmişe dönük değerlendirme yapmak ve öğrenilmiş dersleri çıkarmak üzere Retrospective adı verilen toplantılar yapılır.
Manifestoda yer alan maddelerin ve prensiplerin pratikte tümüyle uygulanması ve yönetilmesi çok kolay olmasa da özellikle etkin iletişim yönetimi ve doğru iş planlaması sağlanarak bile çevik projelerde fark yaratılabilir, projelerin zaman, kapsam, maliyet temel çizgilerinde ciddi sapma azalışları ile performans artışları gözlenebilir.

All4 Agile

Beyond Being Fast

Bu konuda yapılmış yorum bulunmamaktadır.
İlk yorumu siz yapmak için aşağıdaki formu doldurun.

Yorum Yaz