Not every organization has thought enough about its architecture and data model. As a result, problems can arise in a system implementation. Jaco van Kooten, Senior Application Architect, explains how to do it differently.
Clear image of the existing application landscape
When I go to a new client to make preparations, my first question is: ‘How should the new application be embedded in the current application landscape?’ In practice, it turns out that for many companies, that information is just ‘somewhere’ in the people’s minds. What’s missing is often a proper image of the architectural landscape, what connections there are between different applications and where the new application should be positioned in this whole.
What is the truth?
If this overarching image is lacking, you also often don’t know what kind of company data the system of record – the leading data source – is. Without a clear idea of this, there is a large chance that data is stored in two different locations. Take the simple example of customer data. If that data is not stored in a clear-cut manner, you run the risk of a customer having their address at Dorpsstraat in System X, and still having an old address at Hoofdstraat in System Y. That’s not only sloppy; it’s also prone to errors. You can prevent this by having one leading data source, one truth: the system of record.
Data in order
Working with a canonical data model ensures that all applications speak the same ‘language’. A canonical data model is a company-wide data model that describes what certain entities or business units look like, independent of any application. Take the customer data again, for example. What does that customer data look like and what information does it contain? If you’ve thought enough about your architecture and data model, it can strongly simplify and accelerate the implementation of a new application.
If you do not yet – entirely – have a clear architecture and data model, then first talk to an architect to get an idea of what you need. A relatively small investment beforehand that will more than pay off in the end. If you do not, you’ll be left with a spaghetti of applications and links that all have to be maintained separately.