In this post I am going to review some of the considerations needed when utilizing offshore developers. In a future followup article I will discuss the common mistakes and problems that people run into.
Know what your needs are
Do you just need some basic scripting help with your current projects, or are you developing a cross-platform software application? These have very different needs, both in the developer skill set, and also for the general management and workflow of your offshore team. We shall look at these two examples in a bit more detail, giving us a better understanding of how this will play out.
If you are managing your own offshore resources yourself, then it is important to implement good processes for the following items:
- Team communications – e.g. Slack
- time tracking & work verification – e.g. Hubstaff
- Project management & accountability – e.g. Asana
- File sharing – e.g. Dropbox, Google Drive, Box
- Knowledge base / documentation – e.g. Wiki, company intranet, Skore
- High level understanding of development process – Know the basics of things like; Git, Application servers, Software stacks
- Mobile app production – Know how to launch / beta test on Google Play and Apple iTunes stores
- Preferably also a lower level understanding of development practices – IDE’s, basic to mid level scripting ability
Scenario #1 – Basic scripting help
A simpler project such as this may require just one offshore developer. It is still important to have the correct person from your existing team work together with your new developer. To ensure that deadlines are met, and that the quality of deliverables are acceptable, this single resource still needs to be managed correctly.
Failure to manage your offshore resources will impact the quality of work deliverables, and also whether or not you are meeting milestones on time.
Scenario #2 – Develop cross-platform app from the ground up
In a more complex situation such as this, it is advised that sufficient time is spent outlining a thorough Software Specification, including timelines and the roadmap for feature rollout.
To gain the benefits of reduced offshore costs, it is important to realize that a sufficient team is put into place. While a competent full-stack developer may be able to accomplish your goals entirely himself, it is extremely unlikely that the project milestones will be met with just one developer.
Your software specification should provide insight into the necessary skillsets needed for a successful project. A small team may comprise the following members:
- Full-stack developer / team lead
- Front-end developer
- UI/UX designer
- (optional) Data architect / server administrator
Key areas to keep in mind when managing an offshore team
- Software Specification – this should be your roadmap
- Work hours overlap – for work review, and maintaining QA
- Know your timelines – have a feedback review to ensure meeting deadlines, and consider bumping up resources and/or changing processes as necessary
- Minimum Team Requirement – this is a tradeoff with meeting deadlines & deliverables vs development costs
- Team Management – refine your process for staying on track
In summary, utilizing offshore services can provide a valuable cost saving, where otherwise the project may just not be economically viable. For example a domestic four person team may cost $320k annually, yet the offshore equivalent could be in the range of $70k to $100k. This is an incredible cost saving. However, to prevent overrunning timelines and budget one has to adhere to some of the best practices outlined above.
This is why we recommend that you build a good working relationship with your offshore provider, and make sure to ask all questions upfront until you are comfortable with moving forward.