Improving the quality and efficiency of your business-critical systems doesn’t always have to require completely rebuilding systems. Opting instead for a systems integration approach can reduce operational silos and deliver results without a major overhaul.
However, making the correct decisions in how to successfully integrate systems is pivotal to the project. According to Gartner, 90% of organisations still lack an application integration strategy and will continue to do so throughout the year. Choose the best integration practices and you’ll have a seamless end product, but choose the wrong approach and it could severely impact your project’s outcomes and the overall costs.
Here we look at our system integration practices to ensure that you maximise the potential of your existing software infrastructure without any drawbacks.
1. Map your process flows
Just like when you undertake any work relating to software development, analysis is a key aspect of a successful integration project. With this analysis, you can gain a greater understanding of what integration is and the impact it will have on your systems. This will inform whether your integration project will involve the replication of any data or cause any crossovers in your operating systems.
Real-time distributed transactional systems with message queues are considerably more powerful than replicating data between systems. But with this additional power comes complexity, so the need for a much greater level of analysis firstly, within each system, and secondly, between the systems being integrated, is key to understanding and aiding a successful integration.
Businesses need to focus on deviations from standard processes, known as unhappy paths, when analysing and defining integration requirements in order to gain a successful, future-proof outcome. It is essential to plan to prevent erroneous data from being inputted that disrupts the chronological events of a process. Analysis is needed to scrutinise existing processes and how they manage data when defining paths in order for success. An advantage of an agile approach is the flexibility given to adapt to newly defined unhappy paths as they are uncovered throughout the process, as opposed to documenting all potential unhappy paths prior to kick-off as part of a fixed scope.
2. Research off-the-shelf product APIs
At the core of an integration project remains the need for accessible API’s to access the data of, and integrate with, other products. Make sure you research API capabilities where they are currently in use. For example, if you are looking to integrate with an off-the-shelf package and an API does not exist, the software provider themselves would need to develop one for you to be able to access their system.
Make sure you also understand any API restrictions of each product involved in your software integration project. For example, is there a limit to the number of calls your customer service tool can handle per day, or are there any licencing implications accessing differing aspects of a software package when integrating?
Further to this, when using third party APIs, it is important to consider how often updates will take place, their size and whether these events will have an effect on your solution.
3. Avoid database level integration
For a successful integration project, integrate workflows not data flows. Choosing to integrate at a database level can potentially bypass a significant amount of business logic and data validation, which could have a detrimental impact upon the systems integration.
Database level integration can create havoc when updating your records and files, causing a major impact on the applications running on this database. There can also be issues when reading the data, where the records may be altered within an application. This mapping information must then also be maintained by the integration layer, so avoiding database level amalgamation is key.
It’s worth remembering too that an application programming interface (API) is a contract. When a new version of a system is released, all endeavours will be made to support existing interfaces. This may not be the case with the database structure, so any new software releases could result in failure, or the undetected issue could hamper the performance of the integrated software.
4. Minimise data duplication
The overarching aim of your systems integration project is to ensure more efficient and effective working processes. You need your integrated systems to hold data individually, and avoid having data residing on various systems.
Where possible, to prevent data duplication, only enable updates on one of your systems, then simply roll out the changes – rather than having the laborious job of individual updates. Having multiple integrated systems responsible for maintaining the same data entity can lead to undesirable race conditions and will cause more potential issues when auditing. Keep it separate to keep it simple.
5. Modular releases
When you’re looking to roll out the releases of your project, take a staged approach to reduce risk. This way, you can begin to build a working concept and model with some of or parts of your systems, rather than opting for one large release at the end of the system integration project.
Delivering the work in stages may not always be a feasible option, but opting for this methodology, alongside using proof of concepts, prototypes, minimum viable products, and beta releases can help introduce functionality to the end users as soon as possible.
Make sure you have a successful integration project by following these best practices and maximise the potential of your business-critical systems.
Whether you’re looking to start an integration project or looking for more information on the best approaches to take, get in touch. We have experience working on integration projects covering CRM, ERP and finance systems, including enterprise platforms such as COINS, Salesforce and SAP, as well as incorporating offline data sources such as Excel documents and paper based processes.
Find out more about how Audacia delivers system integration over on our service page.