Blog Article

To Backsource Or Not To Backsource: How to Avoid Your Outsourcing Project Failure

Avatar
Ed Ossawa
Contributor

Marketer turned IT project manager

Картинка статьи

Software development backsourcing is the process of bringing an outsourced project back in-house as well as in-sourcing knowledge and best practices. It can also be referred to as a transfer of a project to a different provider if the current one fails to meet expectations and standards. As common as an outsourcing process may have become, part of the projects outsourced today will be backsourced. There is no unanimous opinion as to the exact percentage since different experts name different figures with estimations starting at 10%. In any case, companies usually opt to backsource and reclaim responsibility for the project for solid reasons, which are not limited to a provider’s failure to meet service level agreements (SLAs).

Why companies choose to backsource

how to backsource or re-outsource

This happens due to a variety of reasons including:

  • Contract issues

When a long-term contract expires, a company is faced with an important decision: to prolong the contract, to choose a new outsourcing provider or to bring the project back in-house. Organizations may decide to backsource because their cost-saving estimations had been too optimistic and the actual cost of the project development exceeds expectations. Often, the level of service outlined in the contract is significantly higher than the one the outsourcing company actually provides: the client may be dissatisfied with the professionalism, timing, or work ethics, and choose to terminate the cooperation.  

Due to contract issues and knowledge mismatch, Farmers Group once terminated its outsourcing agreement with IBM after 8 years of engagement and lost $150 million as a result of its backsourcing endeavor and contractual obligations.

  • Externally/internally generated opportunities and change in strategic directions

It’s true that outsourcing rates grow when the economy is at its downturn. Conversely, economic growth creates favorable opportunities for bringing outsourcing projects back in-house. While previously, the company may not have had the financial opportunity to hire and nurture new talent, the favorable economic situation or a stable influx of revenue may allow them to do so. Many companies prefer to bring their ongoing projects back in-house because they want to have full control of all the project-related processes. Others may want to do so because of security issues and concerns, especially if the projects in questions involve sensitive data.

Often, this decision will not be driven by dissatisfaction with the current outsourcing development provider, but rather by changes which may have taken place within an organization. Enterprises are evolving entities; over the course of the contract, the company strategy or philosophy as to outsourcing may have changed. Thus, the decision to reclaim the development project may be prompted by a desire to try different approaches, such as the desire to insource knowledge and expertise.

The change in company top management is one of the major drivers of the backsourcing process. When the new CEO, CIO or Head of Procurement joins the organization, they often reconsider outsourcing decisions made by their predecessors. This may result in a decision to terminate contracts with third-party providers and look for resources to support previously outsourced projects within the organization.

One of our long-standing clients, OBDS (Onboard Data Systems) is a world leader in the design and development of paperless (digital) solutions for the business and commercial aviation markets. They first outsourced their Windows application and server development to an external provider offshore. But due to internal strategic changes, the chosen vendor wasn’t able to fill some of the OBDS most critical positions on the outsourced project team, which resulted in significant delivery delays and idle time. OBDS CEO found 8allocate online and gave us a small-scale pilot project to see if we were any better than their current provider. Thanks to our strong network of trusted resource partners, account-based recruitment and available .Net expertise we were able to ship the pilot project successfully and impress the Client. As a result, OBDS backsourced the project from their original provider and hired us instead for large-scale project development.

Check out how Roger Sarazin, OBDS VP of Products and Services, describes our engagement.

  • Loss of managerial control and security issues

One common mistake many IT outsourcing buyers make is lack of commitment and dedication to project development after outsourcing it to an external provider. Most of the outsourced projects are executed offshore/nearshore on a fixed bid or T&M basis which implies that the provider allocates staff and resources and holds full accountability for delivery of milestones. Alternatively, when companies outsource their software dev team to a remote location, they  “wash their hands” and rely too much on the provider. That’s when they start losing project management control and having mess with their software development.

Loss of project control and the resulting backsourcing decision may cost you a fortune. For instance, to bring IT operations back in-house from CSC, Oxford Health Plans had to pay $196 million!

  • Dissatisfaction with the service provider

Last but not least, it’s often the service provider that fails to stand up to declared standards and/or SLAs. Sometimes, especially in offshore software development, mutual understanding could be difficult to achieve. Managing a remote software development team, bridging cultural differences, and integrating offshore employees into a company’s ecosystem often involves major hassle, and companies may no longer feel ready to face these issues.  

  • Cultural differences and knowledge mismatch

It’s a striking factor that can have huge implications for your outsourced software development. The outsourcing buyer and provider can be on different pages when it comes to their understanding of hierarchy, punctuality, mistakes acknowledgment, and accuracy and accountability over tasks.

