We have put together a series of questions and answers, related to software development nearshoring, in order to give you a better overview of the business and what benefits it can bring to you.The questions are focused on the overall business process, the advantages and the best practices you should be looking for when searching for a software development partner.
FAQ & Benefits
A: As with anything in life, there are advantages and disadvantages to it. But to help you evaluate some of the potential benefits, you may want to consider these aspects:
- Reduced operational and recruiting costs and efforts. This is one of the main advantages and means that there is no need to hire people in-house and the related costs are reduced to a minimum.
- More time for the organization to focus on core processes, while outsourcing any software development projects which are not part of your main focus.
- Tasks and projects given to companies that specialize in exactly these activities means they can be completed with better output and faster compared to doing it in-house.
- Risk-sharing: Letting another company run all or parts of the software development process can help your organization shift parts of the responsibilities to the supplier, which could plan and review the risk factors in a better way – based on a lot of experience and best practice.
When thinking about potential disadvantages, you should pay attention to any hidden or side costs, how your supplier deals with confidential data (talking of GDPR), and how skills and experience can be synchronized back with your company in the longer run. To address all or any of these topics really translate into building a trustful and sincere relationship.
A: Most projects – also in the field of outsourcing – are done agile nowadays, be it with Scrum, Kanban or other methods.
The most important conditions for projects to be successful are:
- The client and software development partner should have a matching view and understanding of the agile process and model to be applied.
- The development team should also use a corresponding agile approach internally.
- There should be frequent and scheduled communication between the development team and the client, e.g. daily standup meetings for 30 minutes via telco or as a web conference.
- If need be, all people involved should be able to get in touch with each other directly on defined matters.
- There should be a common usage of the most important platforms e.g. for maintaining backlogs, sprint planning, issue tracking or status reporting
A: It makes a lot of sense to run an onsite-workshop right at the beginning of a new project, together with your software development partner to address some of these topics:
- Get to know all or at least all major project participants personally.
- Clarify and define the common development and project management approach.
- Define project goal, scope and basic milestone planning.
- Define all central roles and the overall communication strategy to match your project approach, and agree on the commonly used tools e.g. for versioning, issue tracking, reporting or test automation.
- Technical integration: which are the development and testing environments, who will take care of the staging environment, which remote connections have to be set up, what security measures need to apply, etc.
Typically, a 1-2 day workshop should suffice to cover these topics.
If an in-depth technical training for the client’s frameworks, tools or products is also needed, an additional workshop with this focus should follow. The same applies if a more detailed specification of the project scope e.g. in the form of a backlog or SRS has to be jointly defined.
Such a second workshop should not, however, exceed 1 –2 weeks at most. If you cannot accommodate all topics in this timeframe, it usually makes more sense to break down the project into smaller modules.
Further personal meetings can make sense in the following cases:
- Major delivery of the software development partner is due and needs a lot of explanation and / or support for installation and configuration.
- Acceptance tests that should be carried out in a joint effort.
- Defining and specifying new modules or milestones.
- Serious problems and frictions in the project.
A: This term relates to employees working at your software development partner whom you can use within your own projects, just as if they were your own people. You are in charge of running and managing the project, and simply use external resources located in another country as if they were sitting next door.
This usually works great when:
- You can easily get in touch with these people e.g. via Skype, telco or video conferencing, there are no communication barriers.
- These people can get direct access to your projects or your client’s projects, maybe even work remotely on your infrastructure.
- You can clearly define tasks and assign them to individuals, regardless of the task’s time-frame.
- Time zones don’t differ much so there is a large overlap of working hours on both sides
A: As a start, you can check the profiles and project references provided by your software development partner. As a second step, you can use a telco to verify skills and expertise in more detail for those people who should join your project.
If you still don’t feel confident about their skills, you could use a small pilot project to check actual performance. But if this is – because of cost or timing reasons – not a viable option for you, make sure that you define favorable cancellation terms within in the first few months of your collaboration, in case things do not work out as they should.
A: At the end of the day, there is no way of playing it extremely safe, simply because companies in general cannot protect themselves from employees leaving. Neither can your software development partner.
But there are two things you can do to minimize the risk:
- Make sure that your partner is responsible for replacing people dropping out of your project in a timely manner and that he bears all or at least most of the associated costs.
Bringing new people on a project always means new learning curves, the magnitude of which are pretty difficult to calculate; but a pragmatic way could be to agree on a “phase-in” period for new project members within a given timeframe, free of charge for you.
- Take a look at the working climate at your partner and ask what he is doing to engage people on a long-term basis. These days, even the most established software development destinations face the same challenges of offering private health insurance, lunch vouchers, free sports activities, regular company events, ongoing trainings, participative management styles, transparent bonus systems and the like
Our own experience shows that a healthy working climate is a key factor to ensure low employee turnover. The working climate is the pivotal result of all kinds of efforts to take people seriously, value their contributions, remunerate them fairly, appreciate their creativity and motivate them in a positive way – rather than exerting negative pressure to enforce certain behaviours.
Idea: Why don’t you simply pay a visit to your potential partner? Nothing replaces a direct first-hand insight obtained on their premises.
One day of being onsite will give you a clearer picture of how things work, much clearer than anything portrayed by sales reps or glossy brochures.
There are a few companies who ask for down payments of 20 – 50% of the anticipated project volume.
This may be due to the often dismal payment moral of customers in their local markets, but should not be your problem.
Serious software development companies dealing with international clients should charge either on time & material or fixed price arrangements – but not as advance payment.
Doing business with us is easy
Starting a new project? Get in touch and tell us more about your project and expectations.