Dezvoltarea utilizatorului final este atunci când utilizatorul final al unui program software este responsabil pentru dezvoltarea de noi aplicații sau active în cadrul respectivului program. Acesta este opusul dezvoltării software de bază, unde compania responsabilă de crearea unui program este și cea care dezvoltă toate aplicațiile și activele pentru acesta. Avantajele majore ale unei astfel de dezvoltări includ faptul că poate face timpul de dezvoltare mai rapid și că utilizatorii pot ajunge să se simtă mai implicați cu software-ul. Dezvoltarea utilizatorului final a fost utilizată într-un număr de programe diferite, inclusiv jocuri pe calculator, programe de ilustrare și software de modelare științifică.
Diferența majoră dintre dezvoltarea utilizatorului final și dezvoltarea obișnuită de software este modul în care un utilizator se angajează în software. Dezvoltarea standard implică de obicei doar designerii și dezvoltatorii de software care creează noi aplicații și utilizări ale software-ului, care sunt apoi furnizate utilizatorilor. Cu toate acestea, prin dezvoltarea utilizatorilor finali, un program poate continua să crească după ce este lansat, deoarece utilizatorii creează noi aplicații în cadrul software-ului sau utilizează programul pentru a crea noi active. Acest lucru permite unui dezvoltator de software să lanseze un program care este complet, dar care nu este destinat să satisfacă nevoile fiecărui posibil utilizator, deoarece utilizatorii înșiși au posibilitatea de a face software-ul să răspundă nevoilor lor.
Prin utilizarea dezvoltării utilizatorilor finali, o companie de software poate permite utilizatorilor să se simtă mai implicați personal în crearea de conținut nou. Acest lucru nu este întotdeauna valabil pentru toți utilizatorii, deoarece este posibil ca unii indivizi să folosească software-ul și conținutul dezvoltat de alții, dar să nu se implice în dezvoltare. Un astfel de program este probabil mai personalizabil și poate genera o bază de utilizatori mai mare, totuși, deoarece oamenii devin adesea loiali software-ului pe care îl pot manipula.
Dezvoltarea utilizatorilor finali a fost implementată într-un număr de programe software din diverse utilizări și motive. Jocurile pe computer, de exemplu, includ adesea seturi de instrumente sau kituri de dezvoltare care oferă jucătorilor multe dintre aceleași instrumente folosite de dezvoltatori, permițându-le jucătorilor să creeze noi niveluri, medii, creaturi și experiențe de care să se bucure alți jucători. Programele de artă pot include, de asemenea, caracteristici similare, oferind utilizatorilor posibilitatea de a crea noi instrumente pentru a fi utilizate în programul în sine. Software-ul de modelare științifică poate utiliza dezvoltarea de către utilizatorii finali pentru a le oferi posibilitatea de a crea diverse scenarii și de a crea diferite comportamente, permițând utilizatorilor să testeze diverse situații posibile și să creeze modele virtuale realiste ale evenimentelor fizice.