Hva er programvareutvikling?
Benchmarking av programvare refererer vanligvis til en prosess der utviklingssyklusen til en programvareprodusent sammenlignes med andre virksomheter for å bestemme effektiviteten til selskapet. Dette gjøres ofte for å bestemme hvor forbedringer kan gjøres i utviklingsprosessen, og for å sikre at et selskap kjører på topp effektivitet. Disse sammenligningene er vanligvis kvantitative, fordi de tar for seg numeriske verdier og tall for å måle hvor raskt og effektivt et selskap presterer. Denne typen benchmarking av programvare bør ikke forveksles med benchmarking av maskinvare, som evaluerer effektiviteten til forskjellige enheter og datamaskiner.
Det primære formålet med programvareutjevning er å bestemme hvor bra en programvareutvikler klarer å sammenligne med en annen. Til å begynne med må informasjon om en utvikler samles og vurderes på en kvantifiserbar måte. Hvor lang tid som kreves for at selskapet skal lage sitt nyeste program, hvor lang tid det er behov for å fikse feil og at patcher slippes, og antallet programmerere som er involvert i disse prosessene, kan alle vurderes. Når disse dataene er samlet, kan de brukes i benchmarking av programvare mot andre selskaper som bruker sammenlignbare beregninger.
Tredjepartsbedrifter er ofte involvert i benchmarking av programvare ved å samle informasjon om en rekke utviklere, som ofte leveres av disse virksomhetene til sammenligning. Et benchmarking-selskap kan ha data fra flere dusin, eller til og med hundre, programvareutviklere som beskriver de kvantifiserbare verdiene for tidsbruk i utvikling, kostnader for denne prosessen og prestasjoner basert på antall programmerere. Sammenligninger blir deretter gjort av denne organisasjonen mellom disse forskjellige utviklerne, og brukes til å etablere et antall verdier for hver enkelt. Når denne prosessen er fullført, kan hvert selskap varsles om hvor bra det har fungert i dette større bassenget, og kan bruke denne programvaren benchmarking data for å bestemme forbedringer som bør gjøres for fremtidig utvikling.
Denne typen software benchmarking er noe lik karakter som hardware benchmarking, men de bør ikke forveksles. Målverdier for maskinvare bestemmes ofte ved å kjøre forskjellige datamaskinoppsett og maskinvarestykker gjennom forskjellige tester for å generere data om disse enhetene. Disse dataene blir deretter brukt til å sammenligne forskjellige maskinvarestykker for å bestemme hvilke prosessorer eller grafikkort som teoretisk sett er overlegne andre i en gitt kontekst.
Det er en form for benchmarking av programvare som kan utføres på en måte som ligner på dette, selv om det oftere anses som en del av støttetesting. Det samme programmet kan kjøres på flere datamaskiner med forskjellige enheter og maskinvareoppsett, for å se hvilke systemer det er kompatibelt med. Denne typen benchmarking brukes ofte for å bestemme minimumskravene for et program og for å sikre at en så bred brukerbase som mulig kan kjøre programvaren.