If you work with remote developers, you'll certainly have some problems to overcome. Some may be unique to your business but some may belong to common problems that many companies face.
Frequent offshore software development issues:
- Recruitment – Senior developers are rarely out of work and highly sought-after – Not only in Sweden.
- Communication – Goes without saying.
- Lemons problem – E.g. interviewing 100 applicants results in 2 hires.
- Monitoring – You can’t look over your shoulder to see what the developer is working on.
Bad experiences with using remote, freelancing web or app developers typically come down to the fact that companies end up picking the bottom 98% and don't provide the right tools and routines for working with offshore development teams.
Here are some best practice of working with remote app developers that may be of help:
1. Find the right developer
- Try to ensure that the recruitment process is led by a senior developer experienced with the technologies to be used.
- Recruit according to what you are going to build, extend or improve. I.e. are you looking for a “Web developer for ongoing project” when you should really be looking for a “Full-time position for Laravel developer with proven API experience”.
- Perform quality assurance to make sure things are progressing according to plan and to avoid problems later on, such as technical debt.
2. Use the right means of communication
- Ensure a structured way of working. Communication strictly via Slack or Skype (audio), for example. This makes it much easier for developers to adapt to your way of working.
- Prioritise written communication over oral. This doesn’t mean you can’t or shouldn’t chat, but most of the time it is much more effective to message.
- Project leading using SCRUM and Kanban through programmes like Jira and GitHub.
- Make daily contact and updates.
- Correctly implement the technical setup. For example, automated error reporting and deployment of updates.
- Create and update guidelines for developers. Constantly document work and processes.
3. Make sure you use effective monitoring tools
- With platforms such as the aforementioned GitHub you will know what changes have been made, what developers are currently working on and be able to give real-time feedback on the developer’s work.
- Real-time tracking of the developer though software such as Hubstaff. This enables you to ensure that things are on track and moving in the right direction. Such software can also be integrated automatically with programmes like GitHub.