Waterfall model dapat dianggap sebagai model dasar dan semua model life
cycle lainnya didasarkan pada model ini. Ini adalah model yang ideal. Namun,
Waterfall model tidak dapat digunakan dalam pengembangan proyek praktis,
karena model ini tidak mendukung mekanisme apa pun untuk memperbaiki
kesalahan yang dilakukan selama salah satu fase tetapi terdeteksi pada fase
selanjutnya. Masalah ini diatasi dengan model Waterfall Iteratif melalui
penyertaan jalur umpan balik.
Pilihan model life cycle sangat tergantung pada jenis perangkat lunak yang
dikembangkan. Untuk proyek layanan kecil, model gesit disukai. Di sisi lain,
untuk pengembangan produk dan tertanam, model Iteratif dapat lebih disukai.
Model evolusi cocok untuk mengembangkan proyek berorientasi objek. Bagian
antarmuka pengguna dari proyek ini terutama dikembangkan melalui model
prototyping.
Jika risikonya sedikit dan dapat diantisipasi pada awal proyek, maka model
prototyping berguna. Jika risiko sulit untuk ditentukan pada awal proyek tetapi
cenderung meningkat seiring perkembangan, maka model spiral adalah model
terbaik untuk digunakan.