Agile Manifesto

agile-manifestoAgile Manifesto Nedir?

On yedi yazılım gurusu 2001 yılında Amerika’nın Utah eyaletinde bir araya gelip yazılım geliştirme ile alakalı 2 günlük bir beyin fırtınası yaptılar. Toplantının amacı yazılım geliştirme üretkenliğini arttırmak, bu doğrultuda da farklı tecrübe ve yaklaşımları değerlendirmekti. Toplantı sonucunda fikir birliğine varılan ve toplantının bir çıktısı sayılabilecek 4 maddelik bir değerler topluluğunu Çevik Yazılım Geliştirme Manifestosu ismi ile yayınladılar. Bu bildirge geçtiğimiz 15 yıllık süreçte yazılım projelerinde elde edilen başarının artması için bir yön gösterici ve hedef vizyon halini alarak ana akıma dönüştü.

Agile Manifesto’nun Türkçesi

Süreçler ve araçlardan ziyade bireyler ve aralarındaki 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

kanaat getirdik.

Özetle, sol taraftaki maddelerin değerini kabul etmekle birlikte, sağ taraftaki maddeleri daha değerli bulmaktayız.

Agile Manifesto’nun İngilizcesi

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Agile Manifestonun Anlamı

Agile Manifesto’nun maddelerini okuduğumuz zaman daha az değer verilen kısımların hiç yapılmaması anlamına gelmediğinin akılda kalması önemli. Ayrıca aşağıdaki bazı püf noktaları da göz önünde bulundurmak gerekli;

  • Süreçler ve araçları bir değer üretmek için kullanmalıyız. Süreç ve araçlar, kötü bürokrasi yaratacak bir düzeye gelmemeli ve bireyler ve aralarındaki etkileşimleri bozmamalıdır. Süreci takip etmek ve araçları kullanmak önemlidir. Fakat seçimlerimizde bireylerin etkileşimlerini maksimize etmek ve takım oyunu yaratabilmek daha önemlidir.
  • Sadece ve sadece değer ifade eden dokümantasyon üretilmeli ve takımın ilerlemesini engelleyici, değerden çok yük oluşturan bir dokümantasyona izin verilmemelidir. Sonuçta haftalarca, aylarca ve yüzlerce sayfa yazılan dokümantasyon aynı paralelde çalışan bir yazılım yok ise müşteri için çok bir anlam teşkil etmeyebilir. Değer odaklı bir yaklaşımla ilerlenmeli, önceliklendirme yapılarak kaynak bu doğrultuda kullanılmalı ve her zaman atılan taşın kaç kurbağa ürküteceği değerlendirilmelidir.
  • Kontratlar zaman zaman işlerin ilerlemesini zorlaştıran unsurlar olarak pozisyonlanabiliyor. Bunun yerine müşteri ile konuşmak, bir güven ortamı oluşturmak ve işbirliğine gitmek çevikliği artıracaktır. Müşteri ayrı ve karşı bir taraf olarak değil, takımın bir parçası olarak görülmelidir. Müşteriler sürece dahil olduğu oranda doğru çıktıların üretilebilmesi mümkündür.
  • Bir projenin tüm gidişaatını önceden düşünüp planlamak oldukça zahmetli bir iş olduğu kadar hızlıca değişen ortamlarda pek de mümkün bir yöntem değildir. Bu yüzden değişen şartlara göre de planı adapte edebilmek geliştirme etkinliğini artıracaktır. Planın bir araç olduğu ve amaca ulaşmak için bu aracın değişimle birlikte hareket etmesi gerekliliği unutulmamalıdır. Başarının elinizde çok az bilgi varken hemen proje başında yapılan bir plana uymakla gelmesi, plan süreçte adaptaston göstermediği sürece pek olası değildir.

Çevik Yazılımın 12 Prensibi

