Offshore Development, Making it Work
Software development is complicated. I’ve been doing it for 19 years. Making offshore development work is actually its own skill that every IT executive has to learn in this day and age. There is a serious lack of IT talent in the USA, UK, Australia, and other countries. The only way we can scale up our development teams is by leveraging offshore development teams.
Today, we are going to talk about why offshore development doesn’t commonly work and how to make it work.
You’ve Heard it Doesn’t Work… and Won’t Even Try
Perhaps the biggest, and most accurate, problem is that everyone has a friend that tried offshore development in India, and it didn’t work. I mean, literally everyone has heard these stories.
When everyone you know tells you they had a bad experience, it makes it hard for you to even consider giving it a try.
I have to admit I have fallen into this trap before. I didn’t even try offshore development because of the horror stories everyone else tells me.
However, I have also had a lot of personal success with offshore development in Russia, Belarus, Poland, Colombia, Uruguay, and the Philippines.
The recurring theme I heard from others was that doing offshore development in India didn’t work well for them. For a few. it worked fine, but it seemed like 80% of the time it didn’t.
On the flip-side of that, I’ve never talked to a person who did offshore development in the Philippines who has had a bad experience.
Just because you know people who have had a bad experience in India doesn’t mean offshore development doesn’t work.
The “Cheapshoring” Mistake
I get emails and LinkedIn messages almost daily from offshore development companies offering me developers for $15 an hour. That sounds really intriguing.
Many people make the mistake of hiring 5 super cheap junior developers offshore and then the project fails miserably.
There are a couple of big mistakes here.
First, you never want to hire a bunch of junior developers as a team. Like any team, you need the right mix of developers working on a project. This includes senior developers, mid-level, and junior developers. It may also make sense to add a QA person and project manager to the team.
Second, you get what you pay for to some degree. Offshore developers typically cost $15-45 an hour depending on what part of the world it’s in, the skill level, and programming language.
Even though you are leveraging offshore developers, you still want high-level talent that will fit into your plans for success.
Don’t make the mistake of “cheapshoring”. You will get what you pay for. Like most things in life, it may only cost 20% more to go first-class.
Misunderstanding the “Offshore Formula”
Matt DeCoursey, one of the co-founders of Full Scale, has an entire section of his book, Million Dollar Bedroom, dedicated to offshore development. In it, he discusses what he calls the “offshore formula”.
The formula is pretty simple, if you hire someone for $100 an hour, they should provide 4x the value of someone you hire for $25 an hour.
This value could be in their work output, knowledge, management, whatever.
These days in the USA, it isn’t uncommon to have to pay a contract developer $100 an hour. The question is, do they provide 4x the value of the same skill level of developer that you can hire in the Philippines via Full Scale?
Odds are, the answer to that question is almost always no.
That said, I would never recommend that you offshore 100% of your development. I think the best formula for success is having the strategic development leadership and product ownership done in your local office.
You should then aim for some sort of ratio of 1:1, 1:2, 1:3 etc. For every developer locally, you can dollar cost average their expense down and scale up the team leveraging offshore developers.
Using Stackify as an example, for every 1 developer we have in Kansas City, we have 2 in the Philippines with Full Scale. We drive all product ownership, architecture, and dev team management in our local office. We leverage our offshore resources to get a massive amount of work done. The formula works perfectly.
Use Offshoring, Not Outsourcing
One common expression I say is you can’t outsource innovation. That rarely works. The magic that makes your product unique and amazing isn’t something you should outsource to someone else. That doesn’t mean you can’t leverage offshore resources to get it done.
So what are the differences between outsourcing and offshoring?
In my opinion, outsourcing is turning the keys over to someone else to do a project or task. For example, I outsource mowing my lawn.
If you have a project you want to be completed and don’t care about retaining any of the developers who worked on the project later then perhaps outsourcing works for you.
Think of offshore developers just like any other remote developers that could be working for your company.
By building your very own offshore development team, you aren’t turning the keys over to someone else. Your offshore development should still be part of your long-term team, they just happen to work remotely.
In any company, your employees are your #1 asset. Your offshore team can be long-term employees and assets to your company.
Our goal at Full Scale is to help people build their own offshore teams. We want those employees to work for you long-term and be a critical part of your success. To learn more about managing an offshore development team, listen to this episode of The Startup Hustle podcast, where we discuss the good and bad things about offshoring.
Poor Project Management & Product Ownership
Any project will fail with poor project management. This is even more important when you are working with any type of remote employees.
I have a few suggestions to improve working with remote and offshore developers.
- Ensure the entire team understands the long term goal of the project
- Plan out sprints and assign multiple work items
- Don’t leave your team asking what to work on
- Do a good job of documenting requirements
- Use a standup bot, like Suttna or Stand Bot, to simplify daily scrum meetings
Another suggestion I have for working with offshore developers is always assigning what we call a “B” task. If, for some reason, they get stuck and can’t ask you how to get past it since you are sleeping, ensure they have something else they can work on in the meantime.
Working Hours & Overlapping Schedules
One of the challenges, and benefits, of offshore development, is the difference in working hours.
For some, they love having their developers or QA team do work overnight and wake up every morning to see what was accomplished the night before. It is like Christmas every day.
At Stackify, we also leverage our developers in the Philippines to handle application monitoring and be on-call while our USA based team sleeps. This is a huge benefit that our local developers love.
For offshore teams that need to closely collaborate with your local team, I highly recommend having 2-3 hours of overlap in your working schedule every day.
At Stackify, our offshore team working in the Philippines shifts their schedule so we have about a 3-hour overlap. They work roughly 3pm to midnight their time which equates to about 2am to 11am Kansas City time. This works perfectly for us to have a daily stand up and collaborate with every morning. A couple of our employees even work almost a complete overlap in working hours.
Another option is to let your offshore developers work during their local day hours and then scheduling 1-2 hours to have daily meetings and overlap time. If your offshore employees have good internet at their homes, they could do these meetings late during their evening which is likely your morning time.
Not having good overlapping schedules with offshore developers every day is a common reason why offshore development doesn’t work for many people.
Software development is all about communication. It succeeds or fails based on it. Communication skills cover how well they read, write and speak your language. But even more importantly, how well they follow directions, ask questions, follow-up and many other things.
Some things to consider regarding communication:
- How well do they communicate in your language?
- Do your developers know what needs to be done and why?
- Do they ask questions when they aren’t sure what to do?
- Do they tell you when they know something won’t work?
Some cultures around the world are better and worse at some of these issues. One issue I hear about India a lot is struggles with their communication skills. I have heard lots of stories about developers doing exactly what they are told even when they know it doesn’t work or there is a better way.
Developers need to challenge each other and ask questions. Some cultures are more shy about doing so.
One of the reasons I love working with developers in the Philippines is their excellent communication skills. They all speak English and they aren’t afraid to challenge me and ask questions.
Is the Accent a Problem?
As a follow-up to communication skills, another thing to consider is how well you can communicate with them via video conferencing, conference calls, and even in person.
Depending on where you are doing offshore development, the accent of the people you are working with could be a problem. I have heard this complaint many times about India. Luckily, with our developers in the Philippines, this has rarely been an issue.
Is Your Team in the Wrong Part of the World?
As mentioned at the start of the article, many people have tried or known someone who has tried doing offshore development in India and had a bad experience. I have also talked to people who have had success. However, it seems like maybe 10-20% of them have had success.
I have had a lot of success working with teams outside of India. Including Eastern Europe, South America and the Philippines. If you are going to do development in India, I would suggest doing so based on the recommendation of a friend. Make sure you find a good company that someone you know has had success with.
At Full Scale, we feel like the Philippines is the best place to do offshore development. They are all fluent in English and have excellent communication skills. We are able to find amazingly talented developers and provide them at a very affordable rate.
Find strong Offshore development Partners
Do you have an offshore development partner you can trust?
Perhaps the most important thing is partnering with a company in which you can trust. Full Scale was founded by Matt Watson & Matt DeCoursey, two serial entrepreneurs. With 9 years of experience hiring developers in the Philippines, you are in good hands.
Our goal at Full Scale is to find excellent talent and provide them a world class work environment. This allows us to provide an exceptional level of service to our clients.
Full Scale is also based in the USA in Kansas City. Want to meet us in the states and discuss partnering with us to build a team? No problem.
Listen to Episode 26 of the Startup Hustle Podcast – How I Ended Up in Cebu City
Why Offshore Development Works
There is a serious lack of talent in many countries, including the USA. We are short hundreds of thousands of developers in the USA. At this point, we are all just stealing developers from each other and driving up the salaries.
At Stackify, we simply could not afford to hire the 20 developers we really needed to compete and be successful as a company. There is no way we could afford that hiring only developers in the United States. We were able to find some excellent developers via Full Scale in the Philippines to scale up our team. It works for us and it will work for you.
Offshore development works. It is important for every IT executive to learn how to leverage offshore resources to scale your development team. The most important thing is picking a good partner. Full Scale is here to work with you and ensure that your offshore development efforts are a huge success.