I meet with all types of clients, from enterprise to small business and funded to non-funded startups. A legitimate question is when to outsource or hire in-house. I really tried to be as unbiased as I could to help answer, even though I do run a design and development agency. Obviously there is no single solution for all, so I outlined the pros and cons of both.
When to hire an agency:
- To avoid long-term commitments. This is by far the biggest reason as it mitigates risk. If the tasks at hand will not last more than a year, then it is probably not prudent to hire a W2 employee not knowing if they will have much to do after the project is done. Many projects require a lot of work upfront to get them to a certain level of sustainability. After that, the design and development needs can die down requiring very little maintenance to keep it going. A firm can put a lot of resources in at once and then leave it to you when it’s finished. Hiring in-house employees also brings the commitment to constantly keep them busy, even if the business does not need them.
- When you need technical management. If you do not currently have the resources to interview and evaluate technical employees, then there is no way you will be able to manage them. It’s scary, but I often meet businesses who have no idea if their developers are doing a good job because they do not have the technical ability to evaluate them. We have senior-level people to manage every service we provide. It takes a CTO-level person to manage a development team. So even if you could justify a full-time employee, you need to make sure your first one is top notch to ensure quality work.
- To supplement the abilities where you lack. A common digital product can require iOS development, Android development, UI/UX design, front-end web development, and backend web development. Most often, those are all completely different careers. It might make sense to outsource some of those skills if your team is lacking. It is also uncommon to be able to hire one person who can do everything.
- When you need to start fast. Starting from ground zero can be very difficult and time consuming for an inexperienced team. Hiring an agency can easily be less expensive than trying to piece it all together initially. Agencies often help startups in the early phases as they hire out the positions to scale their product. At larger organizations, it is common for in-house teams to get comfortable and thus take longer to build something new. Agencies are always rapidly paced to meet project deadlines and to keep budgets.
- When you may want to move slow. Sometimes a product does not grow as fast as hoped. It is easy to cut back contract work as needed to match the speed of demand. This allows a business to reduce the risk of hiring too early if they do not know how soon they will need follow on features to scale.
- For maintenance. If necessary project maintenance is infrequent and thus does not need someone full-time, hiring an agency will make sense. They can put in time here and there to maintain your project without requiring continual work.
When to hire in-house:
- To rally behind your vision. When everyone on your team is completely devoted building a product together with a great vision, in-house will be more effective. The core business of a startup should not be outsourced, at least not for long. Startup’s founders should be able to build most of the product themselves, and should stive to hire people to match their enthusiasm as they grow.
- Lower long-term costs. Over time, an agency will have a higher price tag. Their rate is systematically higher to mitigate sporadic projects. If your budget allows to hire a senior level developer/designer (or you have the ability yourself), then it makes sense to build a team around that person since it will cost less. Startups can also give away equity to make up for low capital.
- Team momentum. Especially at startups, once an in-house team is all in on a product, they will continuously be able to build at a rapid pace. Initially building that team can take time, but devoting their time to the market and user will allow them to move quicker.
- Better control and management. In-house teams are in your direct management. They will mold to your culture, speed, level of quality, and vision. You will have better control of each hour spent and how much everything costs.
- Being located in the same place. Hiring your own team means you can work together all the time with no interruptions. That means less email communications, phone calls, etc.
So what is best? Obviously, it depends. If you’re a startup, you should learn to do pretty much all of the work required and outsource only when you or your founding team cannot do it. If you represent a larger business, it makes sense to look for an agency when the project has requirements your team lacks or they don’t have the current capacity.