Comparisons are easier to absorb when made between two. I should apologies for doing it with three. It seemed imperative while writing this to give a more holistic sense of which one to go for. For a larger part of this post, I'll bucket freelancers and agencies together for convenience.
Scope of work
Never hire a team someone for short-term work. Sounds simple right? Most first-time founders make this mistake. Once the work is done, you'll realize they don't fit into other parts of your plan. Most people make the follow-up mistake here to make it worse - keep people around hoping they will learn over time. When you are just starting something, do you really have the patience for it?
If you're gonna hire, do it for the long-term fitment. Possibly, after you're certain you are ready to commit first.
Freelancers are handy when the scope of work is minimal and you don't want to burn a hole through your pockets. In general, freelancers tend to perform best when hired for a specialised task. They are highly enthusiastic, relieving you of the burden on keeping them motivated.
Agencies are more suited for moderately hefty end-to-end projects. They bring a team that has worked together before and you don't have worry about bridging gap between multiple teams. They are good at communicating updates without constant nudges from you.
Getting things done
Unless your hires are rockstars, your internal team will need some time to catchup. Finding great talent and getting them to commit is a pain all founders go through. Even if you do find them, their efforts compound over time. They gain context that helps scale the product further.
Both freelancers and agencies have the experience of having been there and done that. By nature, they will be quicker to execute, and offer alternatives when something does not fit.
Agencies have an added advantage. The good ones come with a project manager who'd lay the roadmap for execution and stick to an agreed timeline (well, most of the times).
With the right hire, an internal hire wins this hands down. They will go above-and-beyond to do the right thing.
For freelancers, there’s simply no need, they usually don’t seek long-term relations with their clients. In effect, when something goes wrong, a freelancer can just give up and – puff! – they are gone.
Agencies have a name to keep. A brand image to live upto. They will ideally discuss retainer terms with you but when something does go wrong, it will seem worth the buck.
Cost of hire
Internal hires are recurring cost. They cost you regardless of the outcome of work. You pay them to be around and trust they know what they are doing. In most cases, they do know what they are doing. On the flip side, very few founders can claim to have not made bad hires and eventually having to fire them.
Cost of managing and running a team is something you should consider too.
Freelancer are often one-time task based cost. You pay for what you want. You don't have to commit of keeping them around while you figure other parts of your business.
Agencies are expensive. Better suited when you want more accountability and end-to-end offerings. Consider the hassle you have to go through hiring multiple freelancers and get them to work together. In fact, in most cases, the outcome barely justifies the cost with multiple freelancers.
To be honest, for every argument, there are a few equally opposing and reasonable arguments. The goal of this post is to make you aware of what are the pro and cons of each choice.
Not sure which choice to go with? I run a tech agency that can help. Our discovery process is free and founder friendly. Drop us a note (firstname.lastname@example.org) and someone from our team will reach out shortly.