How complicated is software?