Hepimiz Agile fanı olduk tamamda gerçekte kaç kişi bilir yazılım geliştirme yaşam döngüsünü (SDLC) ?

Günümüzde hemen hemen herkesin  Waterfall,Agile, Kanban,Scrum vb. konularda konuşmalar yaptığını fikirler beyan ettiğini duyuyoruz. Bunlar güzel şeyler ama kaçımız bunları değerlendirmeden önce bu modelleri oluşturan gerçek çerçeveyi biliyoruz.

0 3.113

Günümüzde hemen hemen herkesin  Waterfall,Agile, Kanban,Scrum vb. konularda konuşmalar yaptığını fikirler beyan ettiğini duyuyoruz. Bunlar güzel şeyler ama kaçımız bunları değerlendirmeden önce bu modelleri oluşturan gerçek çerçeveyi biliyoruz.
Kaçımız gerçekten de firmamızı bu sistemlere geçirmeden önce yeterliliğimizi kapasitemizi anlayabildik. Ben çok fazla kişinin bu gerçekle yüzleştiğini düşünmüyorum. Sanırsam gerçek ile yüzleşmektense havalı kelimeler kurup eldeki gücü heba etmek hepimiz için daha güzel görünüyor. Neyse konumuza dönelim. Peki Nedir bu Yazılım Geliştirme Yaşam Döngüsü.
Yazılım Geliştirme Yaşam Döngüsü (Software Development Life Cycle (SDLC) ), kaliteli yazılımları tasarlamak, geliştirmek , test etmek ve yayımlamak için yazılım endüstrisi tarafından kullanılan bir süreçtir. Kısacası kaliteli bir yazılım üretmeyi hedeflemektedir. ISO / IEC 12207, yazılım yaşam döngüsü süreçleri için oluşturulan uluslararası bir standarttır. Aslında bize bir çerçeve sunar. Agile, Kanban,Scrum vb. modellerde işte bu çerçeveyi kullanır. Aslına bakarsanız bu modelleri kullanmadan önce bu çerçeveye bir bakmak ve ne olduğunu bilmek gerekmektedir.

YGYD kaliteli yazılım geliştirebilmemiz için detaylı bir planın içinde yöntemler ve aşamalar belirler. Bu aşamalar sayesinde müşterinin isterlerini , maliyetlerimizi karşılayan kaliteli bir yazılım ortaya konabilir.

Aşama 1: Planlama ve Gereksinim Toplanması/Analizi
Projenin başarılı olabilmesi için en önemli aşamadır. Paydaşlar, müşteriler ve proje ekibi arasında çok fazla iletişimi sağlayan ve gerektiren tekrarlı bir süreçtir. Buradan üretilen bilgi daha sonra, temel projeyi planlamak ,maliyetlendirme ve teknik alanlarda ürün ön çalışma yapmak için kullanılır. Bunu ihtiyaç analizi olarak adlandırabiliriz.

Kalite güvencesi gereksinimlerinin planlanması ve projeyle ilişkili risklerin tanımlanması planlama aşamasında da yapılır. Teknik çalışmanın sonucunda da, projeyi en az risklerle başarıya ulaştırmak için izlenilecek yol belirlenir.

Aşama 2: Gereksinimleri Tanımlama
İhtiyaç analizi yapıldıktan sonra ürün gereksinimlerini açıkça tanımlamak , belgelemek ve müşteriden veya uzmanlardan onay almaktır. Bu onaylar ve tanımların bir belge içerisinde toparlanması beklenir.

Aşama 3: Ürün Mimarisinin Tasarımı
Bu kısımda iş isterleri kullanılarak yazılım mimarları ve / veya lider geliştiriciler geliştirilecek ürün için en iyi mimariyi ortaya çıkarırlar. Birden fazla tasarım çıkarılabilir ve genelde de bu şekilde yapılır. Daha sonra bu tasarımlar dökümana aktarılırlar. Tasarım oluşturulurken Risk analizi , fonsiyonel ve fonsiyonel olmayan özellikler ortaya konmalıdır.

Bu tasarım tüm ekip tarafından tarafından gözden geçirilir ve risk değerlendirmesi, ürün sağlamlığı, tasarım modülerliği, bütçe ve zaman kısıtlamaları vb. parametrelere dayanarak en iyi tasarım yaklaşımı seçilir.

Aşama 4: Geliştirme veya Kodlama
YGYD’nin bu aşamasında gerçek geliştirme başlar. Programlama kodu, bu aşamada isterlere göre üretilir. Tasarım ayrıntılı ve doğru bir şekilde yapılmış isse geliştiriciler ürünü çok rahat geliştirebilirler. Bu kısımda geliştiricilerin yazdıkların kodların veya tamamladıkları isterlerin birim testlerini yapmaları beklenmelidir. yazılan kodun nasıl bir sonuç çıkardığı görülmelidir. Bu kısımda gelişmiş derleyiciler, test araçları vb araçlardan yararlanmakta fayda vardır.

Aşama 5: Ürünün Test Edilmesi
Bu aşama aslında diğer tüm aşamalarda bir alt küme olarak yer almaktadır. Mutlak olarak yapılmalıdır.Bununla birlikte, bu aşamada ise ürün gereksinimlerde ki kalite standartlarına erişene kadar ürün kusurlarının raporlandığı, izlendiği ve tekrar test edildiği test aşamasıdır. Piyasaya dağıtılmadan önceki son kapıdır diyebiliriz.

Aşama 6: Dağıtım ve Bakım
Ürün test edildikten ve kurulmaya hazır hale getirildiğinde piyasaya sürülür. Bazen ürün dağıtım işlemi, o kuruluşun işletme stratejisine göre kademeli olarak gerçekleşir. Ürün ilk önce gerçek iş ortamında test edilebilir. Buna kullanıcı kabul testi veya pilotlama olarak adlandırabiliriz.

Ardından, geri beslemeye dayanarak, ürün, olduğu gibi bırakılabilir veya hedeflenen pazarda önerilen geliştirmelerle bırakılabilir. Ürün piyasaya sürüldükten sonra bakım, mevcut müşteri tabanı için yapılır. Bakım ve revizyon dağıtımı farklı yollarla yapılabilmektedir. Mobil uygulamaları ele aldığımızda google play veya AppStore güzel örnekler olarak karşımıza çıkmaktadır.

Yazılım Geliştirme Yaşam Döngüsü Modelleri
Günümüzde bir çok yazılım geliştirme yaşam döngüsü modelleri tasarlanmıştır. Bu modellere Yazılım Geliştirme Süreci Modelleri denir.
Sektörde ve sektörlerde takip edilen en önemli ve popüler YGYD modelleri aşağıda belirtilmiştir;

Rapid Application Development
Test-Driven Development
Waterfall Model
Iterative Model
Extreme Programming
Scaled Agile Framework
Agile Model
Scrum
Rational Unified Process
Big Bang Model
V-Model Conceptual Model
Kaizen Model
Kanban Model
Spiral Model

Email adresiniz yayınlanmayacaktır.