Nearshoring has become a common alternative for startups and enterprises struggling to hire engineers in a competitive software development market, with successful examples including Skype, Slack, and Alibaba.
Key factors when choosing a virtual team include overlapping work hours, shared language and strong communication, and being included in the process with the right questions asked.
Be cautious of unrealistically fast estimates and unusually low prices, as they often indicate poor architecture, scalability issues, or dissatisfied developers working in poor conditions.
Prioritize companies willing to share in the product's success, such as through stock options or success-based compensation, rather than those charging purely by the hour.
With a highly-competitive software development market, it’s becoming increasingly harder to find engineers to work along and develop great apps. In light of this issue, many startups and enterprises are turning to look at alternatives to hiring, being nearshoring one of the most common practices.
Opting for developing an application with a virtual team, as your sole — or complementary — design and development crew is certainly different from having your engineers in-house. However, a few choices might considerably ease these hurdles, and it’s fairly common to see successful products built within this model, such as:
Skype, which was outsourced to Estonia in its early days (source)
Alibaba, which first outsourced its development to a US firm (source)
Being in touch with this market for quite a while, and having experienced many success and failure cases in the business of apps and outsourcing, I’ve decided to write this post to provide some important points that ought to be taken into account when choosing a virtual team.
1. Choose a team that is located in a country with overlapping work hours
Although remote, it is fundamental to have a sense of proximity with the team you’re working with. Being able to quickly assess your teammates via Slack or Hangouts helps the project flow with ease, and enables both ends to feel more secure about what they’re working with. Therefore, it’s essential for them to have some overlapping working hours, so that one of the sides doesn’t have work at uncomfortable times, generating unnecessary stressful situations.
2. Your virtual team should speak your language and value communication
It’s paramount to be able to get clarity on what’s being worked on. Besides using tools like JIRA or Trello to get an overview of the project’s progress, it’s also a good idea to choose a team that you’re able to reach out to individually, and that’ll be able to quickly respond – in your language – with a status update.
3. Make sure you’re being asked the right questions and being included in the process
Building software is a complex task and requires lots of planning and iterating. If you’re not familiar with this environment, you might even need guidance on which questions to ask, and you want to be sure you’re extremely included in this process, to make sure your application evolves and remains loyal to your vision and goals.
4. Be careful with miraculous estimates
Similarly to a building, a piece of functioning software can be developed in several ways. Some quick & dirty, some well-architected and scalable. If you’re estimating your project with several companies, and one of them stands out for being too fast, be extra careful — they’re probably not worrying about how your product might grow and evolve in the future.
5. Lower prices might be interesting, but they’ll turn out to be expensive in the long run
Software developers’ and designers’ work quality is highly-related to how satisfied they are with the work they do – and how much their compensation is. Some companies work in a production-line system that is very cheap (and provide the worst working conditions to their developers). Similarly to #3, be careful: you probably won’t get a great product by working with dissatisfied people in poor conditions.
6. Value companies that want to participate in the success of your product
Some companies charge for their work on a pure hourly basis, and won’t necessarily leverage the business experience they’ve gathered throughout time when working on a new product, since they wouldn’t benefit from its success. When choosing a virtual team, try to find people that are willing to get part of their compensation proportionally to the product’s success (or in form of stock options, for example), so that you’ll be sure they’ll make every effort to build the best product they can.
Wrapping Up
All in all, there’s no magic rule: you should find a company that is willing to team up with you and work towards the same vision. If you have any questions, or any other tips, feel free to leave them in the comments section.
share this article
FAQ
Why are startups and enterprises turning to nearshoring for software development?
With a highly-competitive software development market, it's becoming increasingly harder to find engineers to work along and develop great apps. In light of this issue, many startups and enterprises are turning to alternatives to hiring, with nearshoring being one of the most common practices.
Are there examples of successful products built with virtual or outsourced teams?
Yes. Skype was outsourced to Estonia in its early days, Slack outsourced its design to MetaLab, and Alibaba first outsourced its development to a US firm.
Why does the location of a virtual team matter?
Although remote, it is fundamental to have a sense of proximity with the team you're working with. Choosing a team in a country with overlapping work hours allows quick communication via tools like Slack or Hangouts, helps the project flow with ease, and avoids forcing either side to work at uncomfortable times.
Why should you be cautious about low prices and fast estimates?
A piece of functioning software can be developed in several ways — some quick and dirty, some well-architected and scalable. If a company stands out for being too fast, they're probably not worrying about how the product might grow and evolve. Similarly, very low prices often come from production-line systems with poor working conditions, and dissatisfied developers are unlikely to deliver a great product.
What kind of compensation model is recommended when choosing a virtual team?
It's recommended to find people willing to take part of their compensation proportionally to the product's success, or in the form of stock options, so they're motivated to leverage their business experience and make every effort to build the best product they can.
Progressive rock lover, programming languages aficionado, full-stack web/mobile developer and pentesting enthusiast. Legend says he's never lost a Pokémon battle.