Modelos Clássicos são aplicados já a muito tempo com o objetivo de estruturar e organizar o desenvolvimento de softwares. Embora cada um deles sejam diferentes em seus métodos todos seguem as mesmas atividades padrões de Framework: comunicação, planejamento, modelagem, construção e implantação.
Todos os modelos tem suas vantagens e desvantagens, dependendo muito de qual será sua aplicabilidade como o Modelo Cascata, onde deve ser usado apenas em projetos onde os requisitos estão bem definidos e estáveis.
Modelos Incrementais, como RAD são para projetos maiores onde se tem prazos apertados.
Modelos Espirais e de prototipagem trabalham com um método incremental mais rápido que o convencional, e pode ser adotado em todos os níveis da engenharia de software, desdo desenvolvimento de conceitos até a manutenção do sistema no longo prazo.
O Modelo baseado em Componentes foca-se em reutilizar e a montar componentes.
O Processo Unificado já é projetado como um Framework para métodos e ferramentas UML.
Dependendo do tipo de sistema em desenvolvimento pode não ser completamente possível ou até apropriado seguir os modelos rigorosamente.