Articles | August 8, 2019
The best practices in IT nearshoring
Digital transformation? Yes, we are all in the same boat when it comes to dealing with the fast pace of changes with the threat of dropping out of the market if we fail, or executing the vision to revolutionize it. No matter if you are a small or big company, the expertise of an external development team may help you to achieve your goals. We’ve learnt a lot over the last 14 years assisting companies from 20 countries in the implementation of different IT projects. This is why we want to share the knowledge we have gathered regarding the best practices in IT nearshoring with those who have little or no experience in that area. In the article we present recommended practices with many companies concerning each stage of collaboration with an external nearshoring partner.
When to outsource IT services?
There are multiple reasons and situations in which it is worth considering collaboration with IT outsourcing companies.
- Need for extra development power – you don’t have the necessary IT resources to implement the project.
- Lack of required IT expertise – the project goes beyond your standard technology stack.
- Need to speed up the software development process – your IT team is engaged in other projects, and it would take too long to develop it just using your own resources.
- Headcount limitations in your organization – you have a heavy workload but your company won’t increase the headcount.
- Budget limitations – the project budget is limited, therefore you need to find cost-effective alternatives for lower costs and go outside your country.
- Recruiting difficulties – recruiting on your own would take too much time or you simply cannot find the right people in the context of program requirements.
Nearshoring – checkpoints prior to searching
Still, before you start searching for the right outsourcing company to work with, verify if the project itself (language, documentation, specification, architecture) – as well as your infrastructure – are suitable and ready for outsourcing cooperation. Ensure that both can be accessed and developed by a remote team.
Outsourcing doesn’t mean you don’t need to engage. Indeed, if you want to see the difference and achieve great results, you have to take an active part. It means making sure that at least one person from your company will be working with the outsourced development team and that this person (typically the Product Owner) needs to be available for the team to provide tasks in advance, answer all questions and monitor progress.
Finding the right outsourcing partner
At this point, having fulfilled the above requirements, you may also start to weigh the advantages of choosing a provider from outside your country against the potential disadvantages and fears about cultural differences and language barriers. Based on our business experience we shall answer the question that may arise: why choose for an IT outsourcing services provider from outside your country?
The answer is simple: a much better price-quality relationship. The cost of software development services in your own country can be much higher than you can afford.In some countries in Europe, like Switzerland, Germany, or Sweden, the rates you need to pay for outsourcing developers can be insanely high. Poland instead remains the number one destination for software development services in Europe for a number of reasons:
- Top-notch expertise
- High performance
- High-quality services
- Number of software engineers on the market
- Excellent language skills (English proficiency)
- Lower costs
- Business culture
- Developed infrastructure and office facilities
- Conformity with EU legislation and data protection
- Close proximity and working in similar time zones
Outsourcing software development – key factors
When selecting an IT outsourcing partner, it’s wise to take multiple factors into consideration:
Corporate culture and organization
Firstly, each company has its unique culture and values, so it is worth familiarizing yourself with the corporate culture. Make sure that values correspond well with yours so that to minimize the impact of potential cultural differences. Paying your potential partner a visit and getting to know them in person is a highly recommended practice. This is also a way to identify office facilities. You can observe whether a given software development company can afford a nice office where you could imagine your developers working. Also, it is an opportunity to examine the organizational structure and governance model. How are they organized? Does their structure fit to your needs? Use the opportunity to ask the partner how they monitor the quality of collaboration with clients and what processes they have in place.
Competences and experience
It is also worth examining such aspects as competences, experience and the sourcing capabilities of the software development company. Ensure how efficient the company is when it comes to taking on new projects and scaling up the team.
Try to ask the following questions:
- Do they have an in-house recruitment team?
- What is their sourcing strategy?
- How many specialists are they able to provide and are their employees well-qualified?
- Also: do they use their own staff or do they subcontract?
Take a look at the profiles or blind CVs of engineers working for your potential nearshore partner. Stage some interviews to verify what level of expertise / seniority they can offer and ask about their internal verification process. Asking proper questions is vital at this stage. Talk to the partner’s developers working on other projects and ask them about different aspects related to project execution, communication, challenges etc. Ask for an opportunity to speak to some of the partner’s clients. All of this will allow you to evaluate their experience and references.
Services and cooperation
The scope of software development services offered and the technology compatibility of the partner is another key factor. Take into consideration how many of your needs they are able to cover. Do they work and have experience with technologies that correspond with your request? Flexibility in terms of the engagement model and ramping the services up or down is also relevant. Establish how flexible they can be to cover your changing and ad hoc needs and to what extent they are engaged in the entire process with you. At this stage, you may already have some observations on how fast they respond to your emails and how prepared and professional they are at every stage.
Other relevant factors
Last, but not least – ensure that your external provider is well-organized and prepared to guarantee compliance with GDPR and data protection. It is also good practice to check how flexible your outsourcing partner can be when it comes to meeting your budget. Don’t get too incentivized by the lowest rates you can find, however. It’s rather the overall approach you should be evaluating here. For your safety, I would actually exclude the cheapest and the most expensive offerings you get.
Best practices in nearshoring
Before signing the contract
Prior to signing the contract, you need to make sure that your nearshoring partner will be able to deliver the requested product. In order to do this, it is necessary to sign the Non-Disclosure Agreement, so that you can freely provide adequate specifications, discuss the project scope, the technology stack, the team needed, the expected start and deadline. Also, it is important to examine potential risks. For example, if there is some legacy code, your IT nearshoring partner should carefully investigate whether it poses any risks in terms of providing the right people and keeping the team stable.
Choosing an engagement model
At this point you should also discuss the engagement model that would suit your needs best with your nearshoring partner. Are you looking for extra development power and would simply like to engage a few developers to join your development team? This is where the team extension model comes in handy. If you need to be provided with a complete cross-functional team or even outsource the entire project, it is worth considering the team leasing or project outsourcing models instead.
Selecting the team and its members
Once decided, the next step would be selecting the team that will be working with you. Ask yourself if you are able to provide sufficient backlog to engage the entire team from the beginning. Or maybe you should start gradually? The mistake we want to avoid here is not having a sufficient amount of work for people, or you not being able to provide backlog for at least two weeks in advance. These situations happen and generate unnecessary whining within the team. It’s actually good practice to start a project with a smaller team consisting of 2-3 people and ramp up gradually. It also facilitates the knowledge transfer process, because the initial small team spreads the knowledge to new team members joining the project later on.
When selecting team members, take into consideration not only their years of experience and the skills they possess, but also communication skills and suggestions made by your outsourcing partner. Your partner knows their people better than you so if they have knowledge of the project and claim that a given person will do well on the project, trust them and hold them accountable for that. The perfect match should include a good personality fit both in terms of the project and the team itself.
During the collaboration
Once the team is selected, it’s time for the kick-off meeting with the outsourced team. Prepare well for this part! How you introduce the team to the project members and your organization is extremely important. This meeting is sort of a workshop and is the first meeting between the team and the client. The workshop usually takes a few days and its aim is to introduce team members, discuss the project (scope, roadmap, goal), define roles, establish the rules of communication, status reporting, and prepare the infrastructure for project development. In our experience, it is very good practice to invite the team over to your company or meet face-to-face at your partner’s office to kick things off in a smooth manner. Face-to-face introductions make switching to a remote mode easier.
The kick-off meeting initiates the knowledge transfer process and its aim is to understand the client’s business, familiarize yourselves with the way of working and the client’s IT systems. Depending on the complexity of the project, the knowledge transfer process can range between a few days and a few months. In the case of the latter, it is good practice to divide the process into stages (partially onsite / offsite).
In terms of IT nearshoring, the majority of the development process is carried out remotely. However, it’s quite important to meet face-to-face from time to time. These meetings serve not only to discuss more complex topics and to plan (PI planning), but also – and most importantly – they are organized to enable the integration of the teams. At this point, remember that the amount of travel should be reasonable and serve a specific purpose. Too much travelling can be counterproductive as people who spend too much time going back and forth might become overtired and – as a result – less efficient.
The role of communication
At the end of the day, it all comes down to communication. In IT nearshoring, communication is crucial and constitutes a factor in the success or failure of the project. It is vital that both parties treat each other with respect. Also, the client should treat the team in the same way as they treat their own employees. In order to achieve the full potential of such a collaboration, we need to do our best to avoid a ‘we’ vs. ‘they’ thinking pattern, identify risks and act fast. It is natural that some questions in your team may arise during cooperation with an external provider. However, the way you communicate internally may transform such cooperation into an opportunity.
To continue, it’s good outsourcing practice to give the outsourced team the possibility to express their feedback and make suggestions for improvements, and there should always be room for some refinements. The team will be happy to see that you appreciate their feedback, and this will also lead to increased commitment levels of the team collaborating with you.
Governance and quality monitoring
Cooperation with such an IT outsourcing partner requires an efficient governance and monitoring process, which should be done on a daily, weekly and monthly basis. We should include periodical performance review meetings in order to sum up the collaboration, exchange feedback, plan improvements and discuss future plans.
Benefit from cooperation with nearshoring providers
To sum up, IT outsourcing in a nearshoring model can offer a lot of benefits and can unlock your business potential on the condition that you prepare well, you are aware of the potential risks and how to mitigate them, and you are committed to making it a success. Communication plays a significant role here. Don’t avoid contact with the contractor, and instead of exchanging emails, schedule online meetings on a regular basis because it always facilitates a better understanding, builds a stronger business relationship and in most cases gives much better results.
Read also: Agile nearshore software development