Why You Should Make Sure Your Interfaces Keep “Nothing” in Sync Between Systems:
Interfacing data between source and destination systems often presents many challenges. Not only do the business contexts, capabilities, and data models of the source and destination systems have to be rationalized against each other, there are also considerations of data mapping, transformation, and multitudes of business and system process scenarios to be considered. One scenario that can often get overlooked until late in the process is how to keep “nothing” in sync between systems.
I. How is “Nothing” a Problem?
Consider this scenario: a company has a system that produces forecasts for their customers. The forecasts are aggregated by some grouping of customers and sent to a destination system where the forecasts are a key input to some process in that destination system. One particular group of customers has had a forecast historically but recently the company received notice that the last remaining customer in that group has moved on. At this point there is no longer a forecast for that customer group in the source system. That particular forecast is the “nothing” we are worried about – nothing that used to be something.
How will the interface react to this? A worst case is that the interface saw no forecast for that customer group (or didn’t see the customer group at all) and assumed it had nothing to do. This would result in stranded and overstated forecast in the destination system when that destination system should also have nothing.
II. Consider “Nothing” Early On
Many interface efforts start with an unstated and therefore, an un-validated assumption that when “something” exists, such as a non-zero forecast, that “something” will always exist and no (or not enough) consideration is given to what will need to happen if that “something” becomes “nothing”. If the possibility is not included in the use cases up front, the issue could be missed until more real world data is encountered during UAT, or worse, parallel operations.
The solution could be as simple as re-doing a join in a query but could be as significant as a complete redesign because the interface now needs to remember significantly more about the states of data it is sending between systems. What exactly needs to happen to keep “nothing” in sync between systems has many considerations and there is not a one size fits all solution. Regardless of the scale of changes, the earlier that “nothing” is considered in your effort, the better to mitigate the risk of any rework, project delays, and massive cost over-runs.
Grady Byram is a Senior Manager at MidDel Consulting, a System Integrator and Business Consulting company specializing in the Energy industry. We have over a decade long track record of successful project implementations and a client list that is 100% referenceable. For more information, email us at firstname.lastname@example.org or call #952-500-9275.