Outsourcing: go big or go home?
Is it better to select a big company, or a small studio for your software development needs?
Does size really matter? In most of the cases: yes.
But in our case the short answer is: it depends.
There are many pros and cons, and some are quite logical if you think for a moment: what a large company can do and a small one can't?
And based on your experience: will a big company always meet your expectations?
If not, where does it fail? And why?
Resources and time. And money.
It is quite obvious a small company won't be able to do a monster project.
Or if they can, this may take many years so it's not feasible or practical: why would you wait that long?
But a large company definitely can: being a large company also means you have an army of workers and resources under your magic wand, ready to eat your monster project alive no matter how big and complex - a large company will allocate the required resources
without difficulty. Plus, they will certainly cover a larger range of technologies you can choose from.
And they will happily deliver lots of documentations.
While this is not a rule, your project may take longer to develop because of the large number of jobs they take: your allocated team may work on other projects as well.
All this comes with a price. A larger price tag: being a large company means the running costs are higher. And it's all about profit.
Communication and support
It is widely known that large companies, especially the multi-national corporations have a problem with the communication.
You *think* you are important to them but in reality you are not.
No wonder there are so many anecdotes about the corporate structures with ridiculous roles and job names: every time you call them, you'll get someone else on the line. You call the Tech department and they will pass you to the Support. Then to Communication. They have no clue what your problem is. Their employees come and leave or get fired - their staff list is constantly changing.
A year later your successful project is a relic gathering dust, a backup sitting somewhere on a server, coded by some guys who left.
You are just a number in some spreadsheets, a small fraction of a percentage.
You are background noise.
* * * * * * * * * * * * * * * * * * * * * * * *
While this evil scenario can in fact happen (yes, we won't give names but we've seen this), it is unlikely to hit you if you select your partner with care. Bear in mind that you'll never know the actual team: all the communication will be done with the project leader. At the end of the day, a large company is like a coffee vending machine: you insert a coin, you can hear something happening inside and you get your coffee.
A small company doesn't suffer from that whale-like anatomy: they will be quick and effective. They can bend. You'll have the coffee served with a smile, and you'll see how it's made.
And the topping comes with a nice heart pattern.
You'd be able to actually talk to the owner, should you have a problem. You *are* important, and while you are still a number on the spreadsheets, you are large enough to be taken seriously.
You'll find lots of flexibility, and most of the time the team will work exclusively for you - meaning they eat, code and dream your project every day. It's like having your pet dev team. And the project will be done faster and cheaper.
The bottom line ↑
Is your project very big? The budget is not a problem? You need it properly documented?
Go for a big company.
Your project is small to average? You want tight control of the development?
The budget is slim or you want to save money?
A small company is a better answer.