Looking for Software Innovations? Look for Loosely Coupled Integration
ServiceTrade integrates with any other application you might find necessary to run your business through what we call “loosely coupled integration.” What this basically means is that the two (or 3 or 4 or more) applications DO NOT SHARE the same database. Instead, data is synchronized across the applications in a manner that is based upon which application controls that bit of data and which application simply needs the information for reference purposes. As often as the information changes for the “control” application, that is how often the reference value changes for the “reference” application.
The benefit of this approach to integration is that each application, whether 2 or 4 or 10 or more, can evolve with features that make them more valuable to you without a strong dependency on the other applications to evolve their respective data models. As I pointed out in my blog post on Software Communism, central planning by a single government committee does not deliver the innovation and value creation of the free market. The same is true for software applications – the free market chaos of competition and innovation will yield great opportunities for you to improve your operations by using multiple applications that happily work together via “loose coupling” and in most cases application programming interfaces (APIs).
In the “bad old days” of “tight integration” you would spend a fortune for a “certified” integration based upon some logo you saw on your accounting software provider’s website. You would have to shut down operations for a few days or setup an expensive dual environment while some expensive consultant installed software and “re-configured” the database to accept insertions, changes, and deletions from both applications so that both applications operated on the same dataset at all times. Then, after the expense and pain, you never changed it again until you were forced to upgrade one of the applications. Then more expense and pain ensued. Then no more innovation and no more operational improvements for another 5 or 6 years, and then pain again – a miserable existence that takes years off your life each time you want to receive new features or functions.
It is not acceptable anymore to deal with this pain and this lack of innovation. Modern Software as a Service (SaaS) application providers deliver new features on a weekly basis with ZERO PAIN. Technology moves fast. Your competition moves fast. Your customers expect fast. Being caught in the slow lane because of a requirement for all applications to share the same database is RIDICULOUS. Loosely coupled integration is how the modern applications work in order to provide the innovation demanded by a modern world.
Here are some examples from integrations we have delivered to our customers here at ServiceTrade:
Customer Account Information – The accounting system should be the master record holder for “who pays my invoices and how do I get them to pay me.” ServiceTrade needs this information for reference, so each time the accounting system updates a record, a file is fired to ServiceTrade via the APIs to update that record – typically within 2 seconds.
Location Service Information – The customer service application, ServiceTrade, should be the master record holder for “how do we deliver great customer service at this location.” The accounting system does not need to know that the alarm code is 987876 and “never send Shawn because they do not like him.” The accounting system does not even need to know this type information for reference purposes. However, when a service is delivered, the accounting system needs to know what “items” were consumed/delivered in order to process the invoice and calculate Cost of Goods Sold (COGS) and Revenue, and also to update inventory. In this case, ServiceTrade sends a file to the accounting system indicating “Job Complete/Invoice Ready” with all the details necessary to invoice the customer and calculate Revenue, COGS, Gross Margin, etc. Typically this synchronization happens every couple of minutes to once an hour, depending on the needs of the customer.
In both of these examples, there is absolutely no reason for both applications to operate on a single dataset simultaneously. I could give hundreds more similar examples, and the lesson is the same. It is also practical if you think about it. Who hires accountants to deliver technical services in the field? Who hires technicians to be their accountant? Why would you expect your accounting system to be good at customer service management? Why would you expect your customer service management system to be a good accounting system? Let each deliver its own value and insist that they cooperate – exactly as you insist the various members of your management team cooperate. They do not each need to know everything the other knows or does – only what is necessary for effective operations across both functions. Assuming that they all share the same “brain” (i.e. the database) is crazy. Their brains are different so that they can be good at what they do.
At ServiceTrade, we happily use Salesforce.com, Marketo, Google Apps, Intercom, and a handful of other applications. They all work together flawlessly using this concept of loosely coupled integration via APIs. We never once looked for a logo on a site to determine what application might have “tight integration” because we knew with great SaaS software the integration would certainly be there and it would certainly meet our needs. You should buy the application that suites your needs and is the best application for the functions it serves. Integration should be cheap and easy. If it is not, then you bought the bad stuff. Spin the purchasing wheel again until it lands on the good stuff.