Diferentes modelos foram criados para representar o ciclo de vida de software. O modelo cascata, documentado no padrão PSS-05-0 da ESA Software Engeneering Standards, pode ser dividido de três formas: cascata pura, incremental e evolucionária. A abordagem incremental é recomendada quando