SOFTWARE ENGINEERING
Do you want to move fast, or would you rather go far?
A practical guide to understanding and selecting the right sourcing model for your next software project.
31 AUGUST 2020 |
MARKUS VAN AARDT
OUTSOURCING INSOURCING CO-SOURCING CONTRACTING NEARSHORING OFFSHORING SOFTWARE ENGINEERING
In the world of enterprise technology, it pays to properly understand and own the outcome you want to achieve. In challenging times an African proverb could light the way to position your approach to picking the best delivery model:
“If you want to go fast go alone. If you want to go far go together. “
UNDERSTANDING THE MATRIX
Did you know there are 9 basic methodologies to deliver technology projects for your organization? There are two primary dimensions in selecting a sourcing model for software development. The first of these is the organizational overlap between the host organization, or product owner, and the delivery team. The second dimension relates to geographical distance between the two parties.
Below is a matrix showing the different intersection points created between these two dimensions.
INSOURCING
The primary dimension indicates where the software development team is situated, relative to the host organization. INSOURCING is the traditional approach for software development and means the development project and subsequent maintenance of the software was assigned to internal engineering teams. This allows the host organization to retain full decision-making power over the project while having ready access to the engineers to implement changes to the system. Insourcing also often supports better alignment between the business and engineering team as they are an integral part of the organization.
Insourcing also introduces some real disadvantages. For one, it takes time, patience, and often a lot of money to recruit, build and retain the best team. The company is also more vulnerable to staff attrition and the potential loss of undocumented intellectual property associated with staff loss.
OUTSOURCING
Over the last two decades OUTSOURCING has provided thousands of organisations across the world an alternative to home-grown software. Using this sourcing model, project contracts are awarded to wholly disconnected software development agencies to deliver products independent of the host company’s operational constraints. There are a number of advantages this model provides the company. One of the primary drivers behind the large-scale adoption of this model is a promise of reduced cost while having access to the same - or even better - resources than the company itself can offer.
Outsourcing comes with its own challenges, often attributed to poor communication, cultural differences between the parties, management overhead and lower control over delivery by the client.
CO-SOURCING
Recently a new sourcing model has been gaining popularity, particularly in specialty industries such as banking, finance and health care. The CO-SOURCING model implements a hybrid development team made up of permanent (insourced) and contractor (outsourced) resources on the same project. In a collaborative effort, these new types of engineering teams provide significant value to the organization. While the delivery team has access to the knowledge and experience of veterans in the form of permanent employees, contractors are introduced to complement the capabilities of the delivery team to ensure higher quality products at relatively high velocity.
The success of co-sourced engineering teams is completely reliant on close collaborative between internal and external engineers. One of the most attractive benefits of this approach lies in the client to source scarce or specialist skills from the contractor without the need to recruit and appoint engineers on a full-time basis. Since recruitment remains a cumbersome and expensive activity, reducing the overhead while only committing to short-term engagements reduces administrative overhead to the company while keeping payroll under control.
LOCATION, LOCATION, LOCATION ...
The second dimension of the matrix addresses the issue of location, or proximity of the engineering team relative to the organization. On this scale, 4 different options are possible, excluding the option for hybrid or a fully remote and distributed team.
ON-SITE engagements require the engineering teams to be collocated with the client at their premises. This approach is usually beneficial to both the client and engineers where high-frequency interactions are required during the analysis, development and testing phases of the process. This usually translates into higher cost to the client, and may impact the process and flow of the engineering team as they need to actively adapt to the client’s environment.
ONSHORE refers to engagements where the engineering team are working at a remote location (or locations) within the same country, province or even city as the client. This allows for slightly lower rates to the client due to limited travel and facility overhead. However, client-facing interactions are often done in person at either party’s offices, or alternative location. This approach usually allows for a more relaxed engineering practice as the team stick to tried and tested ways of working.
NEARSHORE outsourcing is a specific accommodation made to clients. It is usually characterized by providing engineering resources that are geographically located close to the client, albeit in neighboring countries, or those with similar time zone overlaps. The main motivation behind this approach is to improve communication and maximizing operational collaboration between the client and engineering team. Nearshoring often still offers the added benefit of lower developer rates while the same level of product quality.
Finally, pure OFFSHORING is usually independent of locality and time zone overlap between the engineering team and the client. This is still a major contributor to technologist sourcing worldwide, even though the disadvantages of locality, cultural differences and time zone skew continue to challenge even the most weathered project managers and IT managers.
NEED HELP?
Are you currently considering a move to outsourcing your software development effort? Looking to find a more compatible development partner? We believe that every client is different and has unique requirements. By partnering with your organisation and its decision makers, we are able to find a solution that best suit your unique requirements.
Contact us for more information