O processo iterativo é aquele que progride através de refinamentos sucessivos. A equipe de desenvolvimento apresenta uma parte de um sistema, ciente de que está incompleto ou deficitário em algumas (talvez muitas) partes. A equipe então refina estas partes até o produto apresentar um nível satisfatório. A cada iteração, o software é melhorado através da adição de um maior nível de detalhe.
No modelo de processo de software incremental tem-se a ideia de se desenvolver uma implementação inicial, apresentá-la ao usuário e evoluir o software ao longo do tempo de acordo com o feedback do usuário.
Cada incremento representa um subconjunto completo de funcionalidades. O incremento pode ser pequeno ou grande, e pode variar de uma simples tela de login a um conjunto altamente flexível de telas de gerenciamento de dados.