I'm trying to gauge the pros/cons of finding a dev shop in the U.S. vs. going outside of the country. I've heard you can get more for less if you use a shop outside of the U.S., but what are the pros/cons of doing that?
I am sure you have gathered all the necessary info around the pros and cons of developing inhouse vs outsourcing :-)
I am going to talk from my personal experience of offering (industrial design and consumer product development) services from India. Barring a couple of local clients, most of our clients are spread across the Americas, Europe and South East Asia.
I have learnt that effective and clear communication from both parties is key. On our part, we make sure that we communicate our asks upfront. We set clear project scope & milestones and regularly touch base with the client during the course of the project. All phone calls are documented over email to avoid any miscommunication. What we expect from the client too, is that communication is transparent and requirements stated clearly. These are some basic (yet often overlooked) practices that we hold as sacrosanct.
You should not be looking at just cost savings. As a client, you must expect excellent quality and immense value-add to your project from anyone that you work with. Ask for the agency's previous work portfolio. See if you can get any referral checks done.
How does the company's website look? Who will be your single point of contact? Both parties must be comfortable with one another before commencing work.
Trust is built over time. However, from the very beginning, as a client, you should consider your overseas "vendors" as partners, because that's what they are.
If partnering with an agency overseas for the first time, do not outsource any of your core development work - that may happen over time as you become comfortable with the agency's work ethics and work quality. At Outdesign, we have a few repeat clients and we work as their extended team, if you will.
If you are developing/manufacturing some hardware, plan your timelines and costs. Will parts be sourced from multiple suppliers overseas? How will the shipping be managed? For e.g. it can take a few weeks for a shipment to arrive from India to the US via ocean freight. That doesn't mean that you ship by Air. You can just plan the shipping time into your overall timelines to avoid delays.
There's a lot of talk about outsourcing nightmares and how it is better to do everything inhouse. I think if you do your homework well, of finding the right company to outsource to, and follow what I follow, you should be able to save cost and get good quality work done. From my experience, it takes some work and commitment from both parties to develop a good, long-lasting working relationship.
As usual the answer is "it depends", mostly on the type of work you are trying to outsource, but also on how well you can manage remote teams.
Teams in the US are typically better suited for more complicated tasks that require higher quality work. They also cost way more, so it may not be worth outsourcing. Lower quality teams might work for you and then you'll find much cheaper options abroad, but you'll need to be able to manage them well. I've seen plenty of cases where quality started out okay, but then degraded rapidly because nobody was managing the new team properly.
With that being said, not every regional team will be good and not every team abroad will be bad, so your milage may vary. You should also consider how difficult it would be to transfer the project to a local team, as that is a very common conclusion of working with remote teams.
Source: Personal experience of 10+ years as software developer in Silicon Valley.
Generally speaking, you get what you pay for.
There is cheap, affordable and expensive. Not only are these three in the prices developer teams can charge it also applies to the code itself.
There are lots of horror stories of people paying really low prices for people over in Asia and the "developers" were only capable of a static example, not dynamic. So it looks like it will work but it only appears to work in one very specific situation.
When you hire American you still need to clarify a few things.
Server Side Code (a script language and a database)
Unlike client side code there are options for both the server scripting language and the database. The most important rule: avoid Oracle and Microsoft like the plague; they use vendor lock-in to keep costs high. So do not waste money on something like .net or MySQL. Go to Wikipedia and look up the web programming language your developers recommend and ensure that it is an open source language. Your application should be written with an open source server side scripting language and open source database but the application itself will be closed source and proprietary to your needs. I use PHP which is very widely used and supported and MariaDB which emulates MySQL but unlike MySQL is not targeted for death by Oracle (they already had their own long established database and so are slowly killing off MySQL). The developers you hire should know this without you ever mentioning it to them and should be part of the reason why they code that way.
Bottom line: If you are unaware of the politics involved then you have no idea what is involved.
Your contract should allow you leverage to receive a full refund if you find that the developers are not following an explicitly well thought out technical approach presuming you are aware of the technical downfalls that the vast majority of developers (of all countries) typically work with. There are lots of developers though like any industry the best are the few.
Hey Natalie, happy to connect and assist. I've built an app of my own, out of the country, and today have 10+ partners in 5+ countries who offer very comparable and competitive services. You will no doubt see a price drop for working with a team where the exchange rates are less, so every dollar counts more :) ukraine, india, etc 1/4th or 1/5th the cost of working with a US firm. You just want to be sure they write in a code language you can work with, or your team can work with, when their done, or you'll need to rely on them. Outsourcing the team, including the CTO, depending on your stage and budget, could also work well. Msg me if you'd like to chat, I'd be happy to advise and assist with introductions to teams for quotes/proposals on your project. I can help as a recruiter would for finding a job, but help you find a partner for technology or development services. Working with me I can ensure you save money, get many quotes, and understand what your getting into. Again, happy to chat and Good Luck!
Here are the couple articles with different information, that can be usefull for you:
https://drive.google.com/file/d/0B_nZj0w0SLabZDh3OU4yTXQ0akE/view - general US prices
https://webinerds.com/5-ways-build-development-team-startup/ - how to build a dev team
https://webinerds.com/why-should-startups-consider-an-extended-team-model-not-outsourcing/ - how to use the extended to your team model
Here is the video of speech from "500 Startups", where my company's founder explains why hire an offshore team...why not to hire one...how to find one...etc: https://www.youtube.com/watch?v=d915pUleEZo
The prices can be different, but it depends on skill sets of developers. In general, the prices are between 35-70 $/hour. Sometimes the surviving of startups depends on how the founder manage the budget.
If you have any others questions - feel free to text me: email@example.com
It's my experience that if you have a well defined specification, using an offshore development team can provide some cost savings. The offshore development teams that I've worked with have struggled when asked to make even the smallest non-specified decision. So I would say that if you have a really well-defined specification, this might be a good fit. If there is going to be some iteration and shifting priorities and product specifications, using and offshore development team will likely end up being more costly.
Hi Natalie, are you referring to software development or physical product development? Either way, yes, there are pros and cons.
The size of the project is a big factor. Large volume of physical products are often much less expensive from an overseas supplier. Large software development projects may be more easily managed from the U.S. If it needs a lot of project management, working with an easily accessible team n the U.S. is nice.
The best product development experience I have ever had was with a embedded software engineer in Russia who I found through Upwork.com . He designed a circuit board and wrote firmware along with some simple software to test the device. His communication was excellent--far better than anyone I had ever dealt with locally. He was organized and timely.
I have also developed physical products in China and have had good and bad experiences. Getting face time with the product manufacturers goes a long way.
Pros for developing products in the U.S.:
1) More control. Products typically arrive to spec more quickly.
2) No language barrier.
3) No duty or freight
4) Delivery time may be faster (although not necessarily)
5) Easier to check references and credibility.
6) Easier recourse if there is an issue.
Pros for developing abroad:
1) Often much faster as long as you have a good spec from the start (it seems like they really value the U.S. business and speed is there way of pleasing the customer).
2) COGS and labor are less expensive.
3) Lots of consultants are available to help setup your supply chain (get a reference from someone in the U.S.)
Hope this helps.
I have worked w/ dev shops both as a client and as an employee. The company I currently use for my development and consult for (Remedy Point Solutions) has an onshore/offshore model. They are headquartered in New York, where they have CTO services, architecture, data science, product management, and senior level developers. Their Satellite office in Minsk has more developers, qa, and engineering management. Every project has a team w members from both offices. The result is delivery to US quality standards and business understanding, bit at a significantly lower price than a purely local shop.
I find this model has been really successful for my startup and for the friends I recommended there. I've since taken on a role w RPS as well and having seen the way it works internally, I've been even more impressed. In my opinion this is the way to go.
Software industry has been changing a lot and as with other industries it finally understands that it need to please the end customer.
In general it does not matter if you work with a team in the U.S. vs somewhere else as long as you find a good partner.
Looking at how you phrased the question I believe that you don't have a technical person on your team. This means that you should avoid purely engineering and developer shops.
You should find product development agency who can help you define the product, understand the customer, test and validate the idea fast and build the product in small incremental steps delivering valuable solution to the market.
Set a budget that you want to go with, talk with few product agencies and figure out if your budget can get you through the first phase or not. Cost is not directly connected with the value you get (as usual 😒 ), so find a good partner that you trust and will work with your budget to get the best results.
Teams and knowledge is similar in the U.S. and outside. In general the costs are a bit lower outside the U.S.
There is a con of some timezone difference but that you have in the U.S. as well and definitely something that is manageable.
Been in this biz for 17 years. We use people all over the world. Price is the same regardless of where you go - which of course is what the rules of economics would suggest. Price of a barrel of oil does not change just because it cost less to produce in one place or the other. Price is a function of what the market is willing to pay.