Agile Nedir?

Agile, kelime anlamı olarak atik, çevik ve kıvrak manasına gelmektedir. Biz yazılımcıları ilgilendiren tarafı ise bir grup bilir kişi tarafından oluşturulmuş ve herkes tarafından kabul görmüş bir yazılım geliştirme yöntemidir. Aslında bir fikir ve görüşten ibarettir. Elle tutulmaz, gözle görülmez, yenilmez ve içilmez bir şeydir. Yazılıma felsefi bir yaklaşım getirmektedir.  Atik Proje Yönetimi (Agile Project Managemement) veya Agile Metodolojisi (Agile Methodology) isimleriyle sıkça karşımıza çıkmaktadır. Fikir babalarının oluşturduğu websitesine buradan erişebilirsiniz.

Çevik Proje Yönetimi

Kurumsal yazılım geliştirme firmalarıyla veya kendi yazılım geliştirme ekibi olan firmalarla yaptığınız görüşmelerde sıkça duyacağınız veya karşılaşacağınız bir terimdir. 2001 yılından ortaya atılan bir fikir olsa da son yıllarda daha çok ön planda tutulmaktadır. Bunun belki de en önemli sebebi ise büyük firmaların bu metodolojiye ayak uyduramayıp Osmanlı Devleti’nin çağın yeniliklerine ayak uyduramayıp batması gibi tepetaklak olmasıdır.

Bu yaklaşımı (felsefeyi) ortaya atan fikir babaları 12 temel ilkeden bahsetmektedir. Bunlar;

  1. En önemli önceliğimiz değerli yazılımın erken ve devamlı teslimini sağlayarak müşterileri memnun etmektir.
  2. 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.
  3. Ç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.
  4. İş süreçlerinin sahipleri ve yazılımcılar proje boyunca her gün birlikte çalışmalıdırlar.
  5. 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.
  6. Bir yazılım takımında bilgi alışverişinin en verimli ve etkin yöntemi yüz yüze iletişimdir.
  7. Çalışan yazılım ilerlemenin birincil öçüsüdür.
  8. Çevik süreçler sürdürülebilir geliştirmeyi teşvik etmektedir. Sponsorlar, yazılımcılar ve kullanıcılar sabit tempoyu sürekli devam ettirebilmelidir.
  9. Teknik mükemmeliyet ve iyi tasarım konusundaki sürekli özen çevikliği artırır.
  10. Sadelik, yapılmasına gerek olmayan işlerin mümkün olduğunca arttırılması sanatı, olmazsa olmazlardandır.
  11. En iyi mimariler, gereksinimler ve tasarımlar kendi kendini örgütleyen takımlardan ortaya çıkar.
  12. 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.

olarak sıralanmaktadır.

Faydaları
  • Yazılım geliştirme sürecinde ortaya çıkabilecek ani değişiklikler için esneklik sağlar.
  • Müşterileriniz projeye dahil olacağı için ortaya çıkacak problemlerde geri bildirim almayı kolaylaştırır ve hızlandırır.
  • Ekip ruhuna öncelik verilerek ortaya çıkan uyum sayesinde sorunların daha hızlı çözülmesi sağlanır.
  • Proje hızla ilerlerken ortaya çıkan her problem bir sonraki döngüde daha iyi bir çözüm için basamak olarak kullanılır.

Bir sonraki yazımızda görüşmek üzere…

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir