Programvareutvikling kan ses på som en praktisk disiplin (prosessen å utvikle programvare) og et vitenskapelig fag (studier av utviklingsprosesser, utvikling av nye metoder og modeller for å utvikle programvare, osv).