Lately I’ve been involved in a project for charging of banking fees at a major Swedish bank. My role here has been architect and system analyst. The project is about introducing a new charging solution in the system landscape as well as to sunset an old solution.
As with all large corporations, the system landscape is complex and contains lots of systems. There is one system that deals with customer data and our system has to interface to that to get customer information. The other system is the master for customer data across the whole business.
Now, there is a need to enrich the customer information that is available in the central system. One example is that we need to store an invoicing address, and there are other examples as well. The invoicing address is not available in the central system today.
So, now we have two options on how to do this:
First, we could augment the central system with the invoicing address information and second we could let our system keep the invoicing address as well as the other examples of information that is needed.
How would you do it?
There are, of course, pros and cons of either approach. The first approach is beneficial since it makes the invoicing address easily available for other systems should they need it. Also, it keeps the customer information together to provide a fuller picture of the customer information in one place. The second approach, however, is more inline with the current solution and it requires much less analysis and development work. It makes the solution for this project simpler and introduces fewer dependencies into our solution.
On a theoretical level, one could say that information that is clearly global across the business should be mastered in the global system and information that is clearly specific and local to one system should live in the local system. Also, one needs a mechanism to link records in the global system with records in the local one.
But this case is not so clear…. Invoicing address, is that local to charging, or is it interesting from other points-of-view as well? The answer is not so clear, more a matter of opinion….