Snabba prototyper är processen att göra en realistisk modell av ett framtida program eller en programmerbar produkts användargränssnitt för att få tidigt inblick i produktens användbarhet, behov och funktioner. Snabbt prototypa användargränssnitt är lätta att ändra och tillåter slutanvändaren att ge inmatning till designen. Även om snabb prototypning ger fördelen av användarinmatning i design och möjligheten att upptäcka och korrigera brister under utveckling, finns det flera utmaningar som också uppstår.
Återanvändbara kodproblem
Vissa prototyper verktyg tillåter programmeraren att producera återanvändbar kod, men dessa producerar användargränssnitt som är svåra att revidera senare. Det vanligare sättet att använda verktyg som möjliggör snabb utveckling av användargränssnitt som är enklare att ändra, producerar inte användbar kod. Koden som genereras av dessa verktyg är högspecialiserad och integrerad på komplexa sätt som förhindrar att den delas effektivt eller delvis överförs till en annan applikation. I de flesta fall är fördelen med att använda snabbare prototyperverktyg större kundnöjdhet och en produkt som är mer benägna att betjäna kundens preferenser, prioriteringar och krav. Med tanke på dessa fördelar betraktas nackdelen med bristande återanvändbar kod ofta ett acceptabelt offer i snabb prototypning.
Långsammare utvecklingsprocess
Klientens direkta deltagande i utvecklingsprocessen har potential att införa nya behov och funktioner som kräver ytterligare kodning. Även om detta kan förbättra både kundens erfarenhet av utveckling och användbarheten för slutprodukten, kommer varje ny specifikation att öka till den totala tiden det tar att slutföra utvecklingen. I de fall där flera nya behov upptäcks under hela processen med snabb prototypning kan de annars mindre förseningar som orsakas av var och en av dessa förändringar ge upphov till en signifikant fördröjning.
Stopppunkt
Utvecklare som kan lägga till eller ändra funktioner när som helst riskerar att utveckla ett gränssnitt som de alltid vill lägga till. Möjligheten att integrera otaliga ytterligare förbättringar kan sträcka den tid det tar att utveckla en produkt lika mycket som kundens engagemang kan, som noterat ovan. Utan en strikt stopppunkt som uppställs enligt scheman, tidsfrister eller budgetgränser kan projektet vara i utveckling i obestämd tid och en färdig, omsättbar produkt får aldrig se dagens ljus.