Hvad er software benchmarking?
Software benchmarking henviser typisk til en proces, hvor udviklingscyklussen for en softwareproducent sammenlignes med andre virksomheder for at bestemme virksomhedens effektivitet. Dette gøres ofte for at bestemme, hvor forbedringer kan gøres i udviklingsprocessen, og for at sikre, at en virksomhed kører med højeste effektivitet. Disse sammenligninger er sædvanligvis kvantitative, da de beskæftiger sig med numeriske værdier og tal for at måle, hvor hurtigt og effektivt en virksomhed klarer sig. Denne type benchmarking af software bør ikke forveksles med benchmarking af computerhardware, som evaluerer effektiviteten af forskellige enheder og computere.
Det primære formål med software benchmarking er at bestemme, hvor godt en softwareudvikler klarer sig sammenlignet med en anden. Oprindeligt skal oplysninger om en udvikler indsamles og overvejes på en kvantificerbar måde. Den tid, der kræves for det pågældende firma til at oprette sit seneste program, den tid, der kræves for at fikse fejl og for at frigive programrettelser, og antallet af programmerere, der er involveret i disse processer, kan alle overvejes. Når disse data er samlet, kan de bruges i software benchmarking mod andre virksomheder, der bruger sammenlignelige målinger.
Tredjepartsvirksomheder er ofte involveret i software benchmarking ved at indsamle oplysninger om adskillige udviklere, som ofte leveres af disse virksomheder til sammenligning. Et benchmarkingfirma kan have data fra flere dusin eller endda hundrede softwareudviklere, der specificerer de kvantificerbare værdier for tidsforbrug i udvikling, omkostninger til denne proces og resultater baseret på antallet af programmerere. Sammenligninger foretages derefter af denne organisation mellem disse forskellige udviklere og bruges til at etablere et antal værdier for hver enkelt. Når denne proces er afsluttet, kan hvert selskab underrettes om, hvor godt det har fungeret inden for denne større pulje og kan bruge disse softwares benchmarkingdata til at bestemme forbedringer, der skal gøres for den fremtidige udvikling.
Denne type software benchmarking ligner noget i forhold til hardware benchmarking, men de skal ikke forveksles. Hardware-benchmarks bestemmes ofte ved at køre forskellige computeropsætninger og stykker hardware gennem forskellige test for at generere data om disse enheder. Disse data bruges derefter til at sammenligne forskellige hardware-stykker for at bestemme, hvad processorer eller grafikkort teoretisk er overlegne andre inden for en given kontekst.
Der er en form for benchmarking af software, der kan udføres på en måde, der ligner denne, skønt den oftere betragtes som en del af supporttest. Det samme program kan køres på flere computere med forskellige enheder og hardwareopsætninger for at se, hvilke systemer det er kompatibelt med. Denne type benchmarking bruges ofte til at bestemme minimumskravene til et program og for at sikre, at en så bred brugerbase som muligt kan køre softwaren.