Pitfalls of outsourcing - or how to avoid (very) expensive experiments
Nowadays outsourcing is a business model in itself: many businesses would not be possible without it.
While not having the workers under your roof can greatly reduce the costs, there are many traps that could lead to an outcome you may not be prepared for.
The success depends on many factors, but there are some obvious pitfalls you should avoid.
1. No references, no joy
You've found some teams, you've got some estimates for your project... but what else did they do?
You should always ask for solid, verifiable references. Some website links won't be enough: you could never know the full story behind their portfolio. So ask for emails, phone numbers, company contacts, and do your homework properly. Ask their clients if they'd hire them again.
2. You think you'll get what you've paid for. Only you don't.
The team is selected, a starting budget is set and you have a clear image of what you'll receive.
But... is your dev team looking at the same image? You really don't want to end up like in the famous cartoon !
This is why the project specs must receive lots of attention. Having details about the projects exploded in mails/messenger/skype/phone sessions won't cover you so make sure your specs contain absolutely all the features you want and need, before any work is started. This is especially important for the budget calculation.
3. Work done. Or almost. Team nowhere to find.
If they don't offer support this is a really bad sign: you'll end up trying to get someone to understand the app they wrote. This costs time and money and generally speaking working with someone else's code is frustrating.
A particularly bad scenario is getting the project 90% done and you desperately looking for someone else to finish it off because the team left - the freelancing platforms are full of gigs like this. In fact the truth behind these missing 10% is really ugly in most of the cases.
4. Don't get stabbed
IT security is one of the main concerns nowadays. Privacy is invaded, identity theft happens daily. We are data.
In a business the relationships are built based on trust and mutual respect. But business is business and in some rare but very real instances the dev team or someone closely related to it stole sensitive info.
An event like this can skyrocket the business costs or downright shut your box. While the human factor is not very predictable, make sure your team is trustable (yes, those references also help with this).
Finally, some hints that will help getting your dream app properly done.
Remote work, remote workers...
But how remote? Would you work with someone living in the middle of the Pacific ocean?
Sure, why not, it happens often. But here is a good idea: pay them a visit - the costs would likely be a small fraction of your project. While it's not likely you'd be willing and/or afford to visit some 5-10 developers spread across the world, visiting your partner will help building the trust and a proper understanding of the project: after all, head to head meeting beats any skype conference!
It's very frustrating to be left without news for days. Your team is there, thousands of miles away doing... Only God knows what. Or Buddha. Maybe working for someone else ? WHAAAT?!
...So better make sure you have someone "there" keeping a tight contact with you. Someone with good English skills (yes, bad grammar can cost you money !). Do get progress reports, ideally daily so you can track things. Depending on the project nature especially in the initial stages this may not applicable but the later stages can be checked more often.
Pay. On. Time.
Your budget must be reserved and put aside for your project. Remember the "90% done" scenario? It's a good idea to have a 20% reserve. Always prioritize the payments, just as you do with your bills.
In fact pay the dev team first, the bills can wait. This is about business trust: "pay on time and you'll be fine".
Tensions can be generated for many causes but the lack of payment will certainly lead to frustration.
Paper work. Boring but crucial.
Make sure your team is a real company. Sign a contract. Get the specs properly done. Do a timeline and make sure it's respected. Get the specs nailed down. Talk to a lawyer - make sure you can sue their arses should you need it. Did I mention the specs?
Even having these details sorted may not be enough to keep you out of trouble - but we think you just got rid of the obvious ones.