3 ms·
Your train has already left the station. You're not going to persuade him not to outsource so don't try. Instead you should persuade him that maintaining cont
by jwitchel 16y ago
Your train has already left the station. You're not going to persuade him not to outsource so don't try. Instead you should persuade him that maintaining control over your outsourcing is the critical requirement for success. And focus on how you want that to play out.
Regardless of whether you outsource to India, China, or a a guy down the block many of the same issues apply.
1) Can you fire the company if you need to? "All relationships end badly or they wouldn't end." When you have to fire the outsourced team, do you have the skills internally to take control before you find a new group?
2) Can you ensure the outsourced team doesn't do anything sketchy. Do you have a team internally that can protect against back doors, lockout triggers for non-payment, inappropiate code insertions, undesired use (or non-use) of GPL'd code.
3) Due-Diligence. How (specifically) do you plan to get through due-diligence -- not just with VC but with an acquirer who will look at your code and how it was developed? Code review, architectural review, etc. Without a local team firming at the helm that process will go poorly and cost the company far more in a valuation hit then any cost/time savings.
4) Customer Data. Although it's just about impossible to avoid giving a remote team access to your customer data, you can't give them total control. You need a strong DBA locally to ensure your DB meets your security and privacy standards.
5) Around-the-clock development. The reason outsourcing is effective is not because it's cheaper (it's only marginally), not because they're better (they're the same as us), it's because you can do around-the-clock development. They check in code at 6 AM your time, you check in code at 6 AM their time. That's how you get ahead. If you simply transfer a single development team to a different time-zone, all you bought yourself is a 20-30% cost savings and a bunch of frequent flier miles.
So the net-net on your pitch is: control, intellectual property ownership, customer data, and speed.
I suggest you pitch:
a) Acceptance testing stays domestic
b) Design stays
c) Software Architecture and Spec Writing stays
d) Small team of the very best developers stay
e) "everything else goes"
- gte910h 16y ago>5) Around-the-clock development. The reason outsourcing is effective is not because it's cheaper (it's only marginally), not because they're better (they're the same as us), it's because you can do around-the-clock development. They check in code at 6 AM your time, you check in code at 6 AM their time. That's how you get ahead. If you simply transfer a single development team to a different time-zone, all you bought yourself is a 20-30% cost savings and a bunch of frequent flier miles. I'm highly curious on how this executes well in a high control environment. I've only seen this work at all well in very very loosely coupled codebases with huge amounts of responsibility division, and even that said, the technical and project leads seemed fully utilized handling the two teams. Care to share the howto on this?