We outsource chores all the time.
We outsource cooking to restaurants.
We outsource travel planning to
travel guides.
We outsource oil changes to auto mechanics.
But software outsourcing is unique in that it often gets a bad reputation and causes a loss of expectations.
I believe there are a few reasons why software outsourcing gets such a bad reputation.
Lack of discernment
A Peruvian restaurant would refuse to serve you Indian food. They might suggest some good vegetarian options, but would not cook Paneer Tikka for you.
A Honda car repair shop would refuse to fix your McLaren.
A travel guide focusing on Central America would politely decline if you ask him to plan a trip to Europe. At best, he might recommend someone else who specializes in that region.
But when it comes to software outsourcing, you will never get a rejection.
You will get a quote regardless of what tech stack you ask for.
Nobody wants to lose an opportunity, nobody wants to say no in software outsourcing.
They might be based in India, Latin America, Eastern Europe, or the United States.
Since every other vendor says yes, nobody wants to say no.
Lack of long-term reputation harm
One-star reviews on Yelp destroy restaurants’ business.
One-star reviews on TripAdvisor force tour guides to reduce their prices.
One-star reviews on Google Maps are a death knell for auto mechanics.
But what if you weren’t capable of or didn’t deliver to your client?
Well, nobody will ever know.
Further, since all clients are different even if you serve one well, others might still get disappointed because the task might be radically different.
Task ambiguity
Software outsourcing is done for a variety of reasons.
Sometimes, it is to save money.
Sometimes, it is to deliver faster.
Sometimes, it is because it is hard to hire people to wants to work on an esoteric
tech stack.
Sometimes, the tasks are clear-cut and narrow.
Sometimes, the tasks are ambiguous and might even evolve along the way.
Sometimes, the hiring is for a project.
Sometimes, the hiring is to fill a vacant role.
All of these require radically different types of hires.
No one mentions this upfront.
So, the two sides play an ambiguous game of trying to discern what the other side wants.
Conclusion
The truth has to start from the client.
They have to make the task as unambiguous as they can.
However, if you, as a client, come across a vendor who says yes to everything, just say no to them.
Further, if possible, hire for a month first, and extend only if that goes well.