Reasons for using nearshoring include:
- Shortage of specialists with required experience – your domestic market is devoid of software specialists and finding good experts is starting to be a real hassle.
- Limited budget – pressure to cut expenditures and find cost-effective solutions outside your country.
- Lack of flexibility in business processes – finding your company’s organization too rigid to help you meet your goals and adapt to the rising expectations of the business and customers.
- Cumbersome time-to-market – the pace of introducing new products to the market drags you down.
- Starting a new business – the software department does not exist, or the company founders don’t possess sufficient technical knowledge.
- Need to implement a different technology stack – the project requires the use of another technology or a niche one that is beyond your in-house team’s expertise.
- Maintaining flexibility in shaping your project resources – encountering fluctuating customer demand, or your business is characterized by itineracy.
Once you decide to search for the nearshore company, it is a good idea to evaluate your starting point. First of all, prepare your company and the team for cooperation. It is important to ensure that your in-house team has an open approach from day one.
Make sure your infrastructure, access permissions and security policy are ready for outsourcing. Check if you are prepared to talk to your future partner about the details of the project. Prepare the documentation, necessary specifications or business analysis. Think ahead to which project or which part of it could be delivered by the nearshore team. It is impossible to avoid uncertainty completely, but the better prepared you are, the more efficient the project kick-off will be.
Before you start contacting potential partners, think about what your key requirements and expectations are. This will help you to prioritize the selection criteria.
Take not only technical aspects or technology expertise into consideration, but also the company’s culture alignment. This will help you to understand what values the nearshore company is committed to and if they correspond with your own.
Expertise and project portfolio
Plan how you’ll assess the nearshore company and the competences of their people. You can choose from various models of expertise verification, e.g. asking them to present the results of past projects, arranging technical interviews with their core experts, or a trial assignment. Take the opportunity to talk to the nearshore company’s clients as well.
Organizational structure and delivery maturity are also important aspects to be verified.
- Will the nearshore company delivery process be suitable for your project?
- Are they flexible enough to propose different engagement models?
- How do they guarantee business continuity?
Be prepared and take the time to ask questions on business strategy and growth plans, which will give you an idea of whether you will be a valuable client for the company.
In addition, verify what their sourcing strategy is, whether they are an established brand on the local labor market, and how big their recruitment team is. Discuss their capabilities to scale, lead time to present candidates or set up the team for the project and what their strategy to start is.
Project discovery phase
Once you contact your potential partner, signing a Non-Disclosure Agreement is recommended. This will allow both sides to engage securely in the discussion. It is common practice that the nearshore team is provided with the details of the project from the start.
At this stage, it is also a suitable moment to discuss any obstacles that may come up, such as legacy code or a lack of technical documentation that could constrict knowledge transfers and team onboarding. The nearshore company will provide you with any technology dept analysis if necessary. This will help both sides to stay on track when it comes to understanding the requirements and project goals.
At this point the engagement model is defined. Nearshore companies usually adapt to the client’s specific expectations, and you can choose from the following models:
- Team extension – your in-house team is extended to include particular IT specialists. Project management and tasks are assigned by the client.
- Team delivery – the nearshore company delivers a dedicated software development team that can be of different size and which works on various technologies. The team executes a specific project or is dedicated to the specific system module.
- Project delivery – the nearshore company is responsible for the implementation according to the defined requirement specification and estimation agreed upfront.
Each model requires different levels of engagement from the client. Discuss the preferred model and what commitment is required from your side with your future partner. One of the critical factors for the success of the project is the client’s active contribution and daily engagement in the course of collaboration. It is a good idea to assign a point of contact for cooperation issues. Think about the additional roles that usually play a major role on the client side, e.g. product owner, team lead, project manager and other specialists that will ensure smooth knowledge transfers to the nearshore team.
Setting up the team
At this point, be prepared to discuss the perfect composition of a nearshore team and what skill set suits your needs. The nearshore company will help you to assess the level of required expertise. One common mistake we have observed is the overestimation or underestimation of required skills by the client. This can lead to a situation where developers deliver tasks below or above their pay grade. The motivation of the team declines and puts team stability at risk.
Before the pandemic, the kick-off meeting with the nearshore team usually took place at the client’s office. Nowadays, without the opportunity to meet face-to-face, we can still host the first meeting online successfully. The recommended practice is to plan out the kick-off agenda upfront.
If the group of people attending the meeting is too large, consider splitting the meeting into a few smaller ones. Too many people on the video-call can make people reluctant to engage in the conversation. Once you’re on a video-call, it is good practice to have everyone show their faces, introduce themselves briefly and share their role in the project. It is a good idea to prepare a presentation referring to the topics you’ll cover during the meeting.
Similar to a face-to-face kick-off, the online workshops are usually divided into several meetings and take a few days. The most important aspects of cooperation are discussed together with the project roadmap, scope, goals and project management issues. The necessary knowledge transfers take place as well. This is the time to summarize the rules of communication, roles, tools, infrastructure, and project methodology.
In the course of collaboration
There is no doubt that effective communication is the key to success in nearshore software development. The quality of the deliverables depends on mutual understanding and trust. In order to succeed, a team must work as one.
Be aware that regular and open feedback from your side is essential in order to establish a relationship based on trust. Plan the training to align values and build loyalty to help the nearshore team to understand your approach. Be present and accessible. Here are some good practices that will help you:
- Assign a single point of contact
- Establish a clear communication channel
- Set core hours of communication
- Create a culture of regular feedback
- Use video conferences rather than voice calls
- Be responsive to avoid downtimes
- Actively participate in review and status meetings
If used wisely, nearshoring will bring you a competitive advantage. Just like any business process nearshoring requires strategy and an efficient governance process. It often makes sense to start small or with a pilot project to introduce the necessary changes or improvements. Do not skip the preparation phase. Close engagement from the start will help both sides to understand and define what is needed for successful cooperation.