Software-ul personalizat este un produs software personalizat dezvoltat pentru un anumit client. Dezvoltatorii lucrează cu clientul pentru a adapta un produs la o nevoie foarte specifică, lucrând fie de la zero, fie cu o bază de software pe care o pot construi și adapta pentru utilizarea diferiților clienți. Un astfel de software poate fi mult mai scump decât produsele destinate producției și utilizării în masă. În unele situații, o companie poate considera că cheltuiala merită beneficiile.
Cu un design software personalizat, dezvoltatorii pot controla strâns programarea și caracteristicile. Deoarece nu au nevoie să realizeze un produs care să atragă o piață largă, ei pot activa toate caracteristicile cerute de client. Rezultatul poate fi un program foarte specializat care funcționează eficient pentru o companie, dar nu ar fi neapărat util pentru alte companii. Un centru spa, de exemplu, ar putea solicita un program personalizat pentru gestionarea programelor sale care reflectă nevoile și politicile specifice ale organizației.
Companiile mari sunt mai predispuse să comande software la comandă, deoarece pot justifica cheltuielile. Un produs care satisface exact nevoile lor poate merita, de asemenea, costul, mai ales dacă au probleme de securitate sau efectuează operațiuni unice pe care software-ul obișnuit nu le poate explica. Echipele de programare pot lua în considerare dorințele exprimate ale clienților de a dezvolta un cadru adecvat și de a-l transforma într-un program cu drepturi depline.
Proiectarea software-ului personalizat începe de obicei cu întâlniri între programatori și clienți, astfel încât toate părțile să înțeleagă limitările și așteptările proiectului. Când compania știe ce fel de produs are nevoie clientul, poate oferi o estimare. Clienții se pot întâlni cu mai mulți dezvoltatori specializați în produse similare, cum ar fi software-ul de gestionare a stocurilor, pentru a-și face o idee despre gama de opțiuni și prețuri disponibile. Când clientul este de acord cu termenii și semnează un contract, programatorii pot începe.
Unele programe la comandă pot fi codificate de la zero pentru a genera un program complet nou. Alte companii pot avea o bază pe care o adaptează la nevoile clienților. Structura și cadrul de bază vor fi partajate cu alte programe. Rezultatul final, însă, poate fi radical diferit, deoarece programatorii personalizează fiecare aspect. Utilizarea unei baze generice poate ajuta la accelerarea procesului de dezvoltare și depanare, deoarece dezvoltatorii de software au un cadru familiar pentru început.
Software-ul personalizat poate fi puternic, flexibil și extrem de util. Are unele dezavantaje. Dacă dezvoltatorii încetează sau nu distribuie codul sursă, este posibil ca cumpărătorul să nu poată obține asistență pentru software. Aceasta poate fi o problemă dacă clientul are nevoie de actualizări pentru a satisface noile nevoi sau dacă ceva începe să meargă prost.