Onshore, Nearshore, or Offshore? How to Maximize Your Agile Software Development
Written by: John Krewson
Outsourced software development companies are as diverse as the individuals they employ. How can you be confident in hiring the right vendor before you’re managing an unmitigated disaster of a project? Is it really worth it to hire cheap offshore talent indefinitely because the project, in its earliest phases, pencils out?
That might be the wrong way to think about it. The best developers provide critical skills no matter where they are located, or what they cost. But just as important as developer skills are things like company culture and management practices. If those things are not in place, outsourcing might actual end up costing more in the long run.
What We Mean by Offshoring Software Development
Companies that hire offshore developers usually need fast results for a steeply discounted hourly rate. Most commonly, Europe-based and U.S.-based companies look to developing countries in Asia and Eastern Europe. There is a chance (a small one) you could find really good talent for a far-less-expensive rate than talent in the U.S. or Western Europe.
Where the single advantage is mostly the low cost, the downsides are pretty numerous. Language barriers and air travel already make it hard to build the relationships that are crucial for building the right product. Time zone differences only make that worse. There are 9.5 hours separating New York and Delhi, for example. Standard working hours don’t overlap at all, so there’s a delay of at least one business day for all communication.
Even simple correspondence takes a day. If you need some back and forth, unless your devs are willing to shift their schedules to yours (and many are), you’re looking at about 48 hours to complete a simple exchange. Those turnaround lags often bring collaboration and productivity to a grinding halt.
Then there are the many cultural issues. By culture, we don’t mean nationality. We really mean the culture of a specific company. Good product teams should do more than just push out functional code on demand. Here’s a concept you should embrace right now: Good development teams always examine the big picture to solve big problems.
This particular difference is often associated more closely with price than location. Does the team have a culture of excellence and take a consultative approach, or do they have a culture of commoditizing themselves and providing cheap labor?
When bargain basement developers aren’t good at solving your biggest problems, you end up throwing money at your issues until you can find someone to address them holistically. It’s short-sighted to hire cheap companies because, under the guise of saving money, you throw away time and money on mediocre products.
Always check with legal, too. Your data and intellectual property might not receive the same protection they would in the United States. If you don’t have current legal resources, you could only be setting yourself up for some IP issues down the line.
Advantages of Offshore Development
- Low Cost
- Large Talent Pool
Disadvantages of Offshore Development
- Time Zone Differences
- Cultural Barriers
- Travel Time
- Quality Control
- Regulations
Nearshore Software Development Outsourcing
Nearshoring has emerged as an alternative to (or at least a different version of) offshoring. For businesses based in the United States, nearshore software development outsourcing normally means working with developers and development teams in Latin America, namely Mexico, Argentina, Chile, and Brazil.
The big benefit here is that your partner will be in the same time zone (or at least within a few hours). The cultural differences are also reduced, and Mexico even uses the same IP regulations at play in the United States. Of course, depending on where you send your sensitive information, it may still get harder to govern once you send it across national borders.
It’s relatively easy to find Latin American developers who speak fluent English, though not guaranteed. The bigger concern is the resilience of businesses in Latin America. The FM Global Resilience Index measures a country’s risk level and ability to recover from things like economic downturns, natural disasters, and social unrest. Every zone in the United States outscores every country in Latin America, suggesting that nearshore companies are more susceptible to potential problems.
Advantages of Nearshore Development
- Similar Time Zones
- Decreased Cost Compared to Onshoring
- Culture and Language Compared to Offshoring
Disadvantages of Nearshore Development
- Culture and Language Compared to Onshoring
- Cost Compared to Offshoring
- Resilience and Reliability
- Regulations
Onshore Software Development Outsourcing
This brings us home to the United States. Onshoring brings the benefits you expect when you buy from an agile development shop, but without the complexity of managing an international relationship. There are minimal time zone differences and few obstacles to travel, which makes accountability easier.
Everyone speaks the same language, and everyone is on the same page. The biggest cultural difference between St. Louis and New York, for example, has to do with cutting pizza into squares instead of triangles. That might lead to a spirited debate or two, but it won’t derail the project.
It goes almost without saying that resources within the U.S. will demand higher compensation. For startups, that could be a massive downside. After all, the bottom line is the bottom line. Value, however, is not always defined by what you pay. As we discuss in more detail below, the longer a project goes on, you may still end up spending nearly as much and not getting the deliverables you need.
Advantages of Onshore Development
- Cultural alignment with solving big problems
- Minimal Time Zone Differences
- Easy Travel
- Accountability
- Better Quality of Product
Disadvantages of Onshore Development
- Cost
Beware the Bait-and-Switch in Offshore Software Development
The necessary skills to make it through an interview and onboarding process are much different than the necessary business skills to build good products consistently. You only need this to happen to you once to know that it happens all the time. Many offshore companies start out a project with their A team to get through the sale and onboarding. At some point, they sub in the B team (or worse) to save money and squeeze more profit out of your project that they grossly underbid.
You may start the engagement with a team of all-stars, but there’s a good chance they’re rotating the starters out once the game starts. They need that A team to lure more engagements, and on it goes. Even if this cycle isn’t intentional or malicious, their top talent will leave once they have enough experience to get what they’re worth. Your company then becomes the victim of their churn-and-burn culture.
More is Just More
The number of developers on the team doesn’t equal a better product, and throwing more bodies at a problem is ineffective. In fact, it might even be counterproductive. As Fred Brooks famously said, “What one programmer can do in one month, two programmers can do in two months.” Offshore code farms that throw more coders at your product aren’t going to necessarily build you a better product, let alone deliver it sooner.
Instead of fixating on cost alone, consider inputs and outputs. Would you rather spend $5,000 on a clunker or $10,000 on a new Lamborghini? So here are some “buyer beware” outsourcing software development points:
- If it looks too good to be true, it probably is.
- It’s better to pay more for something that works than throw money away on something that adds no value.
- Do your due diligence. Referrals, demos of products they’ve already built, etc. Kick the tires as much as you can, and include “out” clauses so you’re not stuck in a long-term relationship.
Commodity-priced organizations focus on fulfilling their obligations only as far as meeting the letter of the law. They’ll only give you what you ask for, not what you need, and they’ll soak you for every change order. All the while, you blow past your original budget as your market window is closing.
Opportunity Cost > Dev Cost
Products don’t normally fail because developers command fair wages by U.S. standards. They fail because ineffective developers and ineffective development practices (wherever they live) delay the time to market.
When you hire smart talent, you get working software sooner. When you get working software, you shrink your feedback loops. The sooner you get good feedback, the shorter the distance to a better product. When you get a better product faster, you beat your competitors to market.
What about those small projects that you may want to hand off to a cheap programmer in India who cranks out code for $10 or $12 an hour? Our hot take: If any API or chunk of code is that immaterial, ask yourself this: How can we automate this?
People who commoditize themselves aren’t motivated to avoid low-value tasks. They want to soak up hours doing easy work. If the project gets stuck, you suddenly find yourself renegotiating the scope of work with added tasks and, of course, money. It takes initiative and innovation to solve the big problems, and you’re not going to find that for $10 an hour anywhere on this planet.
A DevOps Approach to Outsourced Software Development
You can find both great and awful software engineers anywhere. How and where do you find them? When you’re weighing your options, you can look at the address, but look past it, too. Some aspects of culture are much more personal than national. Pay attention to who talks about delivering your new stack or facilitating real craftsmanship while they’re there. Good consultants don’t trap you into giving them more business, because they know you’ll call them whenever you need something else.
Mutual relationships can always be renewed. When someone wants to embed themselves permanently with no exit plan, that’s textbook parasitism. A good consultant doesn’t just build exactly what you asked for. They build what you need.
Ready for some tips? Contact us to discuss how we can build the products that will give whatever you build the features and functionality your stakeholders want.
Tag(s):
Software Development
John Krewson
John started Sketch in service to the mission of improving the ways people and teams work together. His past experiences as an agilist and professional actor are the primary sources of inspiration in leading this mission.
Connect with the author
Other posts you might be interested in
15 min read
| November 9, 2021
The Five Most Common Software Development Approaches
Read More
agile transformation
13 min read
| November 1, 2020
QUIZ: Which Problematic Leader Are You (Dealing With)?
Read More
7 min read
| October 13, 2021