O modelo incremental, também chamado de iterativo e incremental, divide o processo de desenvolvimento de software em ciclos. Em cada ciclo de desenvolvimento podem ser identificadas as fases de análise, projeto, implementação e testes. No modelo iterativo e incremental, um sistema de software é desenvolvido em vário passos similares (iterativo) e em cada passo o sistema é estendido com mais funcionalidades (incremental). (BEZERRA, 2007)
O ciclo iterativo tem a vantagem de garantir a atualização contínua do software. Este modelo permite que os usuários acompanhem o desenvolvimento do produto desde seus estágios iniciais, de forma que o mesmo possa ser adaptado ou modificado ao longo do processo de produção de acordo com as necessidades dos usuários. Assim, quando existir um protótipo refinado que satisfaça e atenda a todos os requisitos dos usuários, o produto estará pronto.