Bilgi Akışı

Agile ile Yazılım Yönetimi

Herkese merhaba bu yazıda Agile yani çevik yazılım geliştirme metodolojisini incelemeye çalışacağız

Agile nedir?

Agile bir yazılım geliştirme sürecinde müşterinin istekleri ile ürünün gelişimini paralel olarak işleyen proje geliştrime metodolojisidir.

Nasıl yani?
Yazılım projelerini %50’sinden fazlası zaman,maliyet,kapsam açısından başarısız olarak görülüyor. Peki bu başarızlığa sebep olan faktörler nelerdir dersiniz, şu aşağıdaki fotoğrafa bir bakalım

1.Şelale Modeli - Modern Yazılım Geliştirme

Fotoğrafta normal bir projenin adımlarını net bir şekilde görmekteyiz. Peki tamam şimdi sırayla tekrar edelim bir proje aldık gereksinimleri belirledik tasarımı yaptık ve ona göre kodunu yazdık sıra test aşamasına geldi. Testi başlattık bir ne olsun istersiniz müşterinin isteklerinde bir kaç değişme oldu. Peki çözüm nedir, projeyi en baştan tasarlamak. Sizce mantıklı mı? HAYIR!

Peki ne yapacağız? Tabi ki Agile metodunu kullanacağız

Bu metodu anlatmaya başlamadan önce şunu belirtmem gerekiyor. Yapacağımız projeler eğer kurumsal bazda ise bu projeleri daha önce ki yazımda yazdığım SOLID prensiplerine uygun olarak nesne yönelimli programlama teknikleri ile yazmalıyız. Eğer her şeyi fonksiyonlara bırakırsak bizi Agile’de kurtaramaz.

Yazılımlar çeşitli vesilelerle belirili sürelerle güncellenmeye ihtiyaç duyarlar. Bu güncellemeleri yapacak iş gücü projeleri her zaman sıfırdan yazmak yerine ellerinde ki projenin üzerine koyarak ilerlerler. Yani projeyi sürekli olarak sürdürürler. Agile’ de buradan gelir.

Agile’nin tarihi 2.Dünya savaşından sonra batılıların doğululardan aldığı kaizen modeline  ve toplam kalite yönetimine dayanır. Şuradan  Agile manifestosu okuyabilirsiniz.

Kazien: Belirli bir zaman diliminde müşteri memnuniyetinin arttırılması ve rekabet güçlerinin etkilenmesi amacıyla süreçlere yönelik, çalışan, süreç, zaman ve teknolojide yavaş yavaş; fakat çok sayıda hızlı bir gelişme sağlamayı ve maliyetlerde bir düşmeyi ifade eden bir kavramdır.

Toplam Kalite Yönetimi:Müşteri ihtiyaçlarını karşılayabilmek için kullanılan insan, iş, ürün ve/veya hizmet kalite gereksinimlerinin, sistematik bir yaklaşımla ve tüm çalışanların katkıları ile sağlanmasıdır

Yukarıdaki 2 modeli yazılım projeleri için birleştirip ismini Agile koymuşlar.

Agile ile yönetilen projeler yukarıdaki  şelale şeklinde değilde dairesel şekilde adımları vardır. Projenin her adımında adımlar tekrar edilir ancak bu adımlar projenin geneli kadar büyük olmadığı için bu olay hızlıca yapılır.  Yani özyinelemeli olarak büyük işleri parçalara bölerek işler bitirilir :).

Agile Yazılım Geliştirme - Yazılım Yaşam Döngüsü- Proje Yenilik

Fotoğrafta da görüleceği üzre dairesel şekil aslında projede parçalara bölünmüş küçük bir projeyi temsil etmektedir. Yani proje içinde proje yapmak diyebiliriz. Bu küçük parçaların gereksinimlerin hesaplanmasından test aşamasına kadar süreçleri yapıp ana projeye güvenli şekilde entegre edebiliriz.  Bu durumda proje üzerinde  herhangi bir değişiklik istendiğinde ilgili birim değişikliği yapıp projeye tekrar entegre edebilir.

Daha sonra ki yazılarda küçük projelerin ana projeye eklenme yollarından biri olan servis teknolojilerini inceleyeceğiz.

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgili Makaleler

Başa dön tuşu