Whenever you need a software developer — whether it is to build a website, create an app, for a smartphone idea, or to enable a more integrated CRM and accounting system for your business — quotes from American companies can feel prohibitively expensive. So outsourcing the work to far-flung countries like Colombia, India, the Philippines or Vietnam for a fraction of the cost can seem tempting.
However, unless you know exactly what you are doing, more often than not things can quickly become a nightmare. It is not uncommon for businesses that outsource software projects to wind up feeling like everything that can go wrong, does go wrong. You can easily end up months delayed with a shoddy, buggy website or app. It is not uncommon for people to end up having to pull the plug altogether and start again with a fresh team, having wasted months of time and thousands of dollars.
In reality, companies need a local technology consultant — often referred to as a business systems analyst or a solutions architect — to interview their key staff and to translate business requirements into technical designs. You may well also be better with the full stack lead programmer being there to work with that solution architect who designs software architecture. From there, it is a relatively straightforward matter to dedicate resources wherever they are located.
If you know what you are doing and have the right structure in place, you can mitigate the risks and save a lot of time, headache and money.
Shooting in the Dark
The biggest problem many businesspeople face when hiring computer programmers is not knowing how to scope out and check the work properly themselves. When you are hiring someone to do work on your house or your car, you may have a sense of how to direct them in the job and know how to check their work to make sure they have done it correctly. But when it comes to hiring computer developers, it can feel like you are venturing into the great unknown.
Do you know exactly what you need done? Do you know the skill-set and team of people you need to design, build and test your product? Do you know what is the latest and greatest computer language to use to create whatever you want? Do you know what the user interface will look like so it is easy for your customers to use? Do you know how to test and report bugs across all the different devices that someone might try and access your website or app from? Who will continue to support and make changes to your website or app when it is live? Will it be the same people who built it? If not, did the people who made it create the necessary technical documentation? If you want to add new features and functionality, will the computer language that was used become dated and not keep up with new devices?
These are all things that a novice will unlikely know much about, and putting your faith in a far-flung team to figure out all these things can easily lead you down the wrong path.
“Great things in business are never done by one person. They are done by a team.” —Steve Jobs
Whenever a website or app is being put together, it usually requires a team of people with different skill sets:
- Product owner: business owner of the application
- Project manager: the person who oversees the whole project from start to finish
- UX / UI designers and developers, who create the front end / interface that you will see
- Software developers, who do the backend coding that you won’t see
- Quality assurance testers, who will make sure your website / app works perfectly across the wide range of devices and browsers people will access it from
It is never a good idea to hire just one person for your project. Good developers are always intelligent, but they can have ownership and accountability issues, and without proper management you can easily end up with a dated or poorly functioning app. Similarly, unmanaged designers can drive unnecessary cost overruns by overcomplicating things.
The Hybrid Approach
In my experience, the best approach to get the best of both worlds (e.g., getting American smarts and less expensive countries’ prices) is to hire a very experienced U.S. project manager to oversee the project and then have that person manage the remote teams to ensure they are on the right track.
Scoping Out the Project
The first step your project manager should do is scope out the project and determine which features and functionality you will need and the best approach to achieve it. This involves asking a lot of questions: Who will be using it? What devices will they be using it on? Does it need to integrate with other software? What features and functionality do they need? Planning for the future, what potential additional features will you need? What is the best computer language to use? What team will they need to build it? How long should it take? How much should it cost?
Then, when they have the project scope, it should be up to them to find the best remote team who will provide proposals, and they can do the scrutinizing to avoid some of the most common pitfalls people experience when hiring remote teams.
Most Common Pitfalls Working with Remote/Offshore Teams
- Language barriers: One of the obvious challenges is working with someone who doesn’t fully understand what you are saying or isn’t able to fully communicate back to you.
- The culture of saying, “Yes, I can do it” when, in fact, they can’t: One big cultural difference is, in some countries, people are so hungry for work and money that they will tell you they can do something when, in fact, they can’t. It takes experience and a lot of scrutiny to determine if someone has the actual abilities and experience he or she claims to have.
- Being afraid to communicate issues as they arise: Afraid of losing your business, remote teams will often not communicate any issues with you when challenges arise.
- Time differences: If the teams are in different time zones, they may be just starting their day as you are going to bed, so it may take a long time to get a response to any emails or queries you send.
- Lower-quality work: Yes, computer graduates from top U.S. colleges are going to expect a six-figure salary, but they can churn something out in four hours that is top quality that would take someone from a remote country a week and be full of bugs.
- Different team members: One big challenge about remote teams is they can have big development centers with a lot of people and a high staff turnover. This means that instead of getting a dedicated, consistent team working on your project, you have a lot of different people stepping in and working on it — and it can be very problematic. when one developer takes over another developer’s projects It’s like a wedding planner going missing and another wedding planner stepping in at the last minute. There are a lot of different moving pieces the new wedding planner has no idea about. It can be chaotic and lead to shoddy results.
- After you go live: Many novices don’t realize that when your website or app goes live, it is just the start of your journey. People get quotes for a project thinking that when the website is done, that is it. But you will need constant updates and changes. Your customers or staff will report bugs or tell you where they get confused on your website. Changes constantly need to be made. Some new functionality, such as Apple Pay or TikTok, will become available and you will need to add these to your app or website. Ideally, you want the same team who built your website or app to be the ones continually updating it. This is something that many people don’t consider or ask for when hiring remote teams.
My final words of wisdom for working successful with remote teams are:
- Date before you marry. If you are working with a new remote team or company, do a pilot mini-project with them before committing to the full project. That way, you can see the quality of their work and if any of the above problems arise.
- Work off a fixed project rate instead of hourly with a certain number of requested changes. This way the onus is on them to deliver on time and on budget instead of you sinking into a money pit.
- Visit them. If you are going to be doing a big project and ongoing work with a remote team, I highly recommend going to visit their offices and meeting the team that will be working for you.
Alister Harris is a solution architect and business process engineer. He is owner and CEO of Framework Solutions, a database software development firm with more than 20 years’ experience providing services to corporations across California.