Hiring an agency vs using in-house resources.

As a team having conversations about new projects every single day, one of the most common dilemmas we work through with clients is whether to hire an agency like Steer73 or use in-house resources.  

We might be biased, but this is something that we have seriously thought through and we genuinely advise against using an agency if the client is better served by in-house resource (no one wins from an ‘ill-fitting’ project!)  

Here is our thinking on the topic:  

Consideration 1: The team

An obvious question to start with is ‘What team is needed to develop a good technology product?’. 

Good is a key differentiator here. You can probably build something as a standalone developer, but will it solve the problem being addressed and, even more important, is it solving the right problem? 

Broadly speaking, we allocate 12 distinct roles to the building of a product. We experience day in and day out that the sum of these roles is far greater than the parts.  

Product director: Responsible for the holistic understanding of the problem, where it sits commercially within an organisation and shaping the nature of the solution we create.

Technical architect: Shapes the fundamentals of the technical solution.

Product manager: The ‘interface’ between commercial requirements and the technical team.

Data scientist/analyst: Provides an understanding of how the product is being used.

User experience design: Covers all aspects of design from usability to user interface, functionality, tone of voice and user flows.

UI designer: Creates the interface, essential for making the product usable.

User interface (CSS) developer: Accurately represents through code what the UI designer has designed.

Front-end developer: Builds the web application or web page that users interact with, optimising for performance.

Back-end developer: Creates the ‘computational logic’ of the system that allows users to accomplish the tasks they need to on the front end.

App developer: Builds the app and understands both application front-end development and how the different operating systems (OSs) behave.

QA tester: Consistent quality assurance. Defining what ‘done’ means and ensuring, throughout the project, that the development is on the right track. This role speeds up projects and ensures their successful rollout upon completion.

Delivery manager: Ensures the right people get the right information when they need it. 

It may seem that you can make a saving by combining some of these roles, but at what cost?

It may seem that you can make a saving by combining some of these roles, for example, couldn’t the front-end developer do the user interface designer’s job? Probably, but at what cost?  

We have certainly experienced the benefits of having a dedicated, expert UI developer who really specialises in CSS. Having dedicated experts for each part of a project has several transformational effects:  

1. Speed: What is effortless for a specialist can take days for someone less experienced. 

2. Quality of solution: An excellent specialist can often create a solution that is many times more effective than one built by a non-specialist. 

3. Cost: With increased speed comes a reduced cost and less time to market. In addition, it is important to keep in mind that the entire purpose of your software is to solve a problem and with excellent quality of work your software is far more likely to deliver a positive ROI. Sunk cost in an unsuccessful project is a situation to be avoided. 

4. Passion of the team: Nothing kills the passion of a team more than fighting with problems that they’re not interested in or expertly qualified to solve. By having a specialist team, each team member knows exactly what needs to be done to deliver your project and they are solving the problems that they feel passionate about.  

Consideration 2: Your core competitive advantage

Closely linked to the topic of a specialist team is the idea of core competitive advantage.  

What are you and your team uniquely good at? For our team it is building technology. If this is the same for your team and you have all the specialists needed in-house AND the opportunity cost of them spending time on this project is lower than the cost of hiring an agency, then you should build in-house. If not, then you should focus on what you are uniquely good at while outsourcing everything else to a team that is uniquely good at building technology.  

Consideration 3: Cross-pollination of ideas

Invention and innovation typically come as a result of the cross-pollination and evolution of ideas, not a shot of genius from a single individual. A high-quality agency, such as Steer73, is a melting pot of ideas related to the latest technology. Our team loves what they do. They spend all day solving diverse issues for varied clients. In their free time they read about technology, they talk about it, they code and they experiment.  

The collective mind of an agency like Steer73 means that great ideas and solutions come to the fore, this just wouldn’t be possible with a small, non-specialist team.  

We are yet to see a project where there hasn’t been a benefit to having a fresh set of eyes on a problem, on code, or on a product.  

Consideration 4: Cost

We have touched upon cost above. The obvious thing to point out is that hiring great people in each of the 12 roles listed above would likely cost more than hiring an agency. But there are other considerations.  

Probably the most important of which is to properly define cost.  

At Steer73 we calculate cost as a function of:  

1. Building the right thing (P) 

2. The time it takes to build (T), and 

3. The daily cost of whoever builds it (if this is you, it should be considered as opportunity cost rather than direct cash cost) (C)

Project cost = PxTxC 

Building the right product (P)If you build the wrong thing, you will need to spend time and money course correcting, or risk the project never seeing a positive ROI.  

Building as efficiently as possible (T): Time affects the cost in absolute terms but there is also elapsed time, i.e., your time to market  

The daily cost of the team building the product (C): When comparing an agency with your internal resource you need to not only consider the salary time to build the product but also the opportunity cost of not spending this time on other things and your reduced focus on other areas of the business.  

Hiring a high-quality agency can significantly help with the first of these two points, P & T. Depending on your internal team, it is also highly likely, when all is considered, that C will be lower when working with an agency. 

Hiring a high quality agency can ensure you build the right thing, in less time and for a lower overall cost.

Consideration 5: Speed

The final consideration we will cover is speed. Once again, there is a lot to be said for having an agency with dedicated resource allocated to your project. How many times have you intended to work on a project only to be drawn away by something critical in another part of your business?  

An agency like Steer73 has well-established processes and structures in place to deliver projects on time and on budget. These processes have been built up over many iterations, working with numerous clients. It would be seriously painful for your internal team to go through this process from scratch!  

However, if you have an in-house team with all the core roles above covered and a lot of spare time coming up, speed is an area where you might be able to build faster internally. But that is a big ‘if’. 

Summary

In most of our conversations with clients, the situations when it is best to go with an internal team are usually confined to a few scenarios:  

1. The client is a tech company and has a great in-house team  

2. The project is very small and requires only minor work 

In most other cases hiring an agency is likely to deliver:

1. Lower overall cost  

2. Higher ROI  

3. A better quality, more robust product  

4. More innovative solutions  

5. Faster build times  

6. More certain timelines