Software development outsourcing means hiring an external company to deliver software that your own team would otherwise build. The vendor provides and manages the engineers and takes responsibility for delivery against agreed goals, scope and quality, while you keep product ownership and final decisions.
Outsourcing differs from staff augmentation, in which engineers join your team under your management. Uvik Software offers both, and this page covers the managed model.