Agile Software Development

By | 31 Ağustos 2016

Agile Proje Yönetimi “Çevik Proje Yönetimi” olarak Türkçe’ye çevrilebilir. Adından da anlaşılacağı üzere projenin tüm elementlerine çeviklik sağlamaktadır. Müşteri , Proje yöneticisi, ekipler, yapılan çalışmalar. Peki Agile Proje Yönetimi’nin kaynağına inecek olursak, * Çevik program geliştirme alanındaki önde gelen 17 isim 2001 yılında Snowbird, Utah’ta buluşarak bir yazılımı nasıl daha hızlı, basit ve insan merkezli yaratabileceklerini tartışmışlar ve sonucunda imzaladıkları manifesto ile bu süreci anlatmışlardır. Bu manifestoyu imzalayanlar Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas’tır.

Bundan sonra 2005 yılında ise Alistair Cockburn ve Jim Highsmith yönetim uzmanlarını toplayarak bu manifestoya bir ek yazmıştır. PM Decleration of Interdependence adı verilen bu manifesto 6 madde ile Çevik Yazılım Yaklaşımı Manifestosu’nu günümüze daha iyi uyarlanabilir hale getirmişlerdir.

 

Agile Manifestosu aslında bu 17 lider yazılımcının “nasıl daha iyi bir yazılım geliştirilir” arayışının ve sonucunun ürünüdür. Bu manifestoya göre;

  • Bireyler ve bu bireyler arasındaki etkileşimin önemi
  • Detaylı ve gereksiz ayrıntılarla dolu bir belgelendirme yerine doğru çalışan bir yazılımın önemi
  • Sözleşmede zorlanan kesin kurallar yerine müşteri ile sürekli iş birliğinin önemi
  • Katı, esnetilemeyecek bir planlama yerine değişikliklere açıklığın önemi vurgulanmıştır.

 

Agile’in birinci önceliği müşteriye ürünü hızlı ve sürekli kullanılabilir bir şekilde teslim etmektir. Katı bir kural benimsenmez bu nedenle geliştirmenin her aşamasında değişikliğe açık bir yapısı vardır. Bu nedenle iş teslimi parçalara bölünür, ürün birbirinden bağımsız parçalar olarak geliştirilir, bu geliştirme belirli periyodlarda yapılır, örneğin 2 hafta ile bir aylık periyotlarda.. Bunun için işin aynı süreçlerde ürüne dönüşmesi sağlanmalı ve yine bu anlamda sürdürülebilir geliştirmeye açık olmalıdır.

  • Ekip çok önemlidir, motivasyonu yüksek ekip kurmak gerekir. Zira iyi bir ürün için iyi motive edilmiş, iletişimi kuvvetli ekip elemanlarına ihtiyaç vardır. Proje için bu ortamı yaratmak hayati önem kazanır.
  • Ekibin birbirleri ile olan iletişimini, bilgi aktarımını sağlamak için sık sık ancak kısa süreli toplanmaları sağlanmalıdır.
  • Bir kere Agile’da karmaşaya yer yoktur. Her şey basit ve gerektiği kadar önemlidir. Ekibin kendisini sorgulamasına ortam yaratır, etkin çalışmanın önü açılmalıdır.
  • Tabi bunlara bağlı olarak en önemlisi de ilerlemenin sağlanabilmesi için doğru çalışan yazılımın üretilmesidir. Bunun için teknik alt yapısı güçlü ekip üyelerine ihtiyaç vardır.

 

Scrum Metodunu maddeler halinde anlatacak olursak ;

1. Öncelikle müşteriye (Product Owner)  istekleri sorulur

2.  Bu isteklere göre ihtiyaçlar belirlenir.(Product Backlog)

3. Belirlenen Product Backlog işlemleri  müşteri taleplerine göre en önemliden önemsize göre listelenir. Bu aşamalara göre belirli ve kısa zaman aralıkları ile (1 hafta, 1 ay vs) geliştirmeler yapılır. Bu işleme Sprint Backlog denir. İşlemlerin gerçekleştirilmesi aşamalarında Scrum Master sürekli takip ve çalışma içerisindedir.

4. İşlemler tamamlandığında müşteriye tam çalışan bir ürün teslim edilir ve test edilmesi talep edilir. Müşteri tarafından test edilen ürün için tekrar istekler listelenir. Tam çalışan ve müşteri ihtiyaçları gideren bir ürün çıkana kadar bu işlem hızlı ve sürekli bir şekilde devam eder.

5.  Yapılan geliştirmeler sırasında toplantılar mümkün olduğunda kısa tutulur ve geri dönük işlemler görüşülmez. Sadece mevcut ve bir sonraki yapılacak işlemler görüşülür.

Avantajarı : 

  • Takım ruhu kazandırır
  • Planlama ve yürütme bir arada olduğu için sürdürülebilir kalite sağlar
  • Ayrıntılı plan süreçleri yerine iteratif planlar (tekrar eden süreçler) uygulanır
  • Müşteri ihtiyaçlarına uygunluk önemlidir, sık sık ürün çıktısı verilir ve müşteriden gelen geri bildirimlerle ihtiyaca uygun, doğru ürün çıkarılır.

Dezavantajları : 

  • Kurumsal bir yapıda uygulamak oldukça zordur. Hiyerarşi ve kişisel çekişmeler buna müsaade etmeyebilir.
  • Hedefler kısa vadeli olduğu için ekip üzerinde sonuç baskısı oluşabilir.
  • Kısa süreli ürün teslimi sonucunda gelen geri bildirimlerle çalışma sürelerinin artması muhtemeldir
  • Dokümantasyon konusundaki bilinen birçok şeyin, tabiri caizse, “gereksiz” kılınması durumu vardır.

Bir Cevap Yazın

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