
Outsourcing is usually considered a bad word, meaning taking jobs away from your business or hiring cheap labor. When the topic of outsourcing software development or any technical position comes up in business discussions it often conjures up thoughts of incompetent staff, extremely slow turn around times or unresolved issues. While problems can impact any group, outsourced or in-house, outsourcing roles do not have to be this way at all. In fact, outsourcing can greatly help reduce cost and create efficiencies in your business. Outsourcing non-core competencies and services can help businesses thrive, especially during uncertain times, by reducing operational costs and allowing current staff to focus on revenue generating activities. Why try to do something that someone else can do faster, better and at a superior price point?
Outsourcing is inevitable, and I don't think it's necessarily treating people like things.
- Stephen Covey
Where I see most groups fail when outsourcing staff is because of lack of planning. Consider the gravity of what's being asked when you want to outsource a business group or department. The analogy I give people to help understand the work involved in outsourcing staff is a restaurant. Imagine one day you replaced your entire restaurant staff and at the same time brought in and trained various new chefs, cooks, bartenders, servers, bussers, hosts/hostesses, etc.
It's a new restaurant to this new team, new menu, maybe strange ingredients or recipes they aren't familiar with, different kitchen configuration from their previous role, unfamiliar kitchen equipment, no experience working together as a team and not familiar with the restaurant's signature dishes... You get the idea, it's a lot to consider and factor in when replacing just one role, consider the impact of changing dozens of jobs and doing it all at the same time. In order to mitigate issues, be it short term or long term problems, you need to plan, plan and plan some more.
By failing to prepare, you are preparing to fail.
- Benjamin Franklin
Preparing teams to transition
First, at this point communication is key. You need to talk to your current team so they understand what's happening and what their responsibility is during this transition. If you fail to do this it will set you up for failure. While it's unfortunate for anyone to lose a job, it's not personal. You need the current staff to document, orientate and yes, even assist the offshore as much as possible in order to have a successful and seamless transition.
While it might not always be possible to have the current staff train and oversee the offshore as they onboard, you'll need the current staff to document their work, systems and processes. During the time when the current team is documenting processes and systems, you have to get to know your new offshore team. There are a few ways to do this, dossiers, skill assessments or interviews. Ideally meeting in person is best, next best would be phone calls.
Besides getting to know your new team and their skills, you need to get them set up as well. You'll need to understand if they have their own hardware or will your company be providing machines? Keep in mind shipping, customs and bureaucracy time so you aren't having people waiting around for hardware to be delivered. Also, you need to make sure they have access to corporate systems (email, instant message, workspaces, VPN, etc.) as soon as possible or in advance ideally. Finally, they may need special access, for instance a scrum master or developer who needs access to a ticketing application, servers, code repositories or other systems.
Once they have access to everything they need be sure to test and confirm access. They will need time to set up, orientate and familiarize themselves with your company's systems and processes. If you have developer roles you'll need to provide guidance on local environment setup and specialized tools. You'll need a plan or system for providing all this access especially since you'll be doing this numerous times.
Unfortunately, there seems to be far more opportunity out there than ability... We should remember that good fortune often happens when opportunity meets with preparation.
- Thomas A. Edison
Understanding and setting expectations for your offshore team
While access is being provided and people are getting their systems set up, you need to understand the inner workings of your offshore team. Start by focusing on understanding the general operations of your offshore team. What are their working hours? Do they work 2nd shift, 3rd shift, or is there a rotation? What time zone/s will they operate in? How many working days are there in a year for your team? Will some be "landed" team members or strictly offshore? What's the crossover/overlap between your corporate hours and their working hours? Are there any uncovered times without their support? What about holidays, yours and theirs? Have you documented all the regional or significant holidays and planned around releases and large projects? If you have check-ins or agile events when will they happen? What's the process for urgent issues, during support hours and after hours? Are there after hours contact numbers or a support system in case of emergency?
If this feels overwhelming, it should because there are a lot of things to consider and you should not be leaving anything to chance. Once you understand how they operate you'll define expectations for the team: optimal check in times, map out work availability, define work standards, define agile ceremony times, create your roadmap, set the sprint schedule, define a process for emergency issues, set a process for project verse product work, etc.
Again, don't leave anything to chance. If you don't have a process defined, go ahead and define it to the best of your ability. If necessary iterate and adapt the process if things aren't clear or if the team is confused about their responsibility or any actions they have to take.
Nobody can go back and start a new beginning, but anyone can start today and make a new ending.
- Maria Robinson
Transition to offshore
If lack of planning is the main cause of offshoring problems, a close second is lack of execution. The offshore team needs to acclimate to their new roles and start delivering for the business. There is a successful process that I've repeated with various outsourcing groups I've worked with:
- Lecture style training: to provide an overview of the role and responsibilities along with a review of supporting documentation
- Shadowing: offshore pairs with current staff to understand details of their work and processes
- Hands on: simple/straight forward issues/tickets are assigned out to offshore. They are guided and supported by the current staff
- Full transition: current staff pulls back and offshore takes on tasks independently and serves as the primary
While this is a high level view, it's the foundation of success for your offshore team. They need to be trained, mentored and given time to succeed just as if they were an in-house employee. If you fail to train and mentor your staff, they will fail in their role. Ultimately, it's a failing of your own doing.
Additionally, teams should use this training process to create a runbook or application knowledge document to serve to onboard newer staff and/or new teams. This seems simple, and in reality it is, however, it's not easy. You'll need to be proactive in this process so you manage it successfully. Finally, understand issues will come up despite how much you plan and train.
Have no fear of perfection - you'll never reach it.
- Salvador Dali
Iterate and move forward with your offshore team
As mentioned in the previous section, things will ALWAYS come up, you'll need to learn to adapt, and your team will need to know how to be flexible. Work to build trust by removing issues and getting involved when your offshore team is struggling. Lead from the front and be a good communicator. Manage their workload and set the standard. Be very clear with team and individual goals and expectations. Encourage and demand team work, learning and growth. Reinforce that your team is competent and have been well trained.
When problems do occur, deal with them swiftly. Regardless of whether it is a conflict between external teams, within the offshore team or poor performance. A small problem can easily balloon out of control especially on smaller teams. Substandard work needs to be corrected or team members moved or removed. Performance issues can poison teams so it's imperative you stay involved and active in the daily on-goings of the offshore team.
Be consistent and transparent with your team. Delegate and empower to build long lasting relationships and help them on their career journey. They are your employees even if they don't work for your company directly.
Onboarding an offshore team is difficult and unique to your business and situation. I can't promise you success with managing your offshore team, that's on you. However, if you follow the advice here you'll be set up for success. Being prepared is half the battle and chance favors the prepared.