When we have chosen the right IT partner, it is worth taking the next step and ensuring the proper start and then the overall course of cooperation. Outsourcing is undoubtedly a great way to quickly acquire qualified specialists and optimize IT expenses. What determines its success and how to effectively move it to a new, higher level?
1. Present a clear vision of the project and the business goal you want to achieve
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 rules 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, Lean 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. Set architectural and technical rules
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. Not ugly, quite innovative, but is it functional? Is that the result you wanted to achieve?
4. Establish a project pipeline based on the DevOps approach
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. Create 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. Choose 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. Make communication your priority
Communication 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. Employ entire teams
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?
An investment in planning and good organization of work on the project will surely quickly pay off. So if you are planning IT outsourcing, it is necessary to approach it in a methodical way.