Postoje mnoge tehnike koje se mogu koristiti za razvoj softvera. Formalne tehnike smatraju se metodama razvoja softvera. Brzi razvoj aplikacija (RAD) je tehnika razvoja softvera koja koristi prototipove i lažne verzije za pripremu konačnog proizvoda.
Proces izrade prototipa prvi je ocrtao James Martin 1991. On je ocrtao brzi razvoj aplikacije kao iterativni proces stvaranja prototipa. Ovaj novi koncept bio je pokušaj povećanja zadovoljstva korisnika softverom.
Izrada prototipa softvera je proces stvaranja lažnih ekrana i poslovnih tokova unutar softvera. Ovi zasloni daju percepciju sustava koji radi i omogućuju korisniku da testira aplikaciju. Brzi proces razvoja aplikacija koristi se za ubrzavanje isporuke jasnim definiranjem zahtjeva.
Sav softver ima specifične zahtjeve unutar aplikacije. Ovi zahtjevi objašnjavaju kako bi softver trebao funkcionirati. Brzi razvoj aplikacija koristi prototipove za opisivanje provedbe zahtjeva.
Postoje mnoge prednosti korištenja tehnike izrade prototipa za razvoj softvera. To korisnicima daje rani pregled kako će se sustav ponašati. Prototip zaslona može se izraditi puno brže od potpuno razvijene aplikacije. Ovi se zasloni zapravo mogu dizajnirati i spremni za gledanje u samo nekoliko sati. Ova trenutna povratna sprega daje korisnicima priliku da promijene zahtjeve prije nego što započne bilo kakav pravi razvoj.
Razvoj softvera je složen pothvat koji zahtijeva mnogo sati za dovršetak. Ovaj proces zahtijeva integraciju više timova i resursa. Brzi razvoj aplikacije omogućuje razvojnom programeru priliku da vidi aplikaciju prije nego što je uistinu razvijena.
Jedan od nedostataka korištenja prototipa je taj što kupci često moraju čekati puno dulje na gotov proizvod nego što su morali čekati na prototip softvera. U tipičnoj RAD sesiji, programeri mogu stvoriti potpuni prototip sustava s više ekrana za otprilike tri do šest tjedana. Nakon dovršetka rada prototipa korisnici će morati čekati mnogo mjeseci da imaju funkcionalan softver. Prototip ne zahtijeva sigurnost, mreže, bazu podataka i hardver. Radi samo u razvojnom okruženju u kojem je stvoren.