Yazılım Geliştirmede Agile Nedir? Agile'ın Önemi Nedir?

 Yazılım Geliştirmede Agile Önemi Nedir?

 

Agile Geliştirme Nedir? Agile yani çevik metodoloji, size nispeten daha az baş ağrısıyla daha hızlı ürün teslimatı vadeden bir proje yönetim ve yazılım geliştirme yaklaşımıdır. Her şeyi planda toplayıp aynı anda önetmek yerine küçük ve etkili bir metot önerir bize Agile. Kendileri tekrarlayıcı ve artırımlıbir perspektiften bakan hıza ve ürünün kendisine odaklanmış faydalı bir yaklaşımdır. Agile Manifesto nedir? Agile yaklaşımı kendisini oluşturan bir çerçeveyle anlatılabilir. Bu çerçeve Agile manifestosudur, peki nedir bu manifesto? Bu manifesto 4 temel değer ve 12 prensip ile şekillendirilmiştir.Süreç ve araçlardan ziyade bireyler ve etkileşimKapsamlı dokümantasyondan ziyade çalışan bir yazılımSözleşmeye ve pazarlıklara odaklanmak yerine müşteri iş birliğiBir plana bağlı kalmak yerine talep edilen değişime karşılık vermekdaha kıymetlidir der Agile Manifesto bizlere Prensiplerden bazıları ise şunlardır:Markette hız, her an değişime açık olmak, sürekli ve demoyla müşteri etkileşimi, motivasyonu yüksek yüzyüze etkileşim ve dahası üzerine kurulmuştur. Yani kısacası Agile az zamanda en çok verimi elde etme yaklaşımıdır, kelime anlamının çevik olmasından da bu çıkarıma kolaylıkla ulaşılabilir diye düşünüyorum .
Yazılım Geliştirme Süreçleri 
Konuya paldır küldür giriş yapmamak adına öncelikle yazılım geliştirme nedir, bunun süreçleri nelerdir bunun döngüsü nasıl yorumlanır ve Agile metodolojisinin bu konudaki mevcudiyeti nedir sorularını incelemekte fayda olabilir.Öncelikle yazılım geliştirme döngüsü nedir sorusuna odaklanalım. En kısa zamanda ve en yüksek değerdeki yazılımı üretme uğraşıyla oluşturulmuştur. Hedeflenen bu uğraş için geliştirilen tüm aşamalara yazılım geliştirme döngüsü adı verilir İçerisinde tanımlanmış 6 alt başlıktan oluşur; Planlama/Analiz, Dizayn, Kodlama, Test, Uygulama/Integrasyon ve Bakım. 
Planlama
Kısaca Planlama ve Analiz evresinde işin gerektirdikleri ve odak noktaları üzerine pozisyon alınır. Bu fazın odağında proje yöneticileri ve işin ilgilileri rol oynamaktadır. Potansiyel User/Kullanıcı kimdir, nasıl kullanacaklar, hangi veriler girdi olarak verilmeli sonucunda nasıl çıktılar olmalıdır ve benzeri sorulara cevaplar aranır. Sonucunda Requirement Specification dokümanı elde edilir ve bu projenin ileriki fazları için bir yönerge olmaktadır.
Dizayn
Kısaca talep edilen gereklilikler üzerinden sistem gereklilikleri dizayn edilir. Bize yazılım ve donanım konusunda sistem mimarisi planlanmasında yardımcı olur.
Kodlama
gerekli implementasyonun yapıldığı ana fazdır. Ardından geliştirilen kodlama Test fazında test edilir.Bu aşamada gerekli fonksiyonel testler, sistem testleri, integrasyon testleri ve onay testi yapılır.Gerekli test aşamalarını geçen proje kodlarımız sistemimize Uygulama fazında deploy edilir. Talep edilen sistemimiz böylece geliştirilmiş olur, temelde geriye kalan yalnızca bakım dır o da problem bazlı ya da talep bazlı ilerlemektedir.
Agile in Yazılım Geliştirme Döngüsündeki Yeri
Agile metodolojisi, yazılım/uygulama geliştirmek için süreci, işi hızlı bir şekilde bitirip müşterinin isteklerini tam anlamıyla karşımaya yönelik belirlemektedir. Bu bağlamda standart yazılım geliştirme döngüsüyle arasındaki farklılıklara bu şekilde değinilebilir:
Kullanım farklılıkları normal döngü verimli ve kaliteli ürün için iyi dokümente edilmiş şekilde kendi çerçevesinden sapmadan ilerlerken Agile arttırımlı yaklaşımla kaliteyi yakalamayı hedeflemektedir. Fazlar normal döngüde nettir, geliştirme farklı fazlar üzerinden belli bir döngüde yönetilirken Agile talep üzerine farklılık gösterebilir esnektir, böylece modellenebilir.Normal geliştirme döngüsünde ürün her türlü platformu desteklerken Agile yalnızca arttırımlı geliştirmeyi sağlayabilecek şekilde parçalandırılmış platformlarda desteklenebilir.Üstteki farklılıklardan ziyade Agile metodolojisini sahip olduğu yere getiren farklılıklardan bahsedelim; Agile hıza ve ürün geliştirmeye odaklı değişim bazlı bir metodoloji olduğu için yalnızca daha düşük kapsamlı projelerde/küçük uygulamalarda kayda değer verimde uygulanabilmektedir. Tabiki iyi dokümente etmeden, sağlam görev dağılımı ve bölüm koordinasyonu ayarlamadan yalnızca ürün geliştirme odaklı yaklaşım için bunu tahmin etmek çok da zor olmamalı.Startup'lar ve düşük kapsamlı projeler için biçilmiş kaftan olması gerçeğini değiştirmese de her türlü projeye entegre edilebilir. Agile kritik ve son dakika değişimleri de dahil her türlü değişim için açık dinamik bir yaklaşımdır bu bağlamda çok büyük avantaj sağlaması da muhtemeldir. Değişimin ihtiyaç olduğu tüm projelerde uygun ve verimlidir. Agile realist ve esnek yaklaşımda temellendirilir ve yönetimi kapsamının daha kısıtlı olmasından dolayı çok daha kolay yönetilebilir.

            



Yorum Gönder

0Yorumlar
Yorum Gönder (0)