Thinking of hiring an offshore team?
Depending on where you live, software development offshoring is a great way to get high-quality software products at significantly lower costs.
For non-tech founders, this convenience comes with an added layer of risk, which means an extra precaution is needed – take no chances when managing your offshore team.
In order of importance, there are seven factors to consider when managing your offshore team:
- Hiring quality developers
- Ensuring quality delivery
- Working hours overlap
- Common language & English proficiency
- Communication tools
- Systematic processes
- Fair payment terms
If you get them right and still end up with crappy offshore developers, it can only mean one thing: You didn’t get them right!
Read this guide to the end and you won’t end up as another horror story on Reddit about offshoring software development gone wrong.
Rethink what managing an offshore team means
How does a non-technical founder manage an offshore team of developers?
Frankly, the same way a non-technical founder manages a local team of developers: you don’t.
So then should you still hire offshore? Absolutely – hear us out!
When a non-technical founder says “I need an offshore team I can manage,”, what they’re really saying is “I need an offshore team I can trust.”
Remember that most software development offshoring is successful – if it wasn’t, offshoring just wouldn’t be a thing.
Avoid really obvious mistakes with hiring offshore developers and the odds are in your favour.
And we’re not talking blind trust here. You want the kind of trust where you know you could contact them and get an update right now. You just choose not to because you’d just be distracting them from work, and you know they’re working because you can see progress in action.
This frees you to focus on the business and marketing while your developers handle the technical details. If there was anything you needed to know, you’d know.
The best offshore development is where you don’t have to play manager, chase after people and deal with dumb excuses.
You: Hey, how come you haven’t finished this update?
Developer: Sorry, my dog ate my computer.
Imagine dealing with that every week!
What you’ll want to look out for from an offshore team are the following:
- collaborative planning
- clear action items and
- open lines of communication
Let’s expand on the seven factors mentioned at the start with action items to equip you with offshore software development best practices.
Factor One: Hire Quality Developers
Get this part wrong and we hope you like dessert because everything will get absolutely fudged.
We’ve written separate guides on how to sniff out less-than-ideal developers – but for now, just be sure to check out a developer’s website, customer reviews, and especially their portfolio.
Do they have a history of delivering similar apps and software products to what you want to build?
Seriously. You have entire continents of developers to choose from. Don’t risk quality.
If their portfolio looks promising, try to sign up for a free strategy session with their team to assess whether you communicate well and if they can provide the level of guidance you may need. Do they believe in going lean, or do they seem eager to get you spending as soon as possible?
- Check their portfolio to see if they can deliver (here’s Upstack Studio’s portfolio for reference)
- Sign up for a free strategy session, or better yet, a product roadmapping workshop
- If they don’t have free sessions, ask for a 2-3 week trial period to see if you work well together
Factor Two: Ensure Quality Delivery
Now you have a developer that can deliver good work, make sure they deliver good work!
Here are things you should do from the start to send the right message:
- Test and verify every feature when updates are ready
- There will be bugs – report them and make sure they’re handled
- Test again to verify once they’re marked ‘handled’,
- Speak to your project manager if fixes keep getting delayed or overlooked
The message you’ll send: I’m not unreasonable and respect you, but I expect good work.
Besides, developers aren’t perfect, and we miss things from time to time – having another layer of verification goes a long way to making sure your app is delivered on time and up to standard.
To help hold us accountable, the next five factors come into play.
Factor Three: Time Difference Management
Say you live in Sydney, Australia, and you’re deciding between two equally qualified offshore teams.
One is in Malaysia and the other in Brazil.
You have a fourteen-hour time difference with Brazil and a three-hour time difference with Malaysia. All things being equal, the Malaysian team is the far more sensible choice.
You want a meeting schedule that is:
- Predictable – a set time everyone agrees to
- Sustainable – everyone follows this schedule for the duration of the project
The bigger the time zone difference, the more everyone has to compromise, and compromises aren’t something you want in a long-term project like software development offshoring.
Avoid late-night or early-morning meetings – someone is either half-dead or half-asleep, and either way, you’re talking to a zombie.
Then a few months into the project, you’ll join a meeting and go, “Hey, where’s that guy?”
Oh, that guy?
That guy couldn’t make it.
(By the way, that guy’s not going to make it for 80% of all future meetings because his entire country is asleep during your catch-up.)
Make sure your usual working hours at the very least have an hour’s overlap between them – that should cover most meetings. You can use a scheduling tool like World Time Buddy to help you.
It lets you easily see time differences between time zones and set up meetings during overlapping office hours via Google Calendar or Microsoft Outlook.
Factor Four: Language Barrier and English Proficiency
You and the offshore team must have a common language. It doesn’t have to be English – but we think you should prioritize English, and we wouldn’t personally feel comfortable hiring developers without decent English fluency because:
- Most major software is written in English.
- Most official and community tech support is dominated by English.
- Many APIs for integrations are written in English.
For those reasons, a developer who wants to create industry-standard code needs to understand English.
Hire developers with really poor English and you’ve got a recipe for spaghetti code.
When they troubleshoot, they’ll use their own custom code that no one else understands instead of standard solutions. It might work then, but it’s almost never ideal and can bite you later down the line.
Switch developers and you find out that a good chunk of your source code is unusable and needs rewriting.
- make sure you share a common language
- check that the developers have decent English
Remember: you don’t need extremely fluent speakers, but not being able to hold a simple conversation is a definite red flag.
Factor Five: Communication & Task Management Tools
Since you’ll be separated by thousands of miles, communication and task management tools go from important to crucial.
Offshore or not, a development team will need tools that cover these functions:
- Project management
- Visual brainstorming
- Instant messaging, and
- Online video calls
At Upstack Studio we use ClickUp to manage projects item by item. We track short-term goals and long-term milestones and identify tasks behind schedule – and who’s responsible.
When everyone’s done except you, and you know everyone knows, shit gets done fast.
We love Figma for showing clients design mockups and wireframes. It’s really helpful how you can click on buttons and navigate your app mockup through the user interface.
We use Slack for our instant messaging needs. If clients need to speak to us in between our scheduled meetings, they can find us here.
And for our fortnightly meetings, we use Google Meet just because we like Google Meet!
We’d happily recommend our choices, but it doesn’t really matter what your offshore team uses as long as that function is covered.
You should be able to track the progress of action items and access documents whenever you want, without having to wait for your developer. We have no problem – it’s less work for us.
Make sure your offshore developer team has tools that cover these functions:
- Project management with item-by-item breakdown
- Visual brainstorming, including designs, mockups and wireframes
- Instant messaging
- Online video calls
Factor Six: Project Review Process
We’re partial to Agile methodology here at Upstack Studio, and so are most developers for that matter.
It’s not always the case, but it’s such an effective process that you’ll find it all over the world.
Regardless, any proper app developer will prepare a Scope of Work and Project Roadmap where they lay out:
- your ultimate vision for the project
- order of steps to take
- progress milestones the team can expect, and
- estimated time and resource costs
This is what you’ll see on the project management tool – the roadmap’s action items broken down into individual tasks.
Now we can make sure we’re managing offshore development well and if not – why?
No roadmap, no deal.
You’ll also want to sit down with your developer at regular intervals to review progress – maybe you want to change priorities, maybe you want to launch sooner, or maybe everything is going perfectly, and everyone just needs to keep doing what they’re doing.
Personally, we’ve found two weeks to be the sweet spot (we did say we’re all about Agile) as it gives us time to work and actually has progress to report.
Depending on the type of app and where in the development process it is, you may need more or less frequent meetings.
What matters is that you can see your developer is intentional about meeting frequency.
Ask developers early on what their meeting schedule and project review process is like, and hold them to it with…
Factor Seven: Fair Payment Terms
You want timely and quality service; developers want to get paid.
Sounds like the beginning of a beautiful relationship.
Honest people don’t want one-sided terms.
Dishonest people don’t care – they’ll agree to anything because they’ll breach it anyway.
Both sides will sign a contract, but let’s be honest – depending on enforcement in their country, breaching the agreement may have zero consequences.
We think this is the root of your concerns – what can you do if your offshore team just takes your money and disappears?
We empathize with you because we have the same fear in reverse – what if our client takes our code and disappears?
You may be thinking “Of course, I’ll pay – how dare you.”
And we’re sitting here thinking “Of course, we’ll do the work – how dare you.”
We’re both just rightfully cautious because we, like the majority of founders and developers, are honest people.
Here’s an agreement style we make with our personal clients that have been very successful:
At the start, we ask for 20 to 30% of the initial estimate depending on complexity. We need that payment because we’re going to invest person-hours into building your software, and small businesses like ours live or die on cash flow.
If you’re happy with our work, we negotiate a pay-as-you-go arrangement moving forward that looks something like this:
- we invoice every two weeks
- If two invoices go unpaid, we stop work, and
- we hold onto the latest code until payment is fulfilled
We suggest you do this with any software development offshoring project.
It’s as fair as it gets: nobody is overexposed, and both sides have the incentive to hold up their end of the bargain.
- offer up to 30% of development costs upfront for initial work
- negotiate a reasonable pay-as-you-go system if your developers deliver
- pay your invoices on time!
Software development offshoring is 100% viable done right
Here’s a summary of action items to manage an offshore team of developers:
- Check a developer’s portfolio
- Meet for a free session and/or ask for a free trial
- Test and verify every update
- Follow up firmly on bug fixes if need be
- Ensure working hour overlap between time zones
- Share a common language
- Make sure the developers have basic English
- Use communication and management tools
- Have regular meetings and progress updates
- Be ready to pay up to 30% of the estimate, initially
- Work out a pay-as-you-go agreement after the initial 30%
There you go: a list of offshore development best practices that will keep you safe and your project on track.
To reiterate, when you are thinking of how to ‘manage’ your offshore development team, you’re actually thinking of an offshore team capable of managing themselves.
We don’t just mean this from a technical standpoint, but also from a communications and team discipline point of view – you’re paying them, why babysit them?
There’s a keyword in there: paying them.
Don’t commit one of the great sins of offshore software development: prioritizing bottom-of-the-barrel prices.
You go offshore to get high-quality expertise at a lower price.
If the expertise sucks, it’s not worth any price.
You don’t want to find yourself in a similar situation to this Redditor’s tragic software development offshoring nightmare. Their management prioritized cost-cutting and fudged up the hiring process so badly that no amount of managing could save their project from disaster.
We highly recommend reading it as a case study on why offshore teams fail to deliver.
In fact, here’s a little something on the house from us: a free list of questions for you to quiz potential developers and weed out bad seeds.
Download this template now so you know exactly what to ask App Development Agencies! Let us know where should we send it through the form below.