The power of integrating your systems

The first thing that I always hear from businesses is that they do not have integrated systems because of COST and the the effect of resource consumption. The biggest resource consumption that you can save on is your employees time. To be able to put an end to swivel chair technology in your business will not only save you time and money, but will ensure that one of your business most important asset (your business data) is kept valid and clean. Your business should be driving to get all your systems integrated as much as possible to leverage the existing processes, people, technology and information that you have. Security is another another important factor why system integration is important to businesses. If your business uses many systems in its day to day operations then integrating those systems should be at the top of your IT’s implementation goals.

What integrating your business systems can mean to you:

  • Better Management of Information: If your systems are not integrated it is impossible to get a complete picture of how your business is doing. When you have several systems that you are inputting data, some of those systems will be out of sync for longer periods of time especially during high traffic times of sales or as your business starts really to scale up. So what that means different managers in different departments that are using different systems are not seeing the same picture.
  • Higher Productivity: Dealing with many different standalone systems can consume time and with employees manually entering data into these systems (swivel chair tech) that is time be wasted when those employees can be redirected to higher priorities. Not only is this type of process time consuming but has the potential of creating bad data as employee can enter different information in each system. The scalability and expansion that system integration can give your business for growth can be achieved without adding more employees, so what does that mean. Well that means as your business increase so does your profitability.
  • Cost Savings: The return on investment (ROI) that you will see not having to manage the data input for multiple systems will be seen extremely fast, what you will also notice is that you data will be cleaner and all the different different departments will be seeing the same picture at the same time.
  • Greater Customer Satisfaction: Having multiple systems that are not integrated can mean that it can take extra time to fulfill your clients orders as well as respond to their enquiries or complaints. Nothing can increase customer satisfaction more like real time data flow between your systems.
  • Improved Security: Most businesses deal with some type of sensitive information that requires protection. By integrating your systems, you can easily build in the security tools necessary to prevent access by unauthorized users. Integrated systems will also help your business keep access to other systems to only the employees that need it, lowering the potential of issues and security threats.
  • If you are one of those businesses that is thinking can I really afford to integrate my systems, think about it this way can you really afford not to integrate. Integrating systems does not have to be done all at once, it can be a phased approach keeping cost a little more spread out while seeing the benefits and savings sooner.

    Middleware versus custom code

    I have been asked many times in my career about my thoughts around using middleware versus writing custom code to integrate systems that need to communicate with each other. My thoughts have changed over the years as my experience has grown significantly. There are  a lot of challenges that need to be thought about and considered when you are making a decision between middleware or writing custom code and what is best solution for your situation.

    With whatever solution you go with, the solution will have to govern or handle the following areas.

    Internal Applications or SaaS that have changing API’s: A lot of the applications that you might be using have APIs available to allow other applications to integrate with them. These APIs can change with new releases of the application as a company enhances their software to accommodate new functionality and features. If you decide to write custom code to handle the integration you will need to get skilled programmers who will then have to get a firm understanding on how the API works (transaction rules, capabilities, schema, authentication, etc) for each application, after each new revision or deployment. If you are using middleware the configuration of the integration process can be changed easily and quickly when APIs change.

    Handling business process changes: As a company grows business process will most likely change. These changes can include new or different business rules, data transformations, and business logic. With constant changes to the business and if you choose to write custom code, that code can grow to become unmanageable. With the use of middleware all changes are done through a graphical user interface which includes connections, transformations, business rules, flow logic, and data mappings. Most if not all these changes are done without writing any code.

    Monitoring: More complex integrations require the integration between the systems to be monitored. If you have choose to do the system integration with custom code the developers will need to write all the monitoring and error handling code which can take a significant time to write possibly pushing your project longer then expected. With most middleware solutions monitoring, error handling, and logging is implemented with some point and clicks and an update to the configuration file.

    Optimizing Processes: Most API’s have stipulations within them to help manage the integrity and performance of the application. These stipulations can add to the complexity of the integrations by restricting the amount that can be sent or received in each call, required authentication, how many times you can make the call to just name a few. With just some of the stipulations that I have name, the complexity of the custom code goes way up and a significant amount of code must be written and tested to handle them. Middleware usually contains functionality (tested functionality) to handle these stipulations and makes sure all the processes are optimized and the data is delivered faster.

    My Conclusion: I have built many middleware solutions in my career and the codebase at times was very large depending on the complexity of the integrations. Within each project the business owner always thought that integration should be easy by saying “Hey you are just moving data from one point to another point”. I can tell you that is usually not the case at all. Based on my experience using a middleware solution is usually the most cost effective solution to go with in delivering a speedy ROI back to the business. Most if not all the functionality is already been developed and tested thoroughly so there is no need to reinvent functionality that has already existed.

    Single Source of Truth (Business Intelligence Solution)

    I define business intelligence as a set of technologies, software and methodologies that collect, integrate or gather business information for the presentation of business information. In a book that I am writing, I will touch on everything that I believe is important for building out a highly functional business intelligence solution. From identifying data silos and pushing those data silos to the warehouse. The book will not stop there, I  will show you why and how to build out a complete solution to include the importance of a data governance committee. A business intelligence solution can show you what the future could hold once your solution is in place.