June 14, 2012, 1:03 PM — In distributed business systems, we have the messiest of plot complications-there's no source of truth for who all our customers are. Accounting has one version, distribution may have another and CRM may have a third. This problem multiplies with international divisions, global customers, and business units that were the result of mergers and acquisitions.
The more distributed your systems are, the more likely you have this problem. I have one client that is endlessly creating hundreds of dupe account records every day because it has more than 75 systems, each of which thinks it owns the definition of accounts.
If you are lucky enough to already have an ESB and customer master database, and everyone's already using them, congratulations. The other 99.9% of you should read on.
Deus Ex Machina: A Loosely Coupled Solution to Loosely Coupled Data
The problem comes from loosely coupled systems. However, the solution strategy can come from the ultimate loosely coupled system-cloud computing. Let me explain.
Analysis: CRM Systems: Unite or Die?
If business rules (and politics) support it, you could create a customer master database as a cloud service. The process of setting up that service isn't that much different from the good old days of database; after all, you're just using a more ubiquitous set of protocols. Remember, traditional customer masters typically become boil-the-ocean projects for political and data quality reasons, not because of technical issues.
A different approach is to choose a cloud application, rather than a centralized database, to be responsible for the customer master. The knee-jerk choice for that central (cloud) application is accounting. While that system will typically have very good data quality, let's not jump to a conclusion just yet.
For an application to be a suitable customer master repository, its infrastructure must: