Yazılım geliştirme metodolojisi (modeli), yazılım yaşam çevrimi boyunca kullanılacak süreç, belirtim, belgelendirme gibi yöntemler bütününü içeren bir bildirimdir (Sarıdoğan, 2008, s126). Yazılım geliştirme modelleri yazılım projelerinde yapılması gerekli çalışmaların sırasını, içeriğini ve çalışma için diğer gerekli aksiyonların detaylarını tanımlamaktadır. Modellerin seçimi, projelerin büyüklüğüne, sektörüne ve elde olan kaynak ve zamana bağlı olarak değişmektedir. Öyle ki, geliştirilen birçok model olmasına rağmen kullanıldığında kesin başarı getirecek bir model olmadığı bu konudaki araştırmaların sonucu olarak görünmektedir.

 

Bilgi teknolojileri projelerinde geliştirme modellerine ilişkin çok sayıda çalışma bulunmaktadır. En çok bilinenleri aşağıda sıralanmıştır. Bu modeller daha çok yazılım geliştirme yaşam döngülerinin (SDLC- Software Development Lifecycle) etkin yönetimi için tasarlanmıştır: (Özdemirci ve Alyakut, 2012)

 

Agile

Iterative model

RUP

Scrum

Spiral model

Waterfall model

XP

V-Model

 

 

Yazılım yaşam döngüleri için kullanılan modeller aynı zamanda proje yönetiminde de kullanılmaktadır. Geleneksel proje yönetimi süreçleri  (Şelale, V Model…)  içerisinde analiz,  tasarım, geliştirme, belgeme ve sürdürme aşamalarının olduğu, tahmin edilebilir süreçler olarak tasarlanmışlardır.  Bu sert süreçler standart, yönetmelik ve yönergeler ile uyumlu karakterdedir. Projenin başarısı genellikle proje teslim standartlarına bağlıdır. Süreç grupları birbiri ile bağımlı olarak çalışır. Yani bir süreç grubunun çıktı verisi bir diğer süreç grubunun girdi verisi olacağı için bir bağımlılık söz konusudur.