Det finns många tekniker som kan användas för mjukvaruutveckling. Formella tekniker anses vara metoder för mjukvaruutveckling. Rapid Application Development (RAD) är en mjukvaruutvecklingsteknik som använder prototyper och låtsasversioner för att förbereda den slutliga produkten.
Prototypprocessen skisserades först av James Martin 1991. Han beskrev snabb applikationsutveckling som en iterativ process för att skapa prototyper. Detta nya koncept var ett försök att öka användarnas tillfredsställelse för mjukvara.
Programvaruprototyper är processen att skapa skenskärmar och affärsflöden inom mjukvara. Dessa skärmar ger uppfattningen om ett fungerande system och låter användaren provköra applikationen. Den snabba applikationsutvecklingsprocessen används för att påskynda leveransen av utveckling genom att tydligt definiera krav.
All mjukvara har specifika krav inom applikationen. Dessa krav förklarar hur programvaran ska fungera. Snabb applikationsutveckling använder prototyper för att beskriva implementeringen av ett krav.
Det finns många fördelar med att använda en prototypteknik för att utveckla mjukvara. Detta ger användarna en tidig förhandstitt av hur ett system kommer att bete sig. Prototypskärmar kan skapas mycket snabbare än en fullt utvecklad applikation. Dessa skärmar kan faktiskt designas och klara för visning på bara några timmar. Denna omedelbara återkopplingsslinga ger användarna möjlighet att ändra kraven innan någon riktig utveckling påbörjas.
Mjukvaruutveckling är ett komplext uppdrag som kräver många timmar att genomföra. Denna process kräver integration av flera team och resurser. Snabb applikationsutveckling ger utvecklaren en möjlighet att se en applikation innan den verkligen är utvecklad.
En av nackdelarna med att använda prototyper är att kunder ofta måste vänta mycket längre på en färdig produkt än vad de behövt vänta på prototypmjukvaran. I en typisk RAD-session kan mjukvaruutvecklare skapa fullständiga prototypsystem med flera skärmar på cirka tre till sex veckor. Efter att prototyparbetet är slutfört kommer användarna att behöva vänta många månader på att ha fungerande mjukvara. En prototyp kräver inte säkerhet, nätverk, databas och hårdvara. Det fungerar bara i utvecklingsmiljön där det skapades.