Obstaja veliko tehnik, ki se lahko uporabljajo za razvoj programske opreme. Formalne tehnike se štejejo za metode razvoja programske opreme. Hitri razvoj aplikacij (RAD) je tehnika razvoja programske opreme, ki uporablja prototipe in lažne različice za pripravo končnega izdelka.
Postopek izdelave prototipov je prvi opisal James Martin leta 1991. Hiter razvoj aplikacij je opisal kot iterativni proces ustvarjanja prototipov. Ta novi koncept je bil poskus povečati zadovoljstvo uporabnikov s programsko opremo.
Izdelava prototipov programske opreme je proces ustvarjanja lažnih zaslonov in poslovnih tokov znotraj programske opreme. Ti zasloni dajejo zaznavo delujočega sistema in uporabniku omogočajo preizkusno vožnjo aplikacije. Postopek hitrega razvoja aplikacij se uporablja za pospešitev razvoja z jasnim opredelitvijo zahtev.
Vsa programska oprema ima posebne zahteve znotraj aplikacije. Te zahteve pojasnjujejo, kako naj programska oprema deluje. Hiter razvoj aplikacij uporablja prototipe za opis izvajanja zahteve.
Uporaba tehnike izdelave prototipov za razvoj programske opreme ima številne prednosti. To daje uporabnikom zgodnji predogled, kako se bo sistem obnašal. Prototipne zaslone je mogoče ustvariti veliko hitreje kot popolnoma razvito aplikacijo. Te zaslone je dejansko mogoče oblikovati in pripraviti za ogled v samo nekaj urah. Ta trenutna povratna zanka daje uporabnikom možnost, da spremenijo zahteve, preden se začne kakršen koli pravi razvoj.
Razvoj programske opreme je zapleten podvig, ki zahteva veliko ur. Ta proces zahteva integracijo več skupin in virov. Hiter razvoj aplikacij omogoča razvijalcu priložnost, da vidi aplikacijo, preden je zares razvita.
Ena od pomanjkljivosti uporabe prototipov je, da morajo kupci pogosto čakati veliko dlje na končni izdelek, kot so morali čakati na prototip programske opreme. V tipični seji RAD lahko razvijalci programske opreme ustvarijo popolne prototipne sisteme z več zasloni v približno treh do šestih tednih. Po končani izdelavi prototipa bodo morali uporabniki čakati več mesecev, da bodo imeli delujočo programsko opremo. Prototip ne zahteva varnosti, omrežij, baze podatkov in strojne opreme. Deluje samo v razvojnem okolju, kjer je bil ustvarjen.