CRM System - Build in-house or Outsource?

John Eccles, 15 March 2021

Best of both

How to develop a CRM system is NOT a binary choice between in-house vs out-source. Rather it should be viewed as a continuum between fully designed, developed and supported with in-house staff (permanent and contractors) at one extreme and fully outsourced to a partner on the other. At Magnetism, a specialist CRM system partner, we’ve been involved in projects across that continuum – although obviously not at the fully in-house end. I will share some thoughts on how you can find the sweet spot on the continuum.

Reasons for in-house development

1. The system will be a key part of enabling your strategic advantage.

2. You have the specialised talent available.

3. You want full visibility and control over the project.

4. You want a fully dedicated team.

5. You want lower hourly costs for project time.

Reasons for out-sourced development

1. You want to focus on your core business – which isn’t software development.

2. You don’t have the skilled resources in-house.

3. You don’t want to assemble a team who will not have worked together.

4. You don’t have sufficient experience with CRM projects.

5. You want to minimise the risks.

Relative costs

It does NOT follow that less expensive in-house resources (including contractors) will result in a less expensive project. You must factor in the relative efficiency of an in-house team vs an outsourced team. Experienced team members are more efficient because of the learning curve effect. Experienced teams are more efficient as they know what to do and how to work together.

The difference between experienced and not experienced is probably bigger than you think! I learned this about eight years ago. A local company (who shall remain nameless) asked Magnetism to provide CRM development support to their in-house team. They had a programme of work that they expected would take around 4 weeks of effort for a developer. We provided an intermediate level developer who completed the work comfortably in only three days!

The middle-ground

I will illustrate the range of options between the two extremes by way of examples:

1. In-house development with outsourced input

A Magnetism client of many years has taken the decision to do more of the system development in-house. The CRM system is integral to the organisation’s operations and tied closely to its strategic direction. This organisation has a strong IT team with experienced and successful IT management.

They have not cut ties with Magnetism. Magnetism provides regular input to the organisation’s CRM roadmap and Magnetism provides specialist CRM developers who work alongside the client’s team. As well as a highly efficient resource, the client benefits from Magnetism’s up-to-date know-how about short-cuts and the best way to approach a particular problem. We have already seen many successful projects undertaken in this way and the client is very happy with how it is working.

2. Shared development

Another client had a strong business analysis team and testing team, but not specialised CRM developers. So rather than Magnetism doing workshops and the analysis to determine the detailed functional requirements, this was done by the client’s team. Likewise, the client took on some of the system testing.

To be frank, the results were mixed. The analysis took longer because the client business analysts, who were highly skilled in their field, were not CRM specialists. They did not understand the limitations of the CRM technology and the most efficient ways to use the system. This resulted in additional work to gather necessary details and re-set user expectations. It also meant extra work at the design stage. The system was completed successfully, but later than originally expected.

3. Out-sourced with more client participation

There is a level of client participation required for any successful out-sourced CRM project. The client should provide a project manager to be the contact person and to coordinate client staff. Key users and managers need to be available for workshops to uncover the detailed requirements. Key users need to be mobilised to try out the developed system (user acceptance testing) prior to go-live. All users will need to be gathered for system training prior to go-live.

But more participation is possible, and often desirable.

Yet another Magnetism client has used this approach successfully. At the outset of the initial project to develop a new CRM cloud system, the client nominated two people with an IT support background to be involved in the project. During the first project, these people were involved in many of the project meetings. They were trained as system administrators and also attended our CRM customisation and configuration course. Later they were involved in a training course we ran for the client that was customised to their system. Those people are now very competent to provide internal support for the client’s users and to make changes to the system. Recently, they have worked alongside Magnetism developers on system enhancements.


The right approach to CRM system development is not a binary “make or buy” decision. The best approach is likely to be somewhere between these two extremes.