Software outsourcing is an arrangement in which a company hires a software development agency to effectively carry out all the tasks of a software project.  For games, this can include programming, modeling, testing, etc.