Additionally, the provider’s lack of/poor knowledge of business and technology, methodologies and processes as well as the poor access to top-notch software developers and PM resources (which may be hard to observe at a contract negotiation stage) may lead to inefficiencies in collaboration, overheads, delayed delivery, etc.

How to backsource without selling your soul to the devil?

Don’t wait for your offshore provider to kill your project. If you feel something is wrong or your vendor lags behind in terms of quality of service/delivery, do bring your operations back home or backsource to a different one, someone professional and trustworthy, with a proven record of successfully completed projects.

If you aim to accumulate expertise in-house,  set up your core team in-house and hire a provider to build an extended team for you offshore/nearshore to make sure you don’t lose managerial control of your project.

Today’s outsourcing is a far cry from what it used to be 5 years ago. It’s no longer about just cost saving and access to external talent pools. For companies looking to establish their software development as a long-term strategic function, outsourcing means an additional value through access to a proven expertise, methodologies and competencies that are hard to find/too expensive onshore, as well as budget optimization through leveraging provider’s libraries of code and reusable components, tools, frameworks and best practices drawn from servicing companies with similar technology needs/requirements.

Brace yourself that backsourcing won’t be a cakewalk, but do follow the rule of thumb that the longer you wait and keep giving your failed provider “a second chance”, the more financial losses and project damage you’ll encounter. So, having seen the first signs that your outsourced project is going down, start thinking about your plan B.

Bringing operations back in-house is expensive and time-consuming as you’ll have to:

  1. Find and hire talent locally (it can take from a couple of months to half a year or even longer, in most cases you’ll have to hire a staffing agency, so be prepared to pay up to 30% of each in-house team member’s annual salary as a service fee);
  2. Set up workstations and infrastructure required for internal project development;
  3. Hire software development consultants to help bring your team up to speed, and set up processes, procedures and reporting in accordance with the chosen methodologies and approaches.

All of the above will blow up your software development budgets so that you might not even be able to afford to complete your solution development without attracting additional investments.

However, backsourcing to a new provider can prove more efficient and cost-effective, as you’ll keep piggybacking on the new vendor’s internal capabilities and infrastructure and all you’ll have to do is to hand over your source code from a failed provider to a new one.

These 8 tips may be helpful to backsource or re-outsource your solution development as seamlessly and painlessly as possible:

  1. Notify your outsourcing provider of your dissatisfaction and initiation of backsourcing. At the same time, assign your outsourcing manager/product owner a task to research new options to re-outsource your project development (e.g. bring it from offshore to nearshore to work in the same/similar time zone with the vendor, distribute your project among several providers in different locations, or find a vendor onshore).
  2. Perform due diligence and needs assessment of your outsourcing engagement.
  3. Test a shortlist of new providers with a pilot project (order something pretty basic to be able to evaluate your would-be provider in terms of speed of supply of candidates and their quality, work ethic and attitude, punctuality, overall support, English skills, PM strengths, etc).
  4. Create a backsourcing plan and schedule as well as a project handover plan (e.g. user stories, source code, running code, host server credentials, design, QA and project documentation). Note that in many cases you’ll have to ask a provider you want to break up with to support your project for a specified period of time and to keep providing services until you can reassure full control of operations and complete project handover as per your plan. That being said, make sure business continuity is part of your backsourcing plan.
  5. Determine in-house staff (involved in outsourcing) reassignment and accountability for the transition period.
  6. Develop proper security policies to protect your copyright and IP, and minimize the risks associated with your sensitive data protection and IT system disruption. Disaster recovery procedures should also be envisioned at this stage.
  7. Communicate your backsourcing plan and objectives to all project stakeholders to make sure there are a shared vision and no resistance to change within your company.
  8. Complete your project handover to a new provider and reflect all of your lessons learned from backsourcing in a new contract or SLA to make sure you won’t make the same mistakes again down the road.

Not to lose your project management control, I suggest you set up a dedicated development team with a new provider and assign a site manager (at least for the transition period) who’ll help ramp up your team’s performance, establish Scrum and other software dev practices, and oversee day-to-day communication within your team. In the future, it can be turned into a self-organizing team, but still, you have to spend enough time motivating, developing and retaining your offshore/remote employees, boosting and evaluating team performance and KPIs, etc. If you have at least 70-80% immersion with your remote project team, the chance is high you won’t screw your project and will eventually succeed.

And do you have any firsthand backsourcing experience? Please share it in the comments below!

Do you need help building a dedicated/extended Team or getting ad-hoc resources for your software development project fast and cost-effectively?