Question: Today we’re going to tackle a tricky question for the IT department’s management and a thorny one for the business owners: Should you be outsourcing the implementation and maintenance of your ERP and CRM systems? Or: Should you invest in building an internal team which has the knowledge and capability to do this?
Reality: Today, most major ERP and CRM systems release a new version or upgrades once a year, with, sometimes, smaller versions being released several times per year. Technology changes at a fast pace and because of this the consultants and developers need to be constantly trained: there will be at least 2-3 major conferences a year for each system that a professional should attend, several dozen podcasts, several new courses and certified exams and a lot of documentation.
Costs: Consulting companies spend up to 20% of our resources time for the above activities with internal cRoss training and knowledge transfer. The investment, per resource per year can go between 10,000 and 25,000$. Because of the internal cRoss training and knowledge transfer, a consulting company can keep the costs at the lower end of the spectrum. A customer’s IT team would be at the higher end of those numbers.
Specialization: Each system requires particular specializations. The biggest pitfall is when the IT managers consider that if one knows .NET they can do anything. Well, they may be able to create external applications that hook up to the systems and do “anything” but that is not quality work: not only would it take considerably more time than using a system’s functions but it will cost more in the future in maintenance and upgrade.
Lack of specialization: Nowadays, systems come with a lot of functionalities. Since you paid for the said systems, you should be using those functions (eventually with a few tweaks) rather than building a new application. An experienced specialist would know when to build outside the system and when to use the functions provided by the system, while a “generalist” will not have the ability to make the nuance. Furthermore, building outside the system requires personalized knowledge transfer and maintenance down the road: after all it is a unique solution that you are creating. Finally, upgrading the system will cost you more, in some cases a lot more, depending on the quality of the custom work, I mean the quality of integration with the system and not the quality of the programming.
To make things more complicated, you also have to consider change management in the IT team. A good developer will always take pride in his work and it is not rare that he develops a negative bias toward the standard system due to a lack of specialization. It is easy in this context to become defensive when challenged. So now, you have a change management problem not only for the various business department’s management and users but for the IT department as well.
Customizations: So, why would you create new functionalities and build new applications? Just avoid doing that and you’re good, right? Well, if you are not adding things to the system then you don’t need developers and if you just do it intermittently, they will lose the knowledge. To make matters worse, each company has a structure and generally the IT department is there to support and serve the other departments. This means that they are not in charge of the fate of the system – the business owners are! They will come and ask for (perceived) new features and as per its purpose, the IT guys will take the order, generally without a full understanding of the system and its original implementation documentation. There will be no challenge to the users, no questioning of the purpose in the big picture: this is not the programmer’s job.
An external consultant, not only would be sensitive to the whole system functionality but, unbiased by the system’s history, will challenge your users. Relying on best practices and experience, he or she will challenge your business workflow, the changes of your business workflow and the user’s understanding of your business workflow.. His or her job is present you with the most optimal options while considering cost and business impacts.
Staff: Why wouldn’t you hire the best and the brightest of specialists internally, so you will have the best work done at a low hourly rate? The first thing is that, if you create a position, you need to pay that person whether you have something for him to do or not. You cannot just ask your IT employees to take a few weeks break because the other departments are busy and cannot continue the project at this time. You have this flexibility with a specialized company – you’ll review the project timeline and they will just shift their resources to other customers for the period. We do that all the time.
Good specialists (business consultants and developers) are seasoned professionals very much like performance athlete, let’s say a marathon runner with many and often sprint periods. They will require a competitive environment that will challenge them, best learning tools and opportunities and the latest technology. The most that you can offer is a system that is probably already outdated, it won’t be upgraded soon, where they will work alone and without access to the best learning options.
My personal opinion is that a professional should be involved, on average, in at least 5 new implementations (or upgrades) in a given year, takes at least one certification and attends several internal or external training sessions and webinars.
You: Your decisions affect your company on a short, medium and long term. In order to make the best decision you need to be well informed. Don’t hesitate to ask for help in order to get a professional, unbiased opinion on the matter. firstname.lastname@example.org