Ciclo de vida de software
Apesar de cada modelo ser diferente e trazer uma abordagem específica na questão de desenvolvimento do projeto de software, todos os ciclos de vida tem algumas características em comum, como: descrever as fases do desenvolvimento; definir as principais atividades a serem realizadas em cada uma das fases; especificar os insumos (requisitos) a serem utilizados.
Escolher um ciclo de vida adequado não é tudo na ideia de desenvolvimento de um software, outras preocupações devem ser avaliadas, como: recursos humanos (profissionais qualificados disponíveis para o projeto), recursos de software e de hardware; baixa qualidade; problemas na comunicação; falhas na modelagem; dificuldade na descoberta dos requisitos; dificuldade na manutenção e integração dos módulos. Novos sistemas são desenvolvidos sem a preocupação com sustentação do mesmo e com desempenho.
Um ciclo de vida compreende algumas atividades. Embora estas atividades variem de uma proposta para outra, algumas são comuns a vários ciclos. O ciclo de vida de um software descreve as fases pelas quais o software passa desde a sua concepção até ser finalizado. O conceito de ciclo de vida de um software é muitas vezes confundido com o de modelo de processo. Existem várias propostas e denominações para as fases do ciclo de vida de um software, essas fases são delimitadas por eventos típicos em diversos ciclos de vida, cada fase inclui um conjunto de atividades ou disciplinas que devem ser realizadas pelas partes envolvidas.