Na Engenharia de Software, o modelo de processo de software que é baseado na ideia de uma implementação inicial, expondo essa implementação para a apreciação do usuário, envolvendo diversas versões até uma que seja adequada e atenda as especificações do produto, é conhecido como