As etapas envolvidas no desenvolvimento do software incluem pessoas, produto, processo e projeto. O desenvolvimento eficaz depende da interação com o usuário no momento inicial do projeto. A partir desse momento, a equipe de desenvolvimento torna-se responsável pela entrega do produto final ao usuário final, apresentando como tendência atual a não participação do usuário ao longo do processo de desenvolvimento.