Should you outsource your programming?
You have a big project or a startup idea you want to get developed but you don’t have your own development team so just how should you go about it. Basically there are four options:
- Employ your own programmers.
- Outsource to an onshore (local) programming house.
- Outsource to an offshore programming house.
- Outsource to a programming house which manages the work onshore, liaising with you, while processing the programming with their own offshore team.
Employ your own programmers
This will give you the most control over your project but can be expensive. As we all know employing anyone has more costs associated with it than just the wages you have to pay. Not to mention if you have little or no programming experience it is difficult to employ the best person for the job and equally as difficult to monitor their work.
If you only employ one programmer you could run into succession issues if that person resigns. Even if the new programmer works in the same programming language it is not necessarily a case of the new guy picking up where the other programmer left off.
Compare it to having your house renovated, one building team gets half way through and you dismiss them and hire a new builder. The new builder will look at what the last one did, probably complain the work is below standard or completed incorrectly and then tear most of it out and redo it to his way of working. Programmers are very like builders in this regard.
Outsource to an onshore programming house.
A good programming house will have systems in place to ensure there is continuity of support for your project. Not only during the initial build but for any trouble shooting needed and for future development.
This is assured by:
- Employing quality programmers with the relevant skills needed for your project.
- Creating documentation for the project detailing what and how the development has been implemented.
- Ensuring there are always at least two programmers who have development experience on your project to safeguard against knowledge shortfalls due to staff changes.
Of course being onshore provides a level of confidence and security around your project along with having a local project manager to liaise with.
However, being onshore comes with a cost in real dollar terms as charge out rates will be at local prices.
Outsource to an offshore programming house.
This could be the answer if cost is an issue and of course cost-effective development is always a consideration. Most importantly establishing the bona fides of the company is essential ticking off the skills and systems mentioned for an onshore operation.
Any company can close its doors be it a local organisation or one overseas, however, it is more important to establish the track record of an overseas programming house simply because they are at arm’s length. Longevity of such companies can be an issue where the risk of being left high and dry is very real.
Project management can also be an issue as in most cases the project manager will be based overseas and language differences may well be a problem.
The plus side is the cost of development could well be cheaper, however, not necessarily at rock bottom prices as offshore developers are increasingly aware of their worth and are charging accordingly.
Outsource to a programming house which manages the work onshore, liaising with you, while processing the programming with their own offshore team.
This solution offers the best of both worlds with an onshore project manager and offshore developers with associated lower costs.
But beware! Some onshore project managers act as a broker farming the work out to offshore companies they have no professional connection with or even just posting it on sites where freelance developers bid for the project. Whilst this may work for small scale website development, and even that is doubtful, it is no way to run a large project.
Ideally, the onshore project management team will be an arm of the offshore development house. Naturally all the usual checks and balances would have to be completed but this solution could be just what is needed.