Herhangi bir projeyi geliştirme yalnızca kodlamadan oluşmamaktadır. Öncelikle yazılım geliştirme yaşam döngüsü bulunmaktadır. Yazılımın hem üretim, hem de kullanım süreci boyunca geçirdiği tüm aşamalar yazılım geliştirme yaşam döngüsü olarak adlandırılır. Yazılım fonksiyonları ile alakalı gereksemeler sürekli olarak değiştiği ve genişlediğinden, söz konusu evreler devamlı bir döngü biçiminde ele alınır. Döngü içinde her hangi bir evrede geriye dönmek ve bir daha ilerlemek mevzu bahistir. Bu döngünün de temel bazı adımları vardır. Bunlar; Planlama, Analiz, Tasarım, Gerçekleştirim ve Bakım olarak sıralanırlar. Projenin hedeflerine ulaşabilmesi için türlü süreç ve yöntemler mevcuttur. Her bir süreç modeli, başarılı olmak için yazılım geliştirmede bu yaşam döngüsünü takip eder. Yazılım süreç modelleri üretilenlerin kalitesine pozitif etkisinin yanında, projelerin karışıklığını hafifletip karmaşıklıkları önler. Yazılım Şirketleri projenin amaçlarına vara bilmesi için geliştirilmiştir
Bunlar yazılım üretim faaliyetinin genel yapılma düzenine dair rehberler olarak adlandırılırlar. Bu modeller asla süreçlere ilişkin ayrıntılarla veyahut da süreçler arası ilişkilerle de ilgilenmezler.
* Gelişigüzel Model
* Barok Modeli
* Çağlayan (Şelale) Modeli
* V Modeli
* Helezonik yani Spiral Model
* Evrimsel Model
* Artırımsal Model
* Araştırma Tabanlı Model
Herhangi bir model veya yöntem gözetmeksizin yapılır. İlgi duyan ve geliştiren kişiye bağımlıdır. Takip edilebilirliği ve bakımı oldukça zordur. Miadı olarak 60’lı yıllarda kalmıştır. Ekseriyetle tek kişilik üretim ortamı vardır. Çok basit programlamaya sahiptir.
Bu model yaşam döngüsü başlıca adımlarının doğrusal bir biçimde geliştirildiği modeldir. Miadı olarak 70’li yıllarda kalmıştır. Bu model belgelemeyi ayrı bir süreç olarak ele alır. Hâlbuki bu gün belgeleme yapılan işin doğal bir ürünü gibi görülmektedir. Adımlar arası geri dönüşlerin ne türlü yapılacağı da tanımlanmamıştır. En kötüsü de gerçekleştirim evresine daha çok ağırlık veren bir model olduğundan bugün kullanımı tavsiye edilmemektedir.
Çağlayan (Şelale) Modeli
Öncelikle gereksinimlerin tanımlanması yapılır. Sonrasında sistem ve yazılım tasarımı gerçekleştirilir. Beraberinde kodlama ve parça test etme etapları gerçekleştirilir. Yapıyı birleştirme ve sistemi test etme yapıldıktan sonra da sistemin bakım ve idamesi sağlanır.
Bu modelin bazı sorunları vardır. Gerçek hayattaki projeler genelde tekrar gerektirir. Bütünde yazılımın kullanıcıya ulaşma zamanı uzundur. İhtiyaç tanımlamaları çoğu kez açık bir şekilde yapılamadığından ötürü, hataların düzeltilme ve eksikleri giderme maliyetleri artırır. Üst düzeydekilerin ürünü görme müddetinin uzun olması, projenin bitmeyeceği ve devamlı gider merkezi boyutuna geldiği düşüncesini artırmaktadır.
V Süreç Modeli
Bu modelin temel çıktıları olarak 1-Kullanıcı Modeli, 2-Mimari Model ve 3-Gerçekleştirim Modeli olarak sıralayabiliriz.
Modelin geçirdiği safhaları sıralamak gerekirse; önce Planlama gelir. Ardından Risk Analizi ve Üretimi saymalıyız. Son olarak da Kullanıcı Değerlendirmesi olarak bitirilmelidir.
Bu modelin avantajları vardır. Kullanıcı Katkısı en ön plandadır. Yönetici Bakışı çok önemlidir. Bir de Yazılım Geliştirici (Mühendis) Bakışı gibi avantajlar sağlar.
Helezonik Modeli ifade için önce söylenecek şey; Risk Analizi Olgusu ön plana çıkmıştır. Her bir döngü bir fazı tasvir eder. Direkt tanımlama, tasarım ve saire gibi bir faz yoktur. Artımsal bir yinelemeli yaklaşım vardır. Bu modelde Prototip yaklaşımı mevcuttur.
Evrimsel Geliştirme Süreç Modeli
Bu model İlk tam ölçekli olan modeldir. Başarısı ilk evrimin başarısına bağımlı haldedir. Tüm aşamalarda üretilen ürünler, üretildikleri yer için tam fonksiyonelliği içermektedirler.
Zayıf yanıysa değişiklik denetimine sahip olmamasıdır. Modelin yapılandırma, kalite, sürüm ve değişiklik yönetimi biraz problemlidir.
Artırımsal Geliştirme Süreç Modeli
Üretilen her bir yazılım sürümü diğerini kapsayacak ve giderek fazlalaşan adette işlev içerecek şekilde modernleştirilir.
Araştırma Tabanlı Süreç Modeli
Model Yap-at ilk örnek olarak da bilinir. Bunun araştırma ortamları tümüyle belirsizlik üzerine çalışan koşullardır. Modelde yapılan işlerden elde edilecek neticeler belirgin değildir.