Pagal užsakymą sukurta programinė įranga, kai kuriais atvejais dar vadinama pasirinktine programine įranga, yra programa arba programinės įrangos rinkinys, sukurtas ir sukurtas specialiai įmonės, organizacijos ar atskiro galutinio vartotojo poreikiams tenkinti. Šių pagal užsakymą sukurtų programinės įrangos paketų pritaikymo lygis išskiria juos nuo įprastų, komerciškai prieinamų programinės įrangos paketų. Pagal užsakymą programinės įrangos kūrėjas yra komanda arba asmuo, kuriam pavesta sukurti šias pasirinktines programinės įrangos programas.
Tikimasi, kad pagal užsakymą programinės įrangos kūrėjai, kaip esamos programinės įrangos kūrimo įmonės dalis arba individualus rangovas, susipažins su galutinio vartotojo ar organizacijos veiklos stiliumi. Kadangi paprastai bus kuriama tik vienas klientas, kuriam programinė įranga bus kuriama, bus atlikti keli kūrimo etapai, kuriuos turi atitikti užsakomas programinės įrangos kūrėjas. Kai kiekvienas kūrimo etapas bus baigtas, išbandytas ir išanalizuotas, ar reikia patobulinimų, gali prasidėti kitas kūrimo etapas.
Prašymai sukurti pagal užsakymą sukurtą programinę įrangą dažniausiai gaunami iš didesnių organizacijų, kuriose pagal poreikį naudojama individuali programinė įranga veiklos, atsargų, išteklių ir finansiniams procesams valdyti. Kuriant programinę įrangą, pagal užsakymą sukurtas programinės įrangos kūrėjas turi būti pasirengęs įtraukti pakeitimus į pradinį projekto aprašymą. Pradėjus kurti nuo tuščios drobės ir pritaikant paketą problemoms spręsti, tinkintos programinės įrangos kūrimas dažnai tampa labiau koncentruotu procesu nei tradicinio programinės įrangos paketo kūrimo procesas.
Pasirinktinės programinės įrangos poreikis dažnai kyla dėl to, kad trūksta tinkamo esamo komercinės programinės įrangos paketo, kuris patenkintų galutinio vartotojo poreikius. Šiuo atveju dažnai tikimasi, kad pagal užsakymą pagamintas programinės įrangos kūrėjas imsis naujovių, aprėpdamas naujas sritis programinės įrangos prasme, kad užtikrintų, jog bus pasiekti paketui nustatyti reikalavimai. Klientai taip pat klausia kūrėjo patarimų, kaip geriausiai pasiekti programinės įrangos paketo tikslus. Būtent šioje srityje kūrėjas turi suprasti galutinio vartotojo darbo praktiką.
Konkretūs funkcionalumo reikalavimai kartais išryškėja tik naudojant programinės įrangos paketą. Kai taip nutinka, kūrėjas turi turėti galimybę peradresuoti sukurtą programinę įrangą, kad galėtų atlikti reikiamus pakeitimus. Šioje srityje pagal užsakymą sukurto programinės įrangos kūrėjo vaidmuo skiriasi nuo tradicinės programinės įrangos kūrimo pozicijos. Sklandus kūrimo proceso pobūdis ir nuolatiniai patobulinimai, siekiant patenkinti konkrečius klientų poreikius, o ne apibendrinti patobulinimai ar pataisymai, siekiant ištaisyti programos klaidas, suteikia individualiam kūrimui kur kas labiau įtraukiantį ir asmeniškesnį jausmą.