Hi Fritz
Hassle is likely putting it lightly.
1. Sometimes, but only if there are strange restraint of trades / IP clauses. NDAs I would sign, but also depends on how restrictive. Generally, you probably won't be able to use their idea to spin up a business to compete, unless they are really clueless. The IP rarely sits in just the idea, the execution plays a very large part.
3. I would not sign this given the sub-contracting - you will be taking on the legal responsibility and would have to sue them in turn. The legal fees stretched over time could really hurt you financially - while you fight it, you might not be able to work and generate income.
4. Due to #3, no, but I haven't stuffed up that badly yet (except locking the entire userbase out of the system, but we're not talking about that ;) )
5. You probably already have someone doing your taxes, so adding on a few sub-contractors shouldn't increase the bill too much, just add this into the monthly. If you don't have one, then get one, there are some laws that kick in once your company earns above a certain level, i.e. Skill Development Levy. I wouldn't do this in a personal capacity as it will likely result in paying more personal tax to SARS - not really even sure if it would be entirely legal.
6. Depending on the hours, I would add about 5h of what you would charge per dev per month. It kinda depends a lot on the project, how mature the organization is, how they are tackling units of work, scope creep etc. As a ball park figure, I know some local companies charge R850 ~ R1,000 (ex vat) per hour per developer if they work from off-site (not at company requesting the services) and more for an on-site person. You need to weigh up how much you could make freelancing on your own in the hours you could be spending managing the client / contractors. Sometimes the money just isn't worth the hassle.
You are effectively starting your own development shop and will be taking on all the responsibilities that go with it. The sub-contractor
a) ... is sick for a week, who picks up the slack.
b) ... decides to leave after spending X hours on the project, expects payment, but hasn't output that much due to the initial domain knowledge acquisition, setting up environment, etc.
c) ... really stuffs up by not understanding the problem they are solving, resulting in many wasted hours that they expect payment for, but you cannot bill easily. And client gets nothing.
d) ... cannot attend meetings / take calls during office hours from client. This could be very problematic at the starting stage of a project and make things take longer than expected.
e) ... decides to just disappear - had this when dealing with a US contractor. You would then need to make up the work they were supposed to do, or hope the client understands.
f) For some reason the client decides not to pay for work due to scope creep / misunderstanding / miscommunication, but your contractor still needs to be paid. Or they only pay 30 days later.
A lot of the cons depend on the company you are dealing with, if the work you will be taking on is on their critical path, then I would be very, very careful to take responsibility unless you really know the sub-contractors well and can afford to jump in should they be unable to deliver within expectations.
Cheers,
Cobus