+ work in the long term (after the development will be support by the same people)
+ You sit in the office (communication in a team is easier and more)
- they have to pay fixed SN (generally for example in St. Petersburg it will cost from 50 (Junior), 150 (sir) thousand per month per person)
you need to provide the working space (Desk, chair, computer, etc.)
rarely work longer working days (although if you are going to pay for processing it)will
+ can have more time to dedicate to Your project (usually), so as not to spend time on the road, etc., as well as working on their own equipment and use their own electricity
+ You only pay for the work done
+/- Build their own work schedule, then with one hand can work on weekend nights and so on, on the other hand can take a day off say, Wednesday
- After completion of the project they will take You or follow-up support will cost some money
- Team communication remote to the same if not hired immediately ready command (which is more expensive) you most likely will not be actuated and will not aspire to
Find a good "Autsorserom" is very difficult. Usually it is very poorly made.
(they work on the principle of how to do something and get bigger)
And their poor quality of work done in the future you will pay more that the savings will cover all expenses.
Good programmers will be expensive, but it is better to have 5 good programmers than 10 bad.
If the volume of tasks is uneven (like 1 month most zagruzka, and 2 months is nothing special to do).
It makes sense to keep a small number of full-time programmers and to attract "Autsorserom", but on the principle that programmers are in full control of the work of autsorserom.
1. Regularity of work the scope of work.
Staff cheaper if there is a constant amount of work.
2. Qualification and complexity of work.
Outsourcer easier to recruit even if he has high qualifications.
Staff qualifications - this should be a really huge need for a complex and long-term objectives with the respective budgets.
In 1990, then Yes, all kept their programmers and all sawed their software.
In the early 2000's kept their administrators, and sometimes programmers.
Now the norm is outsourcing.
Become smarter and began to count the money.
Regular programmer does not guarantee anything.
One full-time programmer to keep challenging him professionally bored.
If the tasks allow/require you to keep 3 or more qualified person, then the staties are already profitable.
Otherwise you even really can not control.
My company has experience with staffing and autsorserom. Geeks are everywhere. All depends on the person and how to build workflows (setting tasks, control time, etc). So my first suggestion is "Look at what You will be easier to control: remote or standard". We eventually chose the path of "full-time remote employee." Because the products is difficult and sometimes months small to enter into all the processes. Here, the advantage is that if You are in Moscow, you can find a good competent counterpart for a reasonable RFP. Plus, do not require chewing tasks or detailed tor, the person in the subject and the name of the ticket already knows 80% of all works. Yes, 3-4 months with a remote employee, we began to communicate practical only via ticket system. What autsorserom looks unlikely (if they will change frequently) So as outsourcer You "to marry is not required", meaning it and other projects can engage and be immersed in them more than in Your problem.
There can be no definite answer. A lot of conditions.
In my experience of working on outsourcing and the state can say the following:
outsourcers can easily and suddenly fall down from the project, often without saying a word
can frankly moonlight (writing a bad code for example) since there are no managers/head standing behind
can work night, half-asleep, but the wife and kids interfere with work
and a lot more. A good outsourcer is easy to find, but it will cost much more.
UPD: for the rest of the team, this means the following:
- solid and ever-present bad code
there is no single programming style
- long understanding in the source code
But in General this is called a mess.
If you have regular large volumes of work - shtatniki.
If there is a separate work, the increased complexity that shtatniki not master - outsourcers, in addition to the staties.
If there are constant surges of quantities for a short time - outsourcers, in addition to the staties.
If the volume of work is small - outsourcers.
If the volume of work for a single programmer - I do not recommend. It will wither in solitude. Will fall and the quality and speed and to check it there is nobody. And if that happens - will be very difficult for him to understand.
Outsourcing is much cheaper on taxes - after all, the outsourcers themselves are paying for taxes and contributions and pay them expand the coverage of the salary Fund.
Risks? Risks are offset properly drafted contract.
If your business is mostly net - it outsourcing is certainly profitable. As said Milfgard - the ability to pay when you have money and not pay when no money is a very important for business survival.
If this support sites and accounting FOR the main job of the company to give outsourcing a bad idea.
(c) There is such a profession - to work to sit.
If a lot of work, then staff will be cheaper in tens times, than coming and disappearing for weeks at times and it is not clear who. If the operation is small, it is possible to outsert to give.
If the volume of work is large and regular and about more or less qualification require - the more profitable your.
If the work is episodic - a profitable outsourcing.
If require huge jumps in skill - best foreign (your highly trained to feed every day, even when it was possible to do a cheap employee is very expensive).