Benchmarkingul software se referă de obicei la un proces prin care ciclul de dezvoltare al unui producător de software este comparat cu alte afaceri pentru a determina eficiența companiei. Acest lucru se face adesea pentru a determina unde pot fi aduse îmbunătățiri procesului de dezvoltare și pentru a se asigura că o companie funcționează la eficiență maximă. Aceste comparații sunt de obicei de natură cantitativă, deoarece se ocupă de valori numerice și cifre pentru a evalua cât de rapid și de eficiență se desfășoară o companie. Acest tip de benchmarking software nu trebuie confundat cu benchmarking hardware computer, care evaluează eficacitatea diferitelor dispozitive și computere.
Scopul principal al benchmarking-ului software este de a determina cât de bine este un dezvoltator de software în comparație cu altul. Inițial, informațiile despre un dezvoltator trebuie adunate și luate în considerare într-un mod cuantificabil. Durata de timp necesară pentru acea companie pentru a-și crea cel mai recent program, timpul necesar pentru remedierea erorilor și pentru eliberarea patch-urilor și numărul de programatori implicați în aceste procese pot fi luate în considerare. Odată strânse aceste date, acestea pot fi utilizate în compararea software-ului față de alte companii folosind valori comparabile.
Companiile terțe sunt adesea implicate în analiza comparativă a software-ului, prin colectarea de informații despre numeroși dezvoltatori, care sunt furnizate frecvent de acele companii pentru comparație. O companie de benchmarking poate avea date de la câteva zeci sau chiar o sută de dezvoltatori de software care detaliază valorile cuantificabile pentru timpul petrecut în dezvoltare, costurile pentru acest proces și realizările bazate pe numărul de programatori. Comparațiile sunt apoi făcute de această organizație între acești diferiți dezvoltatori și utilizate pentru a stabili un număr de valori pentru fiecare. Odată ce acest proces este finalizat, atunci fiecare companie poate fi notificată despre cât de bine a funcționat în cadrul acestui grup mai mare și poate utiliza aceste date de analiză comparativă a software-ului pentru a determina îmbunătățirile care ar trebui făcute pentru dezvoltările viitoare.
Acest tip de benchmarking software este oarecum similar în natură cu benchmarkingul hardware, dar nu trebuie confundat. Benchmark-urile hardware sunt adesea determinate prin rularea diferitelor configurații de computer și componente hardware prin diverse teste pentru a genera date despre acele dispozitive. Aceste date sunt apoi folosite pentru a compara diferite piese de hardware, pentru a determina ce procesoare sau plăci grafice sunt teoretic superioare altora într-un context dat.
Există o formă de analiză comparativă a software-ului care poate fi efectuată într-un mod similar cu acesta, deși este mai adesea considerată o parte a testării de asistență. Același program poate fi rulat pe mai multe computere cu dispozitive și setări hardware diferite, pentru a vedea cu ce sisteme este compatibil. Acest tip de analiză comparativă este adesea folosit pentru a determina cerințele minime pentru un program și pentru a se asigura că o bază de utilizatori cât mai largă poate rula software-ul.