7

What are the pros and cons of adding external software developers to an existing developer team for a small project? What are the pros and cons?

For me:

Pros:

  • Development should in theory be faster overall than the existing team
  • As good devs are hard to find for employment, it is an option to get developer power fast
  • Maybe good constructive input from the external devs, as they are new to the product

Cons:

  • Expensive
  • Not sure who will be responsible for the code of the external devs
  • External devs need to learn about the existing code. Someone needs to constantly check what they´re producing, so they don´t build their own parallel product in the existing product
  • Much more need for code review, talking, meeting, refining product concepts

So all in all, I think it could work for bigger, new parts of the product. For something small that takes an existing dev 2-4 days, it will be not worth it to school the external devs how to do it.

What are your pros and cons? Do you have some real life experience with this kind of 'hybrid teams'? Please share!

  • 1
    Please stop whatever you're doing and read Fred Brooks' "The Mythical Man-Month". – Jim Garrison Jul 17 '15 at 14:25
  • Brooks Law has effectively caused people to stop analyzing, making the assumption it is a true natural law that effects all work all the time. Quite sad. – David Espina Jul 17 '15 at 15:00
  • @DavidEspina It's arguable that one should observe Brook's Law as such until you can provide the necessary analysis to prove it wrong for your situation. Brook's Law is typically very accurate when the problem scope hasn't been refined enough to show specifically how additional resources could be made effective. – CLW Jul 17 '15 at 15:43
  • 2
    Work has varying degrees of resource elasticity, ranging from extremely high, such as moving boxes, to zero such as adding another brain surgeon in the operating room. Whether you move only after you prove it wrong is strictly your degree of risk appetite and expertise in your field. But what I have observed mostly with Brooks Law, on this forum and in work, is that most people treat it like gravity: true in all cases...not worth investigating. And that is simply sad. – David Espina Jul 17 '15 at 15:49
9

The biggest problem is Brooks' Law

You did not say why you are trying to add freelance developers to the small project temporarily. If your project is late and you are hoping to crash the time line, remember Brooks' Law, "adding manpower to a late software project makes it later".

  1. It takes some "ramp up" time for the resources added to the project to become productive.

  2. Reduces the contribution of the in-house team because of the need to train the new person as well as to review the code and so on.

  3. Communication overheads may not be such an issue for you because you said it is a small project.

In addition to Brooks' Law, in your case the bigger factor is the potential frustration to your in-house team. They have to do a lot of hand holding to get the freelancer started. This is during the time they are under time pressure in a late project. After they have come and gone, the in-house team has to deal with the fallout of any issues arising from their code.

So, my recommendation is:

  1. Don't add a freelancer temporarily.

  2. If you must add a freelancer:

    a. consult with the in-house developers first.

    b. Let them participate in selecting the freelancer and establishing the ground rules.

    c. Let them review and accept all code from the freelancer with the explicit understanding that they will take ownership of that code when the freelancer leaves.

    d. Ask your tester to test the freelancer work more thoroughly.

  • I initially read "con" as "Confidence Game", not as "adverse implication". I thought I was going to read a very different article. – Mark C. Wallace Jul 17 '15 at 14:20
  • 1
    @MarkC.Wallace Thanks for pointing that out. I changed it. I went with the OP's term without realizing how it came out :( – Ashok Ramachandran Jul 17 '15 at 15:00
0

It depends on your team, if they are able to delegate tasks it can be a help to have additional manpower, otherwise the maintenance of the freelancers will eat up a lot of resources and the total benefit might be even negative.

Talk to the developers which tasks they could give away with little effort, so the just explain it quickly, let the freelancer work and maybe answer some questions. Then make an estimate how long it takes to finish those tasks alone and with the freelancer and then decide.

And just because someone calls himself freelancer doesn't mean he is really an expert, so you add the risk of introducing problems your own people would not create.

Can you invest the money in your people too? Get them eduction in some new technology that makes them more efficient, for example when developing for Apple, they could learn Swift instead of ObjectiveC.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.