Cunctiv.com

We know how the tech is done.

Real Estate

Subcontractors: pros and cons

Lately I had some discussions about outsourcing with people who had different points of view. I believe that there is no single universal answer to the question of whether to use subcontractors. It all depends on the situation you find yourself in. When making decisions, you should always weigh the pros and cons of having a subcontractor on a project, even in two situations that are similar, but occur at two different times and an outcome may differ.

advantages

one. Costs. When you’re on a job for a fixed amount of time (it doesn’t matter if it’s a week or a couple of months), it’s usually cheaper to find someone to do the work for you on a contract basis. There is no need to spend money on recruiting and sometimes it can be very expensive. The shorter or more fragmented your work time, the greater your savings. When you need a few hours of consulting every fortnight, that’s a perfect example. When you don’t know how often you’ll need help, it’s probably a good case to consider outsourcing.

two. Ability. You can’t specialize in everything. When you’re working on complex projects, you probably have some components to develop in areas where you have little knowledge. If you do it once and don’t plan on having them in your standard portfolio, it’s a good idea to find a competent subcontractor to do it for you.

3. flexibility. The larger your organization, the less flexible you are. The more projects you do simultaneously, the less flexible you are. The more serious the commitments you have made, the less flexible they are. It is because there is a lot of real work to be done with the highest possible priority, where you cannot fail and it is difficult to find new hands to help. The answer is “subcontractor”. You can find one for whom the new task will be the highest priority and will do it on Monday by working too much throughout the weekend. Your team won’t. Perhaps because over the weekend they are struggling to finish another project of the highest possible priority. Or maybe because you don’t want to overload the team. With the subcontractor, you don’t really care if they’re overworked or not; he’s not your employee, so I guess he won’t quit.

Four. Access time. It is faster to outsource to another company than to hire new developers. You draw up a standard agreement and start working. Recruitment takes longer and probably has higher standards than subcontractors. I would think twice before adding a Prima Ballerina developer to my development team. I wouldn’t think more than a minute before hiring a prima ballerina developer as a subcontractor. It’s also complicated when you have a task for a dozen people. While it’s sometimes possible to find a competent single person in a very short time, I wouldn’t take on the task of finding a dozen of them unless I have the title of “demigod” on my card. On the other hand, finding a subcontractor with a dozen competent people in a short time is not extremely difficult.

5. Team. You just don’t need it when working with subcontractors. You don’t buy a computer, a desk, a chair; you’re not looking for a room or anything. You just don’t care about the team. Attention of subcontractors.

Cons

one. Externalized knowledge. When you outsource a task you learn nothing about it. You will not know what problems appear and how to treat them. You won’t know all the tricks and hooks implemented to make it work. It will not review documentations, RFCs, newsgroup posts, etc. You won’t learn the technology at a very low level, which gives you a real understanding of what’s really going on under the hood. It’s okay when you don’t plan to do anything in that specific area. However, if you can think of another project that requires the same knowledge, you wouldn’t pay an outside company to learn something that *you* need to know.

two. Support level. That is not true in all situations, but it is very common. He outsourced something and the cooperation was great during the design, development and implementation stages. But now it’s a maintenance time. Your subcontractor will not gain much from the support agreement, at least not enough to maintain the level of funding they had before you. Their motivation to cooperate with you, counted in dollars to win, is much less. So is the level of support. And that is the case if you are lucky. Sometimes the former subcontractor no longer cares if he has a problem: his role ended with the payment of an invoice. It’s your customer, not theirs. It is you who cares, not them. Do you pay penalties for being late with bug fixes? Oh. It’s *you* who has a problem, I guess.

3. Quality. There are many extrinsic factors that improve quality: tests at different levels, code reviews, statistics, etc. On the other hand, I can only think of two important intrinsic factors in maintaining high quality: the will to do things right (which is a character trait, so not controllable) and the long-term perspective of maintaining the code. . When you work with subcontractors, you may offer some extrinsic quality drivers, but they all greatly increase your own effort to complete the project. On the other hand, it’s hard to deliver an intrinsic quality boost, because you don’t manage subcontractors the same way you do your own developers. Unless you find a reliable subcontractor, you would be very afraid of the poor quality of the delivered code. Unfortunately, experience suggests that it’s really hard to find a reliable subcontractor and the vast majority of code produced that way is of poor quality. Remember that you will have to support him.

Four. Other contracts. Does your contract with a subcontractor pay you rent? And is it true in the long run? In most cases the answer is negative. You will almost certainly have other projects to do. They will become more prior to yours. Don’t expect to be treated the same way you treat your top customers.

5. Lack of control and influence. Compare the level of control and ability to influence the work of your team and that of an outside company doing something for you. You do not control subcontractors well. You have to trust that everything they say is true. Sure, you can employ a complex system to control work, but it will never work great and you’ll spend a lot of time reviewing other people’s work. Wouldn’t it be wise to just do the job?

6. Organizational effort. Preparation and signing of a contract. Double checked specifications. Regular status check. Record all tasks, functions and errors submitted by the subcontractor. Management of formal communication. Waste of time by pushing phone numbers and emails from the client to the subcontractor. You don’t need to do most of that when you don’t have the subcontractor. And it’s still easier to find a group of good developers than a good project manager, who has to deal with all that outsourcing stuff.

7. Costs. Yes, I know I mentioned the costs on the pros side. Outsourcing can be cheaper, but it can also be more expensive. Generally, an hour of work by a subcontractor is more expensive than an hour of work by his colleague. You save money during the time the subcontractor is not working for you. However, if the task is rather constant and prolonged, outsourcing will probably be more expensive. And one more thing: the official estimates of time and cost are usually higher than reality. With subcontractors, you now pay for estimates no matter how easy (or how difficult) the task was.

When you think about having a subcontractor on a project, consider all of those factors. Sometimes only one of them can make decisions, for example when time is of the essence and you don’t have enough developers of your own, it’s quite possible that nothing else matters. What is most important here is that there is no universal answer. Outsourcing can’t be treated as a cure-all, but sometimes it works well.

LEAVE A RESPONSE

Your email address will not be published. Required fields are marked *