Bu toplantıda, Agile Manifesto’ya ek olarak 12 Çevik Yazılım prensibi de yayınlanmıştır. Bu maddeler ise şöyledir;

  • En önemli önceliğimiz değerli yazılımın erken ve devamlı teslimini sağlayarak müşterileri memnun etmektir.
  • Değişen gereksinimler yazılım sürecinin son aşamalarında bile kabul edilmelidir. Çevik süreçler değişimi müşterinin rekabet avantajı için kullanır.
  • Çalışan yazılım, tercihen kısa zaman aralıkları belirlenerek birkaç haftada ya da birkaç ayda bir düzenli olarak müşteriye sunulmalıdır.
  • İş süreçlerinin sahipleri ve yazılımcılar proje boyunca her gün birlikte çalışmalıdırlar.
  • Projelerin temelinde motive olmuş bireyler yer almalıdır. Onlara ihtiyaçları olan ortam ve destek sağlanmalı, işi başaracakları konusunda güven duyulmalıdır.
  • Bir yazılım takımında bilgi alışverişinin en verimli ve etkin yöntemi yüzyüze iletişimdir.
  • Çalışan yazılım ilerlemenin birincil ölçüsüdür.
  • Çevik süreçler sürdürülebilir geliştirmeyi teşvik etmektedir. Sponsorlar, yazılımcılar ve kullanıcılar sabit çalışma temposunu sürekli devam ettirebilmelidir.
  • Teknik mükemmeliyet ve iyi tasarım konusundaki sürekli özen çevikliği artırır.
  • Sadelik, işin özü olmayan işlerin yapılmamasını en üst seviye tutmak elzemdir.
  • En iyi mimariler, gereksinimler ve tasarımlar kendi kendini örgütleyen takımlardan ortaya çıkar.
  • Takım, düzenli aralıklarla nasıl daha etkili ve verimli olabileceğinin üzerinde düşünür ve davranışlarını buna göre ayarlar ve düzenler.

Yazılım projeleri yaşam döngüleri boyunca kaynakların doğru kullanılmaması, yanlış önceliklendirmeler ve iş birimleri taleplerinin doğru anlaşılamaması nedeni ile başarısızlık tehlikesi ile karşı karşıya kalmaktadır. The Standish Group’un 2009 yılı Chaos Report’una göre yazılım projeleri dünya genelinde %68 oranında başarısızlıkla sonuçlanmaktadır. Bu durum, Avrupa ve Amerika’daki büyük şirketleri, üretkenliği daha yüksek projeler üretmek üzere çeşitli yöntemleri denemeye yöneltmiş ve çoğu şirket yönetimde ve uygulamada en başarılı buldukları Agile (çevik) yazılım geliştirme yaklaşımlarını benimsemişlerdir.

Agile yaklaşımlar uygulandığında artan;

  • proje üretkenliği,
  • projenin değişikliklere hızlı adapte olabilme yeteneği,
  • proje kalitesi ve
  • projenin pazara çıkış hızı

doğrultusunda projelerin başarı oranları %80’lere çıkartılabilmiş ve elde edilen önemli rekabet avantajı ile birlikte proje karlılıkları artırılmıştır.

Agile (çevik), dünya üzerinde kabul edilen yöntemler arasında en hızlı ve güvenli proje geliştirme yaklaşımıdır. Şu anda dünyada irili ufaklı birçok şirket tarafından yoğun bir şekilde kullanılmaktadırlar

Çevik çalışmalar dileğiyle..

 

Kaynak :

  • http://www.agilemanifesto.org/iso/tr/manifesto.html
  • http://www.acm-software.com/acmblog/agile-manifesto-nedir/
  • http://www.acm-software.com/agile/
PaylaşShare on Facebook7Tweet about this on TwitterShare on Google+1Pin on Pinterest0Share on Tumblr0Share on LinkedIn0Email this to someone

Yazar Hakkında Yazarın Bütün Yazıları

İlker Yavuz

Bir Cevap Yazın

Your email address will not be published. Required fields are marked *

*