Systems integration is an increasingly utilized process that companies are realising the value of within their business. The process involves taking disparate systems are making them all work together as a whole.
Take, for instance, if your company has a sales arm. All the sales contact data will lie within a CRM, let’s say Salesforce - since it’s the major player in the CRM game. What if you wanted to grab all your active customers and auto-enrol them in your brand new loyalty program software? How would you do that? A data dump? Excel files? Manually copying and pasting?
We are seeing a big upswing in systems interoperability from a commercial software standpoint. If you want to build a product that integrates with Salesforce, you can do so via their open API, creating coding blocks to link up the two. If you already have your own in-house software, you can either build (code) your “calls” directly into your software, or develop an API for it to talk to Salesforce and other software products you may like to integrate with.
Apps like Zapier even do the heavy lifting for you; they’ve built their own code snippets that allow you send, sync, and transform data between commercial software products. For instance, you can grab every new lead entered into Salesforce and send a message to Slack with the lead information.
Is a solid plan! So let’s check out the steps involved to make sure that everything goes smoothly when you’re building your systems lego masterpiece.
To be able to successfully integrate disparate software products, you need to know what is available from a data flow perspective. For some products, there will be an API or data file outputs, which might be the only means of connecting up other systems. For software that you’ve built in-house, or open source software, you can alter the code to progress data flows as you please.
What are all the tasks you want to achieve by linking up these systems? Can you think of other tasks that “might be nice to have” later down the track? Keep a list of the systems that you wish to link up, as well as which tasks you’d like to operate between which systems, the direction of flow of data, and whether triggers or synching will be used. Together with this list, and your current software interfaces, your systems integrator will be able to let you know which parts are achievable - and which may be hard work or impossible.
This part will involve documentation of everything required to integrate the two or more systems together. It may involve documents like data flow diagrams, software version requirements, hardware requirements, and more. Here it should note the data type inputs, whether the data itself needs to be transformed, and the data type outputs, to connect systems.
This step of the process involves actually building out what is necessary to perform the tasks required for systems integration. This may be updating versions, purchasing and hooking up new hardware, and coding up data flows between systems. Testing should be an integral part of this process, although not on live systems! End-to-end testing, as it becomes available, needs to be conducted.
For critical systems, it’s not wise to have go-live across your systems all at once. You may try go-live across groups, or during quieter times, to ensure that you don’t cause yourself too many headaches at once. There will likely be problems when you release on your actual systems - which is why you do it this way.
Once all the bugs are ironed out, testing is complete, and you’ve trialled the systems on a smaller scale, verifying they work as planned, then you can actually go-live with your entire, integrated system.
Always plan to have ongoing maintenance and support after your go-live date. Even though you’ve trialled the systems with a smaller sample size, you will likely require support and fixes from your systems integrator for the first little while after your go-live date - and this may be over an extended period on larger or more complex projects.
If you are conducting systems integration, then it’s important to pick a knowledgeable partner to help you build reliable systems on time that work as expected and provide extra support when you need it most!
When choosing a systems integration partner, look to those who have completed similar implementations for other companies, with a good reputation. You can generally tell who will end up being a good partner, as they come across knowledgeable, helpful, practical, and with a pocketful of suggestions that can aid in your systems integration journey.
If you would like to see how your systems can better communicate, either with commercial products you have purchased along the way (or via subscription services), or with systems you have developed for in house use, then ask us to step in with the roadmap.
CodeFirst takes a structured approach to systems integration to ensure the process runs smoothly, to dependable timeframes, and within reasonable budgets. You can depend on us to deliver bespoke solutions that help your business become more efficient - like a well oiled machine.