Resources: Outsourcing

Learn about the advantages and challenges of outsourcing in large projects in agile.

In addition to contracting a lot of external consultants, large companies tend to outsource some parts of the development to smaller companies. The idea behind outsourcing is that we, as the customer, specify the requirements, negotiate the contract and send the external team away with them. When the deadline arises, we hope the external team will show up with the working software we asked for. However, there is a high risk that our requirements or architecture will have changed. Both of these are reason enough for us not to be pleased with the result, although the external team might have delivered exactly what we asked for.

Reasons for outsourcing

Despite this risk, there are several good reasons for a company to outsource parts of the development:

  • Specific skills: The external team provides skills that are not available internally.
  • Faster development: External teams are typically much smaller and therefore more flexible. This flexibility could result in faster development.
  • Delegating risks: This is often related to missing internal skills. For instance, the technological risks could be covered by an external team if it has the necessary skills.
...