Um problema geral com a prototipação é que o protótipo pode não ser necessariamente usado da mesma forma como o sistema final. O testador do protótipo pode não ser um usuário típico do sistema ou o tempo de treinamento durante a avaliação do protótipo pode ter sido insuficiente, por exemplo. Se o protótipo é lento, os avaliadores podem ajustar seu modo de trabalho e evitar os recursos do sistema que têm tempos de resposta lentos. Quando equipados com melhores respostas no sistema final, eles podem usá-lo de forma diferente.
Às vezes, os desenvolvedores são pressionados pelos gerentes para entregar protótipos descartáveis, especialmente quando há atrasos na entrega da versão final do software. No entanto, isso costuma ser desaconselhável:
1. Pode ser impossível ajustar o protótipo para atender aos requisitos não funcionais, como requisitos de desempenho, proteção, robustez e confiabilidade, que foram ignorados durante o desenvolvimento do protótipo.
2. Mudanças rápidas durante o desenvolvimento inevitavelmente significam que o protótipo não está documentado.
A única especificação de projeto é o código do protótipo. Para a manutenção a longo prazo, isso não é bom o suficiente.
3. As mudanças durante o desenvolvimento do protótipo provavelmente terão degradado a estrutura do sistema. O sistema será difícil e custoso de ser mantido.
4. Padrões de qualidade organizacional geralmente são relaxados para o desenvolvimento do protótipo.
Protótipos não precisam ser executáveis para serem úteis. Maquetes em papel da interface de usuário do sistema (RETTIG, 1994) podem ser eficazes em ajudar os usuários a refinar o projeto de interface e trabalhar por meio de cenários de uso. Estes são muito baratos de se desenvolver e podem ser construídos em poucos dias.
Desenvolvimento e validação Após a avaliação dos riscos, é selecionado um modelo de desenvolvimento para o sistema. Por exemplo, a prototipação descartável pode ser a melhor abordagem de desenvolvimento de interface de usuário se os riscos forem dominantes. Se os riscos de segurança forem a principal consideração, o desenvolvimento baseado em transformações formais pode ser o processo mais adequado, e assim por diante. Se o principal risco identificado for a integração de subsistemas, o modelo em cascata pode ser a melhor opção.