8 critical success factors for nearshoring
4 March 2019
Set a vision, define your principles and choose a team. Nearshoring works best when you and your partner agree on a framework for your collaboration. Even the most skilled developers won’t help your business grow if they don’t know your vision!
If you have read our previous articles, you already know the differences between outsourcing and nearshoring and perhaps you have also decided which country will be the best to place your business in. Now it’s time to search for a partner and set up the principles for collaboration. To make it easier for you, we have prepared a practical guide based on our 15 years of experience with nearshoring.
1. Establish a business vision, target architecture and roadmap.
Even though every developer works on a certain piece of the whole, everyone should have a clear vision of the final effect. To simplify: each and every engineer needs to know if we are building a church, a museum or a shopping mall. Knowing the business perspective allows developers to make the right decisions.
2. Establish development principles and processes.
Make sure everyone is following the process in the same way. Before starting, you have to agree on a framework. Will it be for example Scrum and SAFe, Nexus or AgilePM? By agreeing on a set of principles and a given process, you will enable the teams to work in a coherent way.
3. Establish architectural and technical principles.
Are we building in the cloud? Is it Amazon or Azure? PWA over Native Android, Material Design, Microservices, Docker, Java, Angular.JS or Angular 6 – there are many architectural and technical principles to set . While working with several different teams, you have to be sure not only that they know what they are building, but also if they are using the same principles and tools. Otherwise you risk building half a church, half a museum and half a shopping mall 😉
4. Establish a development pipeline, based on DevOps.
Nowadays it is possible to automate a big part of the development process, using Infrastructure as a code and Containerization. Building an automated development pipeline increases the speed of a service and allows you to test and move to production stage within a few minutes.
5. Establish a development test framework.
The same applies to testing of what has already been developed. It is important that different teams test in the same way. A good test-framework must be established and integrated in the CI/CD pipelines. All services should be covered with tests as automating the whole process will highly enhance the teams’ performance.
6. Establish a Release Train Engineer (RTE) that coordinates the teams and releases.
While working with several development teams, you need a manager to coordinate their work. This person will bring teams together and make sure that they know what needs to be developed, when and what the priorities are. The person will also play a crucial part in the continuous exploration phase. Without a RTE or similar roles if you are not using the SAFe framework, there is a risk that teams won’t be moving in the same direction.
7. Establish and focus on collaboration.
Collaboration is always important, but especially in case of nearshoring. When you don’t have a chance to meet in person with your co-workers and discuss some issues while grabbing a cup of coffee, you must create a structure enabling collaboration and free flow of communication. Sprint calls every day, meetings dedicated to specific questions, PI planning every tenth week, usage of virtual whiteboards – all of these examples and many more will help you achieve a fruitful collaboration.
8. Cost control and high quality through cooperation.
Hiring developers nearshore is one way of cutting costs. But to really cut cost and ensure high-quality, focus on investing in whole teams, rather than picking each and every member of the development crew separately. By choosing a team there is no need to go through the forming stages of a team – you get the people that deliver from the very beginning. What’s more, you can ask them to estimate the costs of what they develop and hold them responsible for this estimation. If the team consists of different consultants from different companies, how do you hold them accountable for sticking to the budget?
If you would like to know more or think about using nearshoring to scale up your team or quickly find experts you lack, contact us now